平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“sql server 2008数据库连接字符串大全”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
一、.NET Framework Data Provider for SQL Server
类型:.NET Framework类库
采用:System.Data.SqlClient.SqlConnection
厂商:Microsoft
1.标准安全连接
结合项目来看,采用服务器名\实例名作为连接指定SQL Server实例的数据源。如果你采用的是SQL Server 2008 Express版,实例名为SQLEXPRESS。
2.可替代的标准安全连接
结合项目来看,这条连接字符串跟上一条效果一样。把这条写出来只是想说,其实很多连接字符串的关键字有多种写法。
3.信任连接
可替代的信任连接
4.连接Windows CE设备的信任连接
理解这一步时,通常一台Windows CE设备在一个域里是不能被认证和登录的。为了让一台CE设备采用SSPI或信任连接和认证,能够采用下面的连接字符串:
\myUsername;Password = myPassword;
说明一下,这条语句只能在CE设备上用。
5.采用IP地址的连接
ID = myUsername;Password = myPassword;
落到代码里,这条语句用TCP/IP地址替代了命名管道。在Data Source字段最后的是采用的端口。SQL Server默认采用的端口是1433。
6.开启MARS功能(multiple active result sets)
MARS不兼容ADO.NET 1.0和ADO.NET 1.1。
7.在连接到SQL Server Express实例时附加一个数据库文件
实际处理时,这里为什么还需Database字段呢?因为如果指定的数据库文件已经被附加,那么SQL Server不会再附加它,而采用已附加的数据库作为默认数据库。
8.在连接到SQL Server Express实例时,从数据目录下附加一个数据库文件
9.在本地SQL Server Express实例上采用用户实例
落到代码里,用户实例这个功能会在连接的过程中,新建一个SQL Server实例。该功能只有在本地SQL Server实例上,且连接时采用借助本地命名通道的Windows认证。这样做的好处是,能够给一个在本地计算机上只有相当有限的管理员权限的用户,新建一个拥有全部权限的SQL Server实例。
落到代码里,若想采用用户实例这个功能,需先在SQL Server将其开启。开启命令为:
sp_configure 'user instances enabled', '1'
取消命令为:
sp_configure 'user instances enabled', '0'
注:这两条命令只在SQL Server Express中有效。
10.数据库镜像
结合项目来看,如果你用ADO.NET或者SQL Native Client去连接一个数据库镜像,当这个数据库镜像进行故障切换的时候,你的应用程序能够借助驱动器的特性去自动重定向连接。当然,你必须在连接字段里指定初始的主服务器和数据库,以及用来故障切换的镜像服务器。
Data Source = myServerAddress;Failover Partner = myMirrorServerAddress;Initial Catalog = myDataBase;Integrated
Security = True;
从实现思路看,上面的例子只是介绍了一下如何采用数据库镜像,你能够将Failover Partner字段跟其他连接字符串功能组合采用。
11.异步处理
二、SQL Server Native Client 10.0 OLE DB Provider
类型:OLE DB Provider
采用:Provider=SQLNCLI10
厂商:Microsoft
1.标准安全连接
2.信任连接
实际处理时,"Integrated Security=SSPI" 和 "Trusted_Connection=yes"是等价的。
3.连接一个SQL Server实例
4.用户名、密码提示
oConn.Open "Provider = SQLNCLI10;Server = myServerAddress;DataBase = myDataBase;
5.开启MARS功能 (multiple active result sets)
6.加密模式
7.在连接到SQL Server Express实例时附加一个数据库文件
Trusted_Connection = Yes;
8.在连接到SQL Server Express实例时,从数据目录下附加一个数据库文件
Database = dbname;Trusted_Connection = Yes;
9.数据库镜像
Catalog = myDataBase;Integrated Security = True;
三、.NET Framework Data Provider for OLE DB
类型:.NET Framework Wrapper Class Library
采用:System.Data.OleDb.OleDbConnection
厂商:Microsoft
1.桥接到SQL Native Client OLE DB
四、SQL Server Native Client 10.0 ODBC Driver
类型:ODBC Driver
采用:Driver={SQL Server Native Client 10.0}
厂商:Microsoft
1.标准安全连接
2.信任连接
3.连接一个SQL Server实例
Database = myDataBase;Trusted_Connection = yes;
4.用户名、密码提示
Driver = {SQL Server Native Client 10.0};Server = myServerAddress;Database = myDataBase;
5.开启MARS功能 (multiple active result sets)
MARS_Connection = yes;
6.加密模式
Trusted_Connection = yes;Encrypt = yes;
7.在连接到SQL Server Express实例时附加一个数据库文件
Database = dbname;Trusted_Connection = Yes;
8.在连接到SQL Server Express实例时,从数据目录下附加一个数据库文件
Database=dbname;Trusted_Connection=Yes;
9.数据库镜像
10.0};Server = myServerAddress;Failover_Partner = myMirrorServerAddress;Database = myDataBase; Trusted_Connection = yes;
五、.NET Framework Data Provider for ODBC
类型:.NET Framework Wrapper Class Library
采用:System.Data.Odbc.OdbcConnection
厂商:Microsoft
桥接到SQL Native Client 10.0 ODBC Driver
下面的语句只是一条例子,不同厂商的ODBC驱动不同。
Driver={SQL Server Native Client 10.0};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
六、SQLXML 4.0 OLEDB Provider
类型:OLE DB Provider
采用:Provider=SQLXMLOLEDB.4.0;Data Provider=providername
厂商:Microsoft
Id=myUsername;Password=myPassword;
七、Context Connection
类型:.NET Framework Class Library
采用:
厂商:Microsoft
结合项目来看,借助当前CLR里的存储过程/函数来连接到“自身”。上下文连接能够让你,在你的代码第一次被调用的地方所在的上下文(连接)里,执行T-SQL语句。
C#:
using(SqlConnection connection = new SqlConnection("context connection=true"))
{
connection.Open();
// Use the connection
}
VB.Net
Using connection as new SqlConnection("context connection=true")
connection.Open()
' Use the connection
End Using
- C# 连接SQL数据库的方法及常用连接字符串
- Oracle中SQL语句连接字符串的符号采用介绍
- mssql2005字符串连接方法 避免无效的连接错误
- sqlserver、mysql拿到连接字符串步骤
- sqlserver 数据库连接字符串中的可选项收集
- 详解MySQL中concat函数的用法(连接字符串)
- MySQL中字符串与Num类型拼接报错的解决方法
- 深入讲解SQL中的字符串拼接

