简而言之,我需要通过powershell从网络上多个共享位置的旧版DBF文件中提取数据。我没有问题用[System.Data.Odbc]打开它们(避免安装Jet OLEDB驱动程序),但查询有一个小问题。
(1)这有效(在查询中指定本地路径):
ConnectionString = "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;"
Query = "SELECT * FROM C:\folder\Test.dbf"
(2)这也有效(在ConnString中指定UNC路径):
ConnectionString = "Driver=...; Dbq=\\network\folder;"
Query = "SELECT * FROM Test"
(3)然而,这种组合不起作用(查询中的UNC路径):
ConnectionString = "Driver=..."
Query = "SELECT * FROM \\network\folder\Test.dbf"
#ERROR [42000] [Microsoft][ODBC dBase Driver] Syntax error in FROM clause."
(3)是我首选的方法,因为文件列表将采用\\unc\file.dbf
格式。这个脚本最终将由其他一些非技术人员维护,所以我试图让事情变得尽可能简单(没有路径拆分和连接字符串的多次重建)。
我找不到任何特别禁止的地方(3);谁能告诉我它是否可以实现? 谢谢!
答案 0 :(得分:-1)
UNC路径\\ network \文件夹可以映射为网络驱动器。
例如:\\ network \ folder作为驱动器X:
ConnectionString = "Driver=..."
Query = "SELECT * FROM X:\Test.dbf"
https://www.laptopmag.com/articles/map-network-drive-windows-10