通过 c# 连接访问

Posted

技术标签:

【中文标题】通过 c# 连接访问【英文标题】:connect Access via c# 【发布时间】:2009-11-25 09:31:55 【问题描述】:

我需要打开一个到远程访问数据库的连接。 在远程访问数据库的本地环境中运行良好。 当我从生产服务器(其他服务器)运行此应用程序时,它会失败并显示消息

" 它已被其他用户独占打开,或者您需要权限才能查看其数据。 "

我的代码:

   conString =
       @"Provider=Microsoft.JET.OLEDB.4.0;"
     + @"data source=" \\150.248.248.38\d$\TestApp\vending.mdb;Jet OLEDB:Database Password=1234;";

      OleDbConnection connAccess = new OleDbConnection(conString);


    try
    

        connAccess.Open();

        objDiningRoom.Connection = connAccess;

       ....
    
    catch (Exception ex)
    


    
    finally
    
        connAccess.Close();
        connAccess.Dispose();
    

*其他地方没有开 谢谢

【问题讨论】:

您可以访问这台其他服务器吗?如果您在 START | 中键入“\\150.248.248.38\d$\TestApp\”运行并单击确定,它会打开显示目标文件夹的资源管理器窗口吗?如果是这样,您可以右键单击并创建一个新的文本文件吗?如果没有,您有权限问题。我绝对建议不要使用管理共享进行访问——非管理员用户永远无法访问,只有管理员。 【参考方案1】:

这看起来是权限问题。 确保您授予 IUSR 帐户(或任何运行 ASP.NET 的帐户)对您的数据库的读/写权限。

【讨论】:

【参考方案2】:

你可以试试:here 从那里复制:

当您的数据库文件以独占方式打开时通常会发生这种情况 由另一个应用程序(通常是 MS 使用权)。关闭所有 请使用此数据库,然后重试。 如果 Internet Information 使用的帐户可能会出现此错误 服务器(IIS),(通常是IUSR),确实 没有正确的 Windows NT 基于文件的数据库的权限 或包含的文件夹 文件。 检查文件和文件夹的权限。确保您 有能力创造和/或 销毁任何临时文件。 通常会创建临时文件 在与数据库相同的文件夹中, 但该文件也可以在 /Winnt 等其他文件夹。如果 您使用网络路径到 数据库(UNC 或映射驱动器), 检查共享的权限, 文件和文件夹。 检查以确保文件和数据源名称 (DSN) 是 未标记为独占。 简化。使用使用本地驱动器号的系统 DSN。移动 数据库到本地驱动器 if 需要测试。 “其他用户”可能是 Visual InterDev。关闭任何 Visual InterDev 包含数据的项目 连接到数据库。 访问本地 Microsoft Access 时也可能出现此错误 数据库链接到其中的表 表位于 Access 数据库中 网络服务器。在这种情况下, 请参考以下文章 在 Microsoft 知识库中 解决方法:Q189408 PRB:ASP 无法 在 IIS 4.0 下访问网络文件

【讨论】:

以上是关于通过 c# 连接访问的主要内容,如果未能解决你的问题,请参考以下文章

C#访问MySQL:连接查询删除(查删)

C#访问MySQL:连接查询删除(查删)

c# 访问Mysql

通过 C# 应用程序访问 Siemens S7-1200

如何在 C# 中打开访问数据库?

C# - 如何访问 WLAN 信号强度和其他?