SqlConnection.ConnectionString 属性

SqlConnection.ConnectionString 属性ConnectionString类似于OLEDB连接字符串,但并不相同。与OLEDB或ADO不同,如果“PersistSecurityInfo”值设置为false(默认值),则返回的连接字符串与用户设置的ConnectionString相同但去除了安全信息。除非将“PersistSecurityInfo”设置为true,否则,SQLServer.NETF

大家好,又见面了,我是你们的朋友全栈君。

ConnectionString 类似于 OLE DB 连接字符串,但并不相同。与 OLE DB 或 ADO 不同,如果“Persist Security Info ”值设置为 false(默认值),则返回的连接字符串与用户设置的 ConnectionString 相同但去除了安全信息。除非将“Persist Security Info ”设置为 true,否则,SQL Server .NET Framework 数据提供程序将不会保持,也不会返回连接字符串中的密码。

可以使用 ConnectionString 属性连接到数据库。下面的示例阐释了一个典型的连接字符串。

"Persist Security Info=False;Integrated Security=SSPI;database=northwind;server=mySQLServer"

只有在连接关闭时才能设置 ConnectionString 属性。许多连接字符串值都具有相应的只读属性。当设置连接字符串时,将更新所有这些属性(除非检测到错误)。检测到错误时,不会更新任何属性。SqlConnection 属性只返回那些包含在 ConnectionString 中的设置。

若要连接到本地机器,请将服务器指定为“(local)”。(必须始终指定一个服务器。)

重置已关闭连接上的 ConnectionString 会重置包括密码在内的所有连接字符串值(和相关属性)。例如,如果设置一个连接字符串,其中包含“Database= northwind”,然后再将该连接字符串重置为“Data Source=myserver;Integrated Security=SSPI”,则 Database 属性将不再设置为 Northwind。

在设置后会立即分析连接字符串。如果在分析时发现语法中有错误,则产生运行库异常,如 ArgumentException。只有当试图打开连接时,才会发现其他错误。

连接字符串的基本格式包括一系列由分号分隔的关键字/值对。等号 (=) 连接各个关键字及其值。若要包括含有分号、单引号字符或双引号字符的值,则该值必须用双引号括起来。如果该值同时包含分号和双引号字符,则该值可以用单引号括起来。如果该值以双引号字符开始,则还可以使用单引号。相反地,如果该值以单引号开始,则可以使用双引号。如果该值同时包含单引号和双引号字符,则用于将值括起来的引号字符每次出现时,都必须成对出现。

若要在字符串值中包括前导或尾随空格,则该值必须用单引号或双引号括起来。即使将整数、布尔值或枚举值用引号括起来,其周围的任何前导或尾随空格也将被忽略。然而,保留字符串关键字或值内的空格。使用 .NET Framework 1.1 版时,在连接字符串中可以使用单引号或双引号而不用使用分隔符(例如,Data Source= my’Server 或 Data Source= my”Server),但引号字符不可以为值的第一个或最后一个字符。

若要在关键字或值中包括等号 (=),则它之前必须还有另一个等号。例如,在假设的连接字符串中,

"key==word=value"

关键字是“key=word”并且值是“value”。

如果“keyword= value”对中的一个特定关键字多次出现在连接字符串中,则将所列出的最后一个用于值集。

关键字不区分大小写。

下表列出了 ConnectionString 中的关键字值的有效名称。

名称 默认值 说明
Application Name   应用程序的名称,如果不提供应用程序名称,默认是:“.Net SqlClient Data Provider”
AttachDBFilename
– 或 –
extended properties
– 或 –
Initial File Name
  可连接数据库的主文件的名称,包括完整的路径名。

必须使用关键字“database”来指定数据库的名称。

Connect Timeout
– 或 –
Connection Timeout

15 在终止尝试连接并产生错误之前,等待与服务器的连接的时间长度(以秒为单位)。
Current Language   SQL Server 语言

Data Source
– 或 –
Server
– 或 –
Address
– 或 –
Addr
– 或 –
Network Address

  要连接的 SQL Server 实例的名称或网络地址。
Encrypt ‘false’ 当该值为 true 时,如果服务器端安装了证书,则 SQL Server 将对所有在客户端和服务器之间传送的数据使用 SSL 加密。可识别的值为 truefalseyesno

Initial Catalog
– 或 –
Database

  数据库的名称。

Integrated Security
– 或 –
Trusted_Connection

‘false’ 当为 false 时,将在连接中指定用户 ID 和密码。当为 true 时,将使用当前的 Windows 帐户凭据进行身份验证。

可识别的值为 truefalseyesno 以及与 true 等效的 sspi(强烈推荐)。

Network Library
– 或 –
Net

‘dbmssocn’ 用于建立与 SQL Server 实例的连接的网络库。支持的值包括 dbnmpntw(命名管道)、dbmsrpcn(多协议)、dbmsadsn (Apple Talk)、dbmsgnet (VIA)、dbmslpcn(共享内存)及 dbmsspxn (IPX/SPX) 和 dbmssocn (TCP/IP)。

相应的网络 DLL 必须安装在要连接的系统上。如果不指定网络而使用一个本地服务器(比如“.”或“(local)”),则使用共享内存。

Packet Size 8192 用来与 SQL Server 的实例进行通讯的网络数据包的大小,以字节为单位。

Password
– 或 –
Pwd

  SQL Server 帐户登录的密码(建议不要使用。为了维护最高级别的安全性,强烈建议改用 Integrated Security 或 Trusted_Connection 关键字)。
Persist Security Info ‘false’ 当该值设置为 falseno(强烈推荐)时,如果连接是打开的或者一直处于打开状态,那么安全敏感信息(如密码)将不会作为连接的一部分返回。重置连接字符串将重置包括密码在内的所有连接字符串值。可识别的值为 truefalseyesno
User ID   SQL Server 登录帐户(建议不要使用。为了维护最高级别的安全性,强烈建议改用 Integrated Security 或 Trusted_Connection 关键字)。
Workstation ID 本地计算机名称 连接到 SQL Server 的工作站的名称。

下表列出了 ConnectionString 内连接池值的有效名称。有关连接池的更多信息,请参见 SQL Server .NET Framework 数据提供程序连接池。

名称 默认值 说明
Connection Lifetime 0 当连接被返回到池时,将其创建时间与当前时间作比较,如果时间长度(以秒为单位)超出了由 Connection Lifetime 指定的值,该连接就会被销毁。这在聚集配置中很有用(用于强制执行运行中的服务器和刚置于联机状态的服务器之间的负载平衡)。

零 (0) 值将使池连接具有最大的连接超时。

Connection Reset ‘true’ 确定从池中提取数据库连接时是否重置数据库连接。对于 Microsoft SQL Server 7.0 版,设置为 false 可避免获取连接时再有一次额外的服务器往返行程,但须注意此时并未重置连接状态(如数据库上下文)。
Enlist ‘true’ 当该值为 true 时,池程序在创建线程的当前事务上下文中自动登记连接。可识别的值为 truefalseyesno
Max Pool Size 100 池中允许的最大连接数。
Min Pool Size 0 池中允许的最小连接数。
Pooling ‘true’ 当该值为 true 时,系统将从相应池中提取 SQLConnection 对象,或在必要时创建该对象并将其添加到相应池中。可识别的值为 truefalseyesno

当设置需要布尔值的关键字或连接池值时,您可以使用 ‘yes’ 代替 ‘true’,’no’ 代替 ‘false’。整数值表示为字符串。

注意   SQL Server .NET Framework 数据提供程序使用它自己的协议与 SQL Server 进行通信。因此,当连接到 SQL Server 时,它不支持 ODBC 数据源名称 (DSN) 的使用,因为它不添加 ODBC 层。 警告   在此版本中,在应用程序中根据用户输入构造连接字符串时(例如,从对话框中检索用户 ID 和密码信息并将其追加到连接字符串时)应相当谨慎。应用程序应确保用户无法在这些值中嵌入额外的连接字符串参数(例如,输入“validpassword;database=somedb”作为密码,以试图连接到其他数据库)。

示例

下面的示例创建一个 SqlConnection并设置它的一些属性。

 
Public Sub CreateSqlConnection()
    Dim myConnection As New SqlConnection()
    myConnection.ConnectionString = 
"Persist Security Info=False;Integrated Security=SSPI;
database=northwind;server=mySQLServer;Connect Timeout=30" myConnection.Open() End Sub 'CreateSqlConnection

 
public void CreateSqlConnection() 
 {
    SqlConnection myConnection = new SqlConnection();
    myConnection.ConnectionString = 
"Persist Security Info=False;Integrated Security=SSPI;
database=northwind;server=mySQLServer;Connect Timeout=30"; myConnection.Open(); }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158272.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C语言pow函数(c语言中指数函数怎么打)

    展开全部C语言中的POW函数使用:#include#defineACCURACY100doublefunc1(doublet,intn);doublefunc2(doubleb,intn);doublepow2(doublea,doubleb);intmain(){printf(“%lf”,pow2(5.21,4.11));return0;}doublepow2(doublea,doubleb){…

    2022年4月11日
    76
  • SQL like对时间查询的处理方法

    SQL like对时间查询的处理方法1.SQLlike对时间查询的处理方法SQL数据表中有savetime(smalldatetime类型)字段,表中有两条记录,savetime值为:2005-3-812:12:00和2005-6-614:02:02我用下面语句什么也搜不出来select

    2022年7月15日
    102
  • 图形推理1000题pdf_数字推理题,眼尖的一眼就看出来了「建议收藏」

    图形推理1000题pdf_数字推理题,眼尖的一眼就看出来了「建议收藏」动脑往期回看>>每日推理每日推理|你能找出犯人吗?每日推理|你是哪个班的?每日推理|拿掉2根木棍,使其变成3个正方形每日推理|共同营业日每日推理|千里寻一每日推理|坏掉的8号电话亭每日推理|哪两个才是兄弟?每日推理|白马王子每日推理|神奇海螺脑筋急转弯答案笑死人的脑筋急转弯看了想打人的题目移动火柴游戏复杂的迷宫图形推理5道很难的字谜△点击…

    2025年10月10日
    3
  • pycharm2021最新激活码_通用破解码

    pycharm2021最新激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    47
  • 安卓中activity的生命周期_产品生命周期五个阶段

    安卓中activity的生命周期_产品生命周期五个阶段Android系统根据生命周期的不同阶段唤起对应的回调函数来执行代码。系统存在启动与销毁一个activity的一套有序的回调函数。本节来讨论下不同生命周期的回调函数里都该做哪些事情,不该做哪些事情。理解生命周期的回调在一个activity的生命周期中,系统会像金字塔模型一样去调用一系列的生命周期回调函数。Activity生命周期的每一个阶段就像金字塔中的台阶。当系统创建了一个新的activity实例

    2022年8月16日
    6
  • python randint函数用法_python scipy stats.randint用法及代码示例「建议收藏」

    均匀离散随机变量。作为一个实例rv_discrete类,randint对象从中继承了通用方法的集合(完整列表请参见下文),并使用特定于此特定发行版的详细信息来完善它们。注意:的概率质量函数randint是:对于k=low,…,high-1。randint需要low和high作为形状参数。上面的概率质量函数以“standardized”形式定义。要转移分布,请使用loc参数。特别,r…

    2022年4月12日
    95

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号