2009-05-19 3 views
2

Ich brauche ein wenig Hilfe, um dies herauszufinden, weil ich neu bei gespeicherten Prozeduren bin. Ich versuche, eine .DBF-Tabelle in Sql Server 2008 mit dieser Speicherprozedur zu importieren.DBF-Dateien in Sql-Server importieren

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 

Ich erhalte diesen Fehler. Der OLE DB-Provider "vfpoledb" wurde nicht registriert. Dies ist nicht wahr, ich habe es installiert und es funktioniert gut in meiner anderen Anwendung.

Ich habe auch versucht, es auf diese Weise mit diesem Anbieter auszuführen, aber ich erhalte diese Fehlermeldung Das Datenquellenobjekt des OLE DB-Providers "Microsoft.Jet.OLEDB.4.0" für den Verbindungsserver "(null)" kann nicht initialisiert werden .

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 

Was ist der einfachste Weg, um diese gespeicherte Prozedur zu erstellen? Ich möchte, dass es sich um eine gespeicherte Prozedur handelt, nicht um einen Assistenten oder ein Programm, also bitte geben Sie mir keine Programme.

+0

Mögliches Duplikat von [So importieren Sie eine DBF-Datei in SQL Server] (https://stackoverflow.com/questions/52822/how-to-import-a-dbf-file-in-sql-server) – Jerry

Antwort

3

Sie

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

von this previous question

+0

I Ich wollte die Visual Fox Pro Oledb DLL verwenden, weil ich hörte, dass der Odbc-Treiber nicht mehr unterstützt wurde, aber es funktioniert. – jumbojs

2

Ich bin nicht sicher über den "friendly-name" für VFPOLEDB, aber der zweite SP sollte funktionieren (dh mit 'Microsoft.Jet.OLEDB.4.0'), solange Sie auf eine bestimmte DBF-Datei zeigen namentlich. Es sieht so aus, als ob Sie auf ein Verzeichnis zeigen, nicht auf die eigentliche Datei.

Weitere Informationen finden sich in: http://msdn.microsoft.com/en-us/library/ms190312.aspx

0

Für sonst nach einer Antwort auf diese versuchen können, suchen jemand, ist die Ursache für diesen Fehler bei der Installation der Foxpro-Treiber für "Just Me" statt "Everyone".

Führen Sie das Installationsprogramm für "Jeder" aus, um diesen Fehler zu vermeiden.