【发布时间】:2016-04-19 00:33:44
【问题描述】:
长话短说,我需要通过 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) 的地方;有人可以告诉我它是否可以实现吗? 谢谢!
【问题讨论】:
标签: powershell odbc dbf unc