Импорт файлов DBF на сервер Sql

Мне нужна небольшая помощь, чтобы понять это, потому что я новичок в хранимых процедурах. Я пытаюсь импортировать таблицу .DBF в Sql Server 2008, используя эту процедуру хранения.

CREATE PROCEDURE spImportDB
-- Add the parameters for the stored procedure here

AS
BEGIN

-- Insert statements for procedure here

 SELECT * into Products
 FROM OPENROWSET('vfpoledb','C:\Users\Admin\Doc\Data\DBF',
 'SELECT * FROM MyTable')

END
GO

Я получаю эту ошибку. Поставщик OLE DB "vfpoledb" не зарегистрирован. Это неправда, я установил его, и он отлично работает в другом моем приложении.

Я также пытался запустить его таким же образом с этим провайдером, но получаю это сообщение об ошибке. Не удается инициализировать объект источника данных поставщика OLE DB «Microsoft.Jet.OLEDB.4.0» для связанного сервера «(null)».

CREATE PROCEDURE spImportDB
-- Add the parameters for the stored procedure here

AS
BEGIN

-- Insert statements for procedure here

 SELECT * into Products
 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','C:\Users\Admin\Doc\Data\DBF',
 'SELECT * FROM MyTable')

END
GO

Как проще всего создать эту хранимую процедуру? Я хочу, чтобы это была хранимая процедура, а не мастер или программа, поэтому, пожалуйста, не давайте мне никаких программ.


person jumbojs    schedule 19.05.2009    source источник


Ответы (3)


Можешь попробовать

SELECT * into SomeTable
FROM OPENROWSET('MSDASQL', 'Driver=Microsoft Visual FoxPro Driver;
SourceDB=\\SomeServer\SomePath\;
SourceType=DBF',
'SELECT * FROM SomeDBF')

из этот предыдущий вопрос

person Eduardo Molteni    schedule 19.05.2009
comment
Я хотел использовать Visual Fox Pro oledb dll, потому что я слышал, что драйвер odbc больше не поддерживается, но он работает. - person jumbojs; 20.05.2009

Я не уверен насчет «дружественного имени» для VFPOLEDB, но второй SP должен работать (т. е. с использованием «Microsoft.Jet.OLEDB.4.0»), если вы указываете на конкретный файл DBF по имени. Похоже, вы указываете на каталог, а не на файл.

Дополнительную информацию можно найти по адресу: http://msdn.microsoft.com/en-us/library/ms190312.aspx

person Michael Todd    schedule 19.05.2009

Для всех, кто ищет ответ на этот вопрос, причиной этой ошибки является установка драйвера Foxpro для «Только я» вместо «Все».

Запустите установщик для «Все», чтобы избежать этой ошибки.

person Molloch    schedule 31.01.2017