ODBC:无法通过网络UNC路径读取DBF



长话短说,我需要通过powershell从网络上多个共享位置的旧DBF文件中提取数据。我用[System.Data.Odbc]打开它们没有问题(无需安装Jet OLEDB驱动程序),但查询有一个小问题。

(1) 这是有效的(在查询中指定本地路径):

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

(2) 这也适用(在ConnString中指定UNC路径):

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

(3) 然而,这种组合不起作用(查询中的UNC路径):

ConnectionString = "Driver=..."
Query = "SELECT * FROM \networkfolderTest.dbf"
#ERROR [42000] [Microsoft][ODBC dBase Driver] Syntax error in FROM clause."

(3) 是我的首选方法,因为文件列表将采用\uncfile.dbf格式。这个脚本最终将由其他一些非技术人员维护,所以我试图让事情尽可能简单(没有路径分割和连接字符串的多次重建)。

我找不到任何地方特别禁止(3);有人能告诉我这是否可以实现吗?谢谢

UNC路径\\network\文件夹可以映射为网络驱动器。

例如:\\network\folder作为驱动器X:

ConnectionString = "Driver=..."
Query = "SELECT * FROM X:Test.dbf"

https://www.laptopmag.com/articles/map-network-drive-windows-10

最新更新