Importar arquivos de DBF para o SQL Server

votos
2

Eu preciso de um pouco de ajuda descobrir isso porque eu sou novo para procedimentos armazenados. Estou tentando importar uma tabela DBF para o SQL Server 2008 usando este procedimento de armazenamento.

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

Eu recebo este erro. O provedor vfpoledb OLE DB não foi registered.This não é verdade, eu instalei ele e ele funciona muito bem no meu outro aplicativo.

Eu também tentei executá-lo desta forma, com este provedor, mas eu receber essa mensagem de erro Não é possível inicializar o objeto de fonte de dados do provedor OLE DB Microsoft.Jet.OLEDB.4.0 para o servidor vinculado (nulo).

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

Qual é a maneira mais fácil de criar este procedimento armazenado? Eu quero que ele seja um procedimento armazenado não um assistente ou programa então por favor não me dê nenhum programa.

Publicado 19/05/2009 em 17:57
fonte usuário
Em outras línguas...                            


3 respostas

votos
3

Podes tentar

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

a partir dessa pergunta anterior

Respondeu 19/05/2009 em 23:38
fonte usuário

votos
2

Eu não tenho certeza sobre o "amigável-name" para vfpoledb, mas a segunda SP devem trabalhar (ou seja, usando 'Microsoft.Jet.OLEDB.4.0'), desde que você está apontando para um arquivo DBF específica pelo nome. Parece que você está apontando para um diretório, não o arquivo real.

Mais informações podem ser encontradas em: http://msdn.microsoft.com/en-us/library/ms190312.aspx

Respondeu 19/05/2009 em 23:35
fonte usuário

votos
0

Para qualquer outra pessoa à procura de uma resposta para isso, a causa deste erro é instalar o driver FoxPro para "Just Me" em vez de "Todos".

Executar o instalador para "Todos" para evitar este erro.

Respondeu 31/01/2017 em 04:21
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more