数据库的连接

本文详细介绍如何使用OleDbConnection、SqlConnection、OdbcConnection及OracleConnection对象连接各种数据库,包括Access、Excel、SQL Server和Oracle等,并提供了ASP.NET项目中配置数据库连接的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、使用OleDbConnection对象连接OLEDB数据源

1.连接Access 数据库

Access 2000:“provider=Microsoft.Jet.Oledb.3.5;Data Source=Access文件路径”

Access 2003:“provider=Microsoft.Jet.Oledb.4.0;Data Source=Access文件路径”

Access 2007:“provider=Microsoft.Ace.Oledb.12.0;Data Source=Access文件路径”

备注:Access数据库只提供两个连接属性provider(数据提供程序)和datasource(数据源);

Access2000\2003的文件格式是“.mdb”,,Access2007的文件格式是“.accdb”;

Access的数据提供程序版本是向下兼容的,在Win7下测试使用Microsoft.Jet.OLEDB.3.5提示“未在本地计算机上注册“Microsoft.Jet.OLEDB.3.5”提供程序。”,改用Microsoft.Jet.OLEDB.4.0或者Microsoft.Ace.OLEDB12.0完全可以访问Access2000的数据库文件。当然也可以尝试使用微软提供的MDAC来修改provider的版本。

2.连接Excel数据库

Excel 2003:“provider=Microsoft.Jet.OLEDB.4.0;Data Source=Access文件路径;extendedproperties=excel 8.0”

Excel 2007:“provider=Microsoft.Ace.OLEDB.12.0;Data Source=Access文件路径;extendedproperties=excel 12.0”

备注:在代码中引用工作表时,应将表名表示为“[工作表名$]”,遇到字段为数据库保留关键字时,给该字段名加上[]以示区别,如定义select语句时:string connStr=”select * from [login$] where username=’abc’ and[password]=’abc123’ ”;

如果在数据表中用数字作为文本类型数据时,则应在数字前加单引号将默认的数值强行设定为文本类型。

3.连接SQLServer数据库

provider=SQLOLEDB;  DataSource=服务器名;  Initial Catalog=数据库名;  uid=用户;  pwd=密码 

 

二、使用SqlConnection对象连接SQLServer数据库

声明:以下连接的属性都可以参考“SQL Server数据库连接字符串参数一览表”取它的别名;除了必须设置的属性以外还可以设置其他辅助的属性。如Connect Timeout、Encrypt等

设置数据库文件路径的方法:

1.使用绝对路径:“AttachDbFilename=D:\\Solution1\\Web\\App_Data\\data.mdf”

2.使用服务器相对路径:“AttachDbFilename=”+Server.MapPath(“\\App_Data\\data.mdf”)

3.使用最简单的相对路径:“AttachDbFilename=|DataDirectory|\\data.mdf”

推荐使用第3种方式,“|DataDirectory|”代表ASP.NET项目里自动创建的App_Data文件夹

1.以SQLServer验证模式连接SQLServer

(1)以数据库名连接方式

Server=服务器名; Database=数据库名称;  User ID=用户名;  Password=密码 或者(使用缩写与别名)

Server=服务器名;   InitialCatalog=数据库名称;  Uid=用户;  Pwd=密码 

(2)以数据库文件完整路径连接方式

“Serve=服务器名;AttachDbFilename=数据库文件路径;UserID=用户名;Password=密码”

示例:

Server=.\SQLEXPRESS;Database=DatabaseName; User ID =sa; Password=abc123”  Server=.\SQLEXPRESS;Initial Catalog =DatabaseName; Uid =sa; Pwd=abc123” Server=(local)\SQLEXPRESS; 

AttachDbFilename=D:\\Solution1\\Web\\App_Data\\data.mdf;UserID =sa; Password=abc123” 

备注:密码可以为空。

2.以Windows验证模式连接SQL Server

(1)以数据库名连接方式

Server=服务器名; Database=数据库名称;  Integrated Security=SSPI

 (2)以数据库文件完整路径连接方式

“Serve=服务器名;AttachDbFilename=数据库文件路径;Integrated Security=true”

示例:

Server=服务器名; Database=数据库名称;  Integrated Security=SSPI Server=(local)\SQLEXPRESS;  AttachDbFilename=D:\\Solution1\\Web\\App_Data\\data.mdf;  IntegratedSecurity=true” 备注:SSPI即为true

 

三、使用OdbcConnection对象连接ODBC数据源

“Driver=数据库提供程序名;Server=服务器名;Database=数据库名;Trusted_Connection=yes”

示例:

首先要在计算机管理à数据源à配置好相对应的数据源(选择数据库类型,设置数据库文件路径与相对应的数据库名)

Driver= Microsoft.Jet.OLEDB.4.0; Server=.\SQLEXPRESS;   Database=DatabaseName; Trusted_Connection=yes

 四、使用OracleConnection对象连接Oracle数据库

Data Source=Oracle8i; Integrated Security=yes 

 

五、在ASP.NET项目中的web.config文件里配置数据库连接并在程序代码中获取连接字符串

1.在<connectionStrings>标签里添加连接

<connectionStrings>  <add name="ConnectionName"connectionString="Server=.\SQLEXPRESS;Database=DatabaseName;UserID=sa;Password=abc123"  providerName="System.Data.SqlClient" />   </connectionStrings>或者

<connectionStrings>  <add name="ConnectionName"connectionString="Server=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\data.mdf;IntegratedSecurity=true" providerName="System.Data.SqlClient" />  </connectionStrings> 在程序代码中获取<connectionStrings> 标签里的连接字符串:

引用命名空间:

Using System.Configuration ; string connStr =ConfigurationManager.ConnectionStrings["ConnectionName"].ToString();

 2.在<appSettings>标签里添加连接

<appSettings>  <addkey="ConnectionName"value="Server=.\SQLEXPRESS;Database=DatabaseName;UserID=sa;Password=abc123" />  </appSettings> 或者

<appSettings>  <addkey="ConnectionName"  value="Server=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\data.mdf;IntegratedSecurity=True" />  </appSettings>在程序代码中获取<appSettings> 标签里的连接字符串:

引用命名空间:

Using System.Configuration ; string connStr =ConfigurationManager.AppSettings["ConnectionName"].ToString();

 

这篇转载介绍的比较详细,欢迎提出宝贵建议!

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值