SqlConnection连接到Sql Server

来源:互联网 发布:招商银行外汇期权软件 编辑:程序博客网 时间:2024/04/30 17:38

 当前项目都是以数据库为中心
ADO.NET由两部分组成
使用Connection连接到数据库。
a) 概述
b) 使用SqlConnection连接到Sql Server 数据库
c) 使用OleDbConnection连接到OLE DB 数据库
d) 使用OdbcConnection连接到ODBC 数据库
e) 使用OracleConnection 连接到Oracle数据库
Connection对象的常用属性
Connection对象的四种数据库连接方式
在web.Config文件中定义ConnectionString属性值

Connection对象用于连接数据库,它的常用的属性如下:
 ConnectionString属性:该属性用来获取或设置用于打开SQL Server数据库的连接字符串。最常用的属性
 ConnectionTimeout属性:该属性用来获取在尝试建立连接时所等待的最长时间。
Connection对象的构造函数
无参数构造函数
XXXConnection 对象名=new XXXConnection( )
对象名.ConnectiongString=” 连接字符串的定义  ”;
有参数构造函数
XXXConnection 对象名=new XXXConnection(” 连接字符串的定义  ” )
微软提供了以下四种数据库连接方式:
System.Data.OleDb.OleDbConnection :提供了用于与支持OLE DB协议数据库进行连接的.Net Framework数据提供程序。
System.Data.SqlClient.SqlConnection :提供了用于与SQL Server数据库进行连接的.Net Framework数据提供程序。
System.Data.Odbc.OdbcConnection:提供了用于与支持ODBC协议数据库进行连接的.Net Framework数据提供程序。
System.Data.OracleClient.OracleConnection: 提供了用于与Oracle数据库进行连接的.Net Framework数据提供程序。
在ConnectionString连接字符串里,一般需要指定:
将要连接数据源的种类(Provider参数)
数据库服务器的名称(Server参数或Data Source)
数据库名称(DataBase参数或Initial Catalog)
登录用户名(Uid参数或User ID)
密码(Pwd参数或Password)
等待连接时间(Connect Timeout参数)
安全验证设置(Integrated Security参数)等参数
这些参数之间用分号隔开。
1. Provider参数用来指定要连接数据源的种类。
如果使用的是SQL Server DataProvider,则不需要指定Provider参数,因为SQL Server DataProvider(SqlConnection)已经指定了所要连接的数据源是SQl Server服务器。
如果使用的是OleDB Data Provider(OleDbConnection)或其他连接数据库,则必须指定Provider参数。
2. Server参数用来指定需要连接的数据库服务器
指定连接的数据库服务器是在本地机
Server=(local);
Server=.;    //用“.”表示本地机
Server=localhost;
Server=本地计算机名|IP地址;
若本地数据库定义了实例名,Server参数可以写成:
Server=(local)\实例名。 //用于一台服务器上有多个数据库实例情况
连接远端数据库服务器,Server参数写成:
Server=IP
Server=远程计算机名
Server参数也可以写成Data Source
3. DataBase参数用来指定连接的数据库名
比如DataBase=Master;说明连接的数据库是Master
DataBase参数也可以写成Initial Catalog,如Initial Catalog=Master。

 4. Uid参数用来指定登录数据源的用户名,
也可以写成User ID。
比如Uid=sa;
User ID=sa;说明登录用户名是sa

5. Pwd参数用来指定连接数据源的密码
也可以写成Password。
比如Pwd=123456;
Password=123456;说明登录密码是123456
6. Connect Timeout参数用于指定打开数据库时的最大等待时间,单位是秒
如果不设置此参数,默认是15秒。
如果设置成-1,表示无限期等待,一般不推荐使用。
7. Integrated Security参数用来说明登录到数据源时是否使用SQL Server的集成安全验证。与Uid和Pwd参数是二选一的关系。
取值是True(或SSPI,或Yes):表示登录到SQL Server时使用Windows验证模式,即不需要通过Uid和Pwd这样的方式登录。
取值是False(或No):表示登录SQL Server时使用Uid和Pwd方式登录。
一般来说,使用集成安全验证的登录方式比较安全,因为这种方式不会暴露用户名和密码。
连接到SQL Server数据库
格式:
"Provider=SQLOLEDB; Data   Source=服务器名或IP; Database=数据库名; Integrated   Security=SSPI |uid= ; pwd= ;"  
注意:在oledb数据库连接中Integrated   Security只能等于sspi不能写true
例题:
"Provider=SQLOLEDB.1;Data Source=.;
Database=sales;user id=sa;password=123456";
System.Data.SqlClient.SqlConnection类
专用于连接SQL Server数据库的连接类,不需要Provider
连接字符串的格式:
"Data Source|Server=服务器名或ip;Initial Catalog|Database=数据库名;Integrated Security=True|yes|SSPI|no|false;|user id =; password=;“
这是连接SQL Server数据库最常用的方式
在<appSettings>节中定义数据库连接字符串:
<appSettings><add   key="ConnStr"   value="server=localhost;database=sales;uid=sa;pwd=123456;"></add>
</appSettings>
在程序中引用:
using System.Configuration; //为了使用ConfigurationSettings
string str= ConfigurationSettings.AppSettings["ConnStr"];
SqlConnection conn = new SqlConnection(str);
在<connectionStrings >节中定义:
定义数据库连接字符串:
<connectionStrings> <add name ="ConnStr"
connectionString ="data source=.;initial catalog=sales; integrated security=true" ;providerName ="System.Data.SqlClient"></add></connectionStrings>
其中:providerName ="System.Data.SqlClient" 可省略
在程序中引用:
using System.Configuration;
String str=ConfigurationManager.ConnectionStrings["ConnStr"]
                .ConnectionString;