c# 数据库连接
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(数据提供程序)和data source(数据源);
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文件路径;extended properties=excel 8.0”
Excel 2007:
“provider=Microsoft.Ace.OLEDB.12.0;Data Source=Access文件路径;extended properties=excel 12.0”
备注:在代码中引用工作表时,应将表名表示为“[工作表名$]”,遇到字段为数据库保留关键字时,给该字段名加上[]以示区别,如定义select 语句时:string connStr=”select * from [login$] where username=’abc’ and [password]=’abc123’ ”;
如果在数据表中用数字作为文本类型数据时,则应在数字前加单引号将默认的数值强行设定为文本类型。
3.连接SQL Server数据库
provider=SQLOLEDB;
Data Source=服务器名;
Initial Catalog=数据库名;
uid=用户;
pwd=密码
二、使用SqlConnection对象连接SQL Server数据库
声明:以下连接的属性都可以参考“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.以SQL Server验证模式连接SQLServer
(1)以数据库名连接方式
Server=服务器名;
Database=数据库名称;
User ID=用户名;
Password=密码 或者(使用缩写与别名)
Server=服务器名;
Initial Catalog=数据库名称;
Uid=用户;
Pwd=密码
(2)以数据库文件完整路径连接方式
“Serve=服务器名;AttachDbFilename=数据库文件路径;User ID=用户名;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;User ID =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; Integrated Security=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;User ID=sa;Password=abc123"
providerName="System.Data.SqlClient" />
</connectionStrings> 或者
<connectionStrings>
<add name="ConnectionName" connectionString="Server=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\data.mdf;Integrated Security=true" providerName="System.Data.SqlClient" />
</connectionStrings> 在程序代码中获取<connectionStrings> 标签里的连接字符串:
引用命名空间:
Using System.Configuration ;
string connStr = ConfigurationManager.ConnectionStrings["ConnectionName"].ToString();
2.在<appSettings>标签里添加连接
<appSettings>
<add key="ConnectionName" value="Server=.\SQLEXPRESS;Database=DatabaseName;User ID=sa;Password=abc123" />
</appSettings> 或者
<appSettings>
<add key="ConnectionName"
value="Server=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\data.mdf;Integrated Security=True" />
</appSettings> 在程序代码中获取<appSettings> 标签里的连接字符串:
引用命名空间:
Using System.Configuration ;
string connStr = ConfigurationManager.AppSettings["ConnectionName"].ToString();