SQL SERVER 2005数据库访问系列之 连接字符串

本文详细介绍了C#中连接字符串的使用方法,包括如何通过配置文件、注册表等方式保存连接字符串,以及如何利用SqlConnectionStringBuilder类来简化连接字符串的操作。

学习C#很久了,但是,一直以来对连接字符串都不能够很好的掌握和了解。一直到最近才有时间自己研究。
所谓连接字符串,就是:ConnectionString
【开发环境:VS2008,SQL SERVER 2005】

平时呢,我们大家多数都是使用配置文件保存连接字符串的,打开App.config配置文件,能看到以下节点:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name ="myconn" connectionString="server=./sqlexpress;database=my;uid=sa;pwd=sa"/>
  </connectionStrings>
</configuration>
在应用程序访问数据库的时候,只需要在后台代码里以如下方式访问即可:
SqlConnection conn = new SqlConnection
                (ConfigurationManager.ConnectionStrings["myconn"].ConnectionString);
然后即可对SqlConnection对象进行Open或者Close操作了。

当然,上面的做法在应用程序开发以及WEB开发中都是常用的。
条条大路通罗马,方法也不止这么一种;

连接字符串也是可以保存在注册表里,或者是一些其他类型的配置文件,或者封装到动态链接库里。
还可以进行加密,在读取的时候揭秘,等等等等,我就不一一介绍了。

主要说下SqlConnectionStringBuilder对连接字符串的处理,下面以代码为例:
            SqlConnectionStringBuilder sc = new SqlConnectionStringBuilder();
            sc.DataSource = @"./SQLExpress"; //SQL SERVER2005和2000是不太一样的
            sc.InitialCatalog = "my";        //获取或设置与该连接关联的数据库的名称。
            sc.UserID = "sa";   //账号
            sc.Password = "sa"; //密码
            sc.Pooling = true;
            //获取或设置一个布尔值,该值指示每次请求连接时该连接是汇入连接池还是显式打开。
            //默认值是true
            sc.MaxPoolSize = 50;
            //获取或设置针对此特定连接字符串连接池中所允许的最大连接数。
            //默认值是100
            sc.MinPoolSize = 10;
            //获取或设置针对此特定连接字符串连接池中所允许的最小连接数。
            //默认值是0
            sc.PersistSecurityInfo = false;
            //获取或设置一个布尔值,该值指示如果连接是打开的或者一直处于打开状态,
            //那么安全敏感信息(如密码)是否将不作为连接的一部分返回。
            sc.Enlist = true;
            //获取或设置一个布尔值,该值指示 SQL Server 连接池程序是否在创建线程的当前事务上下文中自动登记连接。
            sc.ConnectTimeout = 10;
            //或缺或设置连接超时时间。如果未指定,默认就是15
            SqlConnection conn = new SqlConnection(sc.ConnectionString);
            
            conn.Open();
            MessageBox.Show("连接成功!");
            conn.Close();  


由此可见自从有了SqlConnectionStringBuilder类以后,对连接字符串的定义,操作都简单了很多。
尤其是对我这样的懒人而言,更是痛快了很多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值