在ASP.NET项目开发中,对接不同的数据库是常见需求,Access和SQL Server是两种常用的数据库类型,二者的连接方法存在差异,下面分别介绍具体的实现方式。

一、连接Access数据库
Access是桌面型数据库,ASP.NET连接Access通常使用OleDb驱动,首先需要准备Access数据库文件,比如将数据库文件放在项目的App_Data目录下,方便管理。
1. 配置连接字符串
连接Access的连接字符串需要指定驱动类型和数据库文件路径,示例配置如下,可放在Web.config文件中:
<configuration>
<connectionStrings>
<add name="AccessConn" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|test.mdb" providerName="System.Data.OleDb" />
<!-- 如果是Access 2007及以上版本,使用下面的驱动 -->
<!-- <add name="AccessConn" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|test.accdb" providerName="System.Data.OleDb" /> -->
</connectionStrings>
</configuration>2. 代码实现连接与查询
通过OleDbConnection类建立连接,执行查询操作,示例代码如下:
using System.Data;
using System.Data.OleDb;
using System.Configuration;
public DataTable QueryAccessData(string sql)
{
// 获取连接字符串
string connStr = ConfigurationManager.ConnectionStrings["AccessConn"].ConnectionString;
DataTable dt = new DataTable();
// 使用using自动释放资源
using (OleDbConnection conn = new OleDbConnection(connStr))
{
conn.Open();
OleDbCommand cmd = new OleDbCommand(sql, conn);
OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
adapter.Fill(dt);
}
return dt;
}二、连接SQL Server数据库
SQL Server是服务端数据库,ASP.NET连接SQL Server通常使用SqlClient驱动,支持Windows身份验证和SQL Server身份验证两种方式。
1. 配置连接字符串
同样将连接字符串配置在Web.config中,两种身份验证的示例分别如下:
<configuration>
<connectionStrings>
<!-- Windows身份验证方式 -->
<add name="SqlConn" connectionString="Server=.;Database=TestDB;Integrated Security=True" providerName="System.Data.SqlClient" />
<!-- SQL Server身份验证方式 -->
<!-- <add name="SqlConn" connectionString="Server=.;Database=TestDB;User Id=sa;Password=123456" providerName="System.Data.SqlClient" /> -->
</connectionStrings>
</configuration>2. 代码实现连接与查询
使用SqlConnection类建立连接,示例代码如下:
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public DataTable QuerySqlData(string sql)
{
string connStr = ConfigurationManager.ConnectionStrings["SqlConn"].ConnectionString;
DataTable dt = new DataTable();
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dt);
}
return dt;
}三、注意事项
- Access数据库放在App_Data目录下时,ASP.NET进程需要有对应的读写权限,否则会出现无法访问的错误。
- 连接字符串中的
|DataDirectory|会自动映射到项目的App_Data目录,不需要写绝对路径,方便项目迁移。 - 使用SQL Server身份验证时,要确保SQL Server开启了混合身份验证模式,并且账号密码正确。
- 所有数据库连接使用完毕后要及时关闭,使用using语句可以自动处理资源释放,避免连接泄露。
ASP.NETAccessSQL_Server数据库连接修改时间:2026-05-30 21:52:55