在 asp.net 2.0 中连接访问数据库的问题

Posted

技术标签:

【中文标题】在 asp.net 2.0 中连接访问数据库的问题【英文标题】:problem connecting to access database in asp.net 2.0 【发布时间】:2010-08-28 18:15:54 【问题描述】:

您好,我正在尝试从访问数据库中获取数据集

我正在使用这个连接字符串:

<connectionStrings>
    <add name="SiteConnString" connectionString="Data Source=c:\inetpub\vhosts\db\mainDB.mdb" 
         providerName="Microsoft.Jet.OLEDB.4.0" />
</connectionStrings>

这是我对 SqlHelper 的调用:

myDataSet = SqlHelper.ExecuteDataset(connString, CommandType.Text, strSQL);

我得到的错误是:

在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)

【问题讨论】:

只是猜测,但你有 connString 和 SiteConnString。 @Remou:一个是局部变量或类变量,另一个是配置条目的键。不幸的是,这可能不是问题所在。 【参考方案1】:

providerName 属性需要一个 ADO.NET 提供程序类名称。尝试像这样更改您的连接:

<connectionStrings>
    <add name="SiteConnString"
         connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\vhosts\db\mainDB.mdb"
         providerName="System.Data.OleDb" />
</connectionStrings>

连接字符串格式的一个非常方便的参考是http://connectionstrings.com

【讨论】:

我实际上已经尝试过了,但这是我使用此连接字符串时遇到的错误异常详细信息:System.ArgumentException:不支持关键字:'provider'。 @guy - 在这种情况下,SqlHelper 必须是一个设计为仅支持 SQL Server 的类,而“Provider”在连接字符串中确实不合适。您可能会从 System.Data.OleDb 类中获得更好的效果,尤其是它的数据适配器。以下是相关文档和示例的链接:msdn.microsoft.com/en-us/library/…

以上是关于在 asp.net 2.0 中连接访问数据库的问题的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET 2.0中连接字符串的设置

应用程序中断访问 dbcontext、Asp .net 核心 web api 2.0 与实体框架核心 2.0 数据库第一种方法

ASP.NET Core 2.0 中的应用程序变量

以下哪个代码在 ASP.NET 2.0 中性能更好

ASP.Net Core项目在Mac上使用Entity Framework Core 2.0进行迁移可能会遇到的一个问题.

排序时在 ASP.NET 2.0 中的高效自定义分页