2016-04-19 32 views
1

lesen Lange Rede kurzer Sinn, ich musste Daten aus Legacy-DBF-Dateien an mehreren freigegebenen Standorten im Netzwerk über Powershell ziehen. Ich habe keine Probleme, sie mit [System.Data.Odbc] zu öffnen (die Notwendigkeit, die Jet OLEDB Treiber zu installieren), aber habe ein kleines Problem mit der Abfrage.ODBC: kann DBF nicht über Netzwerk UNC-Pfad

(1) Dies funktioniert (lokalen Pfad in der Abfrage spezifiziert):

ConnectionString = "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;" 
Query = "SELECT * FROM C:\folder\Test.dbf" 

(2) Dies funktioniert auch (unter Angabe UNC-Pfad im CONNSTRING):

ConnectionString = "Driver=...; Dbq=\\network\folder;" 
Query = "SELECT * FROM Test" 

(3) doch diese Kombination nicht funktioniert (UNC-Pfad in der Abfrage):

ConnectionString = "Driver=..." 
Query = "SELECT * FROM \\network\folder\Test.dbf" 

#ERROR [42000] [Microsoft][ODBC dBase Driver] Syntax error in FROM clause." 

(3) ist meine bevorzugte Methode, da die Dateiliste kommen würde, in dem \\unc\file.dbf Format. Dieses Skript wird schließlich von einigen anderen nichttechnischen Leuten gepflegt werden, also versuche ich, die Dinge so einfach wie möglich zu halten (keine Pfadunterteilung und mehrfache Neuerstellungen der Verbindungszeichenfolge).

Ich konnte nirgends finden, dass spezifisch verbietet (3); kann mir jemand sagen, ob es machbar ist? Danke!

Antwort