⑴ 什么是数据库连接字符串
连接字符串的是一个以分号为界,划分键/值参数对的列表。连接字符串包含一个由一些属性名/值对组成的集合。每一个属性/值对都由分号隔开,如下所示:
PropertyName1="Value1";PropertyName2="Value2";PropertyName3="Value3";.....
同样,连接字符串必须包含SQL Server实例名称: Data Source=ServerName;
总的来说,数据库的连接字符串分为两种:Windows身份验证和SQL Server身份验证。每种方法都有各自的优缺点。但是遵循的基本规则是一样的,基本规则如下:
如果采用SQL Server身份验证方式,Data Source(数据源)、Initial Catalog(初始编目)、User ID(用户ID)、和Password(密码)等元素是必须的,下面这些选项都是可用的:
·Application Name(应用程序名称):应用程序的名称。如果没有被指定的话,它的值为.NET SqlClient Data Provider(数据提供程序).
·AttachDBFilename/extended properties(扩展属性)/Initial File Name(初始文件名):可连接数据库的主要文件的名称,包括完整路径名称。数据库名称必须用关键字数据库指定。
·Connect Timeout(连接超时)/Connection Timeout(连接超时):一个到服务器的连接在终止之前等待的时间长度(以秒计),缺省值为15。
·Connection Lifetime(连接生存时间):当一个连接被返回到连接池时,它的创建时间会与当前时间进行对比。如果这个时间跨度超过了连接的有效期的话,连接就被取消。其缺省值为0。
·Connection Reset(连接重置):表示一个连接在从连接池中被移除时是否被重置。一个伪的有效在获得一个连接的时候就无需再进行一个额外的服务器来回运作,其缺省值为真。
·Current Language(当前语言):SQL Server语言记录的名称。
·Data Source(数据源)/Server(服务器)/Address(地址)/Addr(地址)/Network Address(网络地址):SQL Server实例的名称或网络地址。
·Encrypt(加密):当值为真时,如果服务器安装了授权证书,SQL Server就会对所有在客户和服务器之间传输的数据使用SSL加密。被接受的值有true(真)、false(伪)、yes(是)和no(否)。
·Enlist(登记):表示连接池程序是否会自动登记创建线程的当前事务语境中的连接,其缺省值为真。
·Database(数据库)/Initial Catalog(初始编目):数据库的名称。
·Integrated Security(集成安全)/Trusted Connection(受信连接):表示Windows认证是否被用来连接数据库。它可以被设置成真、伪或者是和真对等的sspi,其缺省值为伪。
·Max Pool Size(连接池的最大容量):连接池允许的连接数的最大值,其缺省值为100。
·Min Pool Size(连接池的最小容量):连接池允许的连接数的最小值,其缺省值为0。
·Network Library(网络库)/Net(网络):用来建立到一个SQL Server实例的连接的网络库。支持的值包括: dbnmpntw (Named Pipes)、dbmsrpcn (Multiprotocol/RPC)、dbmsvinn(Banyan Vines)、dbmsspxn (IPX/SPX)和dbmssocn (TCP/IP)。协议的动态链接库必须被安装到适当的连接,其缺省值为TCP/IP。
·Packet Size(数据包大小):用来和数据库通信的网络数据包的大小。其缺省值为8192。
·Password(密码)/Pwd:与帐户名相对应的密码。
·Persist Security Info(保持安全信息):用来确定一旦连接建立了以后安全信息是否可用。如果值为真的话,说明像用户名和密码这样对安全性比较敏感的数据可用,而如果值为伪则不可用。重置连接字符串将重新配置包括密码在内的所有连接字符串的值。其缺省值为伪。
·Pooling(池):确定是否使用连接池。如果值为真的话,连接就要从适当的连接池中获得,或者,如果需要的话,连接将被创建,然后被加入合适的连接池中。其缺省值为真。
·User ID(用户ID):用来登陆数据库的帐户名。
·Workstation ID(工作站ID):连接到SQL Server的工作站的名称。其缺省值为本地计算机的名称。
⑵ sqlconnection连接方法
Sql server2000本地连接方法采用两种连接字符串,具体如下:
第一种字符串为:server = .kingsql;database = Northwind ; integrated security=SSPI
第二种字符串为:server = .kingsql;database = Northwind ; uid = sa; pwd = sa
若进行远程连接,则首先需保证客户端与SQL服务器连接成功。具体步骤如下:
1. ping 服务器IP测试连通性,确保网络配置正确,远程SQL server 2000服务器的IP拼写无误。
2. 在命令行下输入telnet 服务器IP 端口,检查是否能正常连接,如:telnet 202.114.100.100 1433。通常端口值为1433,这是SQL server 2000的默认侦听端口。
若连接失败,可按照以下步骤排查问题:
1. 检查远程服务器是否已启动SQL server 2000服务。
2. 确认服务器端已启用TCP/IP协议,可以通过在服务器上打开开始菜单->程序->Microsoft SQL Server->服务器网络实用工具查看。
3. 检查服务器的TCP/IP端口配置是否为1433,确保默认端口设置正确且不隐藏服务器。
4. 如果服务器端已打过sp2补丁,则需要配置Windows防火墙开放1433端口,通常测试时可直接关闭Windows防火墙。
5. 检查服务器是否在1433端口侦听,使用netstat命令查看。
若以上步骤均无问题,进行telnet服务器ip 1433测试后,将能看到屏幕闪烁且光标不停闪动,表示远程连接成功。
在代码实现上,可使用如下方式建立SqlConnection连接:
SqlConnection conn = new SqlConnection("Server=.;Database=Northwind;Uid=sa;pwd=密码;");
注意:在实际应用中需替换`.;`为目标服务器IP,`Northwind`为数据库名称,`sa`为连接数据库的用户名,`密码`为连接数据库的密码。如未设置密码,则无需填写,否则将导致连接错误。
⑶ sqlserver中连接时出现错误:" DataSource"怎么
这是连接数据库的字符串,Data Source 是数据源,Initial Catalog是数据库的名称,User ID是登录数据的用户名,Pwd是登录数据库的密码。
"Data Source=.;Initial Catalog=MyQQ;User ID=sa;Pwd=sa",这串代码DataSource等号后面的那个点是代表你所使用的数据库是本地数据库,本地数据库默认的实例名就是.SQLEXPRESS。
特别注意的是:正常用一个点就可以代表本地数据库了,但是如果你在运行的时候还是跳出错误的话,可以将一个点改成".SQLEXPRESS",这样就没有问题了。
(3)默认数据库连接字符串扩展阅读
数据库的常见操作语句:
1、创建数据库
Createdatabase Test
2、删除数据库
Drop database Test
3、备份数据库
backup database Test to disk='E:/Test.bak'
4、还原数据库
restore database Test from disk='E:/Test.bak'