Змінюй хід війни! Допомагай ЗСУ!

вопрос по sql

  • Автор теми Автор теми Sid_Vicious
  • Дата створення Дата створення
Статус: Офлайн
Реєстрація: 04.11.2008
Повідом.: 154
вопрос по sql

Есть такое задание нужно скопировать данные из таблицы .dbf в таблицу SQLserver'a
пишу:
use [Base1];
Insert into table1
SELECT *FROM OPENROWSET('MSDASQL','Driver={Microsoft dBase Driver (*.dbf)};DBQ=D:\denis\1\','Select * from SC33.dbf')

возвращает ошибку:
Ошибка вставки: имя столбца или число предоставленных значений не соответствует определению таблицы.

Вопрос заключается в том как создать таблицу на сервере заранее не зная какие в ней будут поля?. Пустую таблицу без полей сервер создавать отказывается. А полей в таблице .DBF очень много >50
Или может есть какая то возможность скопировать структуру таблицу при создании таблицы на сервере?
 
create table [tablename1 ]as
select * from [tablename2 ]
 
CREATE TABLE table1 AS SELECT *FROM OPENROWSET('MSDASQL','Driver={Microsoft dBase Driver (*.dbf)};DBQ=f:\files\SQL\DBF\','Select * from dt11773.dbf')
отказывается работать
 
Пишет что неправильный синтаксис возле ключевого слова AS
 
*FROM
тут пробел между * и FROM есть?
 
так это вроде как не принципиально
 
ASokol, зря смеёшься.
Сам хотел поржать но сперва всё же проверил.

даже вот так работает
SELECT*FROM [tbl]

проверял на SQL Server Express 2008
 
Пишет что неправильный синтаксис возле ключевого слова AS
значит MS SQL Server не поддерживает такой синтаксис :)
возможно на
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
можно найти другое решение проблемы
 
ASokol, зря смеёшься.
Сам хотел поржать но сперва всё же проверил.

даже вот так работает
SELECT*FROM [tbl]

проверял на SQL Server Express 2008

Запросы нужно нормально писать, а не хукашу. Тогда и проблем меньше будет.

Код:
select *
  from table
 
да никто же не спорит что нормально писать надо

но всё таки извращённый парсер ест и такой вариант
 
Всё решилось путём:
SELECT * INTO table1 FROM OPENROWSET('MSDASQL','Driver={Microsoft dBase Driver (*.dbf)};DBQ=f:\files\SQL\DBF\','Select * from dt11773.dbf')
 
Назад
Зверху Знизу