【问题标题】:Read from VisualFoxPro .DBF remote location从 VisualFoxPro .DBF 远程位置读取
【发布时间】:2015-07-07 12:03:27
【问题描述】:

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

我的连接字符串:

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

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

我得到错误:

错误:Sys.Net.WebServiceFailedException:服务器方法“MethodName”失败,出现以下错误:System.Data.OleDb.OleDbException-- 路径或文件名无效。

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

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

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

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

谢谢。

【问题讨论】:

    标签: asp.net .net connection dbf visual-foxpro


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢您的回复。你的回答对我帮助很大。我将 ApplicationPool Identity 设置为有权访问远程目录的用户,它工作正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-30
    • 1970-01-01
    • 2012-02-10
    • 2023-04-01
    相关资源
    最近更新 更多