从 VisualFoxPro .DBF 远程位置读取

Read from VisualFoxPro .DBF remote location

我在使用 OleDb 连接到远程位置的 DBF 文件时遇到问题。 当我使用本地路径时一切正常。

我的连接字符串:

string path_dbf = @"\server\directory";
OleDbConnection conn = new OleDbConnection(@"Provider=VFPOLEDB.1;Data Source="+path_dbf+";");

我尝试过使用 OleDb 和 Odbc,但是当我使用远程位置时两者都失败了。我也尝试使用 OS 下的映射目录,但它不起作用。

我收到错误:

Error: Sys.Net.WebServiceFailedException: The server method 'MethodName' failed with the following error: System.Data.OleDb.OleDbException-- Invalid path or file name.

我也尝试像这样使用 Odbc DSN:

OdbcConnection conn = new OdbcConnection("dsn=MyDsnName;");

但它不起作用。 MyDsnName 是免费 Table 目录类型,它指向我映射的远程目录。

我不知道任何可能的解决方案。 所以我想问问是否有一些额外的连接字符串选项可以做到这一点,或者我做错了什么。

谢谢。

当 运行 作为网络应用程序时,这可能是一个权限问题。可能类似于 "USR_MACHINE" 的用户可能没有对其他服务器位置的适当权限,因此失败。

要确认这一点,请尝试将您的网站服务更改为 "Run As" 其他拥有权限的用户,例如您自己...如果仍然没有问题,请尝试 运行 .net 作为管理员仅用于确认目的,然后恢复到 USR_MACHINE 帐户。

确认后,您可能想要创建一个稍微受限的用户,以便他们出于安全目的只能访问您希望他们访问的文件夹和功能。