设为首页 收藏本站
查看: 1076|回复: 0

[经验分享] .NET SQL Server连接字符串句法

[复制链接]

尚未签到

发表于 2015-7-2 13:49:50 | 显示全部楼层 |阅读模式
  .NET SQL Server连接字符串句法
  数据库的连接性已经发展成为应用程序开发的一个标准方面。数据库连接字符串现在已经成为每个项目的标准必备条件。我发现自己为了找到所需要的句法,经常要从另外一个应用程序中复制连接字符串或者进行一次搜索。这个在与SQL Server交互操作时更是如此,因为它有太多的连接字符串选项。现在就让我们来研究一下连接字符串的众多方面。
  连接字符串
  在对象实例化或者建立期间,数据库连接字符串通过属性或方法被传递到必要的对象。连接字符串的格式是一个以分号为界,划分键/值参数对的列表。列表A中包括了一个C#中的例子,说明了怎样用创建SqlConnection对象的方法连接到SQL Server(实际的连接字符串是通过对象的ConnectionString属性分配的)。列表B中包括的是VB.NET的版本。

引用内容:
  string cString = "Data Source=server;Initial Catalog=db;User ID=test;Password=test;";
  SqlConnectionconn = new SqlConnection();
  conn.ConnectionString = cString;
  conn.Open();

引用内容:
  Dim cString As String
  cString = "Data Source=server;Initial Catalog=db;User ID=test;Password=test;"
  Dim conn As SqlConnection = New SqlConnection()
  conn.ConnectionString = cString
  conn.Open()
  连接字符串会指定数据库服务器和数据库,以及访问数据库必需的用户名和密码。但是这种格式并不是对所有数据库交互都适用,它的确有许多可用的选项,其中很多选项都有同义词。和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的工作站的名称。其缺省值为本地计算机的名称。
  下面的连接字符串用一个受信连接和指定的登陆证书(不及管理员密码空缺安全),在Test\Dev1服务器上与Northwind数据库建立连接:  

引用内容:
  Server=Test\Dev1;Database=Northwind;User ID=sa;
  Password=;Trusted_Connection=True;
  下一个连接字符串使用了TCIP/IP 和一个指定的IP地址:

引用内容:
  Data Source=192.162.1.100,1433;Network Library=DBMSSOCN;
  Initial Catalog=Northwind;User ID=sa;Password=;
  所使用的选项可以很容易地包括在连接字符串中,但是它们还是取决于你的应用程序和它的要求。知道什么是可用的是很有好处的,这样你就可以恰当地使用它。
  使用ADO.NET 2.0
  ADO.NET 2.0为每一个.NET框架的数据提供程序引进了新的连接字符串生成器。关键词作为属性被列出,使得连接字符串句法在提交到数据源之前就生效。也还有新的类可以使连接字符串在配置文件中的存储和检索变得简单,并且用受保护的方式将它们加密。
  或多或少,正是你需要的。
  通过.NET应用程序连接到SQL Server为特定的连接参数和其他选项提供了多种选择。它可以像指定数据库、服务器和登录凭据那样简单,也可能像设置缓冲连接池和安全选项一样复杂。 ADO.NET 2.0的确通过数据库类使得连接字符串选项具有了更大的灵活性。你只需使用应用程序所需要的选项,不必理会其他的。而且,如果你发现自己身陷困境,记不得连接字符串句法了,可以查阅以下网址ConnectionStrings.comhttp://www.xujiwei.cn/blog/images/external.gif

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-82563-1-1.html 上篇帖子: 远程连接sql server 2000服务器的解决方案 下篇帖子: 用户sa登录失败,该用户与可信sql server连接无关联
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表