ADO连接SQL Server 2008 Express方法总结
使用ADO连接微软SQL Server数据库,根据连接的类型有多种连接字符串,并且有些字符串的效果是一样的。
目前已经经过VS2008测试成功的连接字符串说明如下:
(1)第一种:指定SQL Server 2008 Express安装的计算机名称
“Provider=SQLNCLI10;Server=Hostname\\SQLEXPRESS;Database=DBName;Uid=UserName;Pwd=Password”
其中:
SQLNCLI10也可以替换为SQLOLEDB。
Hostname为安装了SQL Server 2008 Express的计算机名称,\\SQLEXPRESS是安装SQL Server 2008 Express的实例名称,数据库安装时将用SQLEXPRESS作为缺省的实例名称,如果指定了其它实例名,则需要做相应的替换。
DBName为要连接的数据库名称。
UserName和Password分别为连接数据库的用户名和密码。
如果指定信任连接,则可以在最后增加字符串“;Integrated Security=SSPI”或者“;Trusted_Connection=yes”。
(2)第二种:指定SQL Server 2008 Express安装的计算机IP地址
直接将上面字符串中的Hostname替换为对应的IP地址(如192.168.1.5)即可,如果IP地址为127.0.0.1,则连接本地的SQL Serve 2008且实例名为SQLEXPRESS的数据库服务器。需要特别注意的是,此种情况只在SQL Server Browser服务启动时有效。
需要注意的几点:
(1)可能由于版本为EXPRESS的缘故,在连接字符串中必须指定形式为HostName\\实例名或者IPAddress\\实例名的形式,否则连接不成功,这可能区别于其它版本的数据库连接方式。
(2)如果要以指定IP地址的方式连接,并且在不指定连接端口的情况下,SQL Server Browser服务必须开启,否则连接失败。另外SQL Native Client 10.0配置中的客户端协议必须启用TCP/IP,如下图所示。
SQL Server网络配置中的SQLEXPRESS的协议中的TCP/IP也必须启用,如下图所示。
(3)SQL Server的默认监听端口为1433,可以指定其它的监听端口,此时需要在连接字符串中指定要连接的端口。具体配置如下。
更改TCP/IP的属性如以下两图所示。
如果需要连接非默认端口1433,则可以在指定连接主机时指定连接端口。
Server=127.0.0.1\\SQLEXPRESS,1443
只要指定了连接端口,SQL Server Browser服务不需要开启。