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;Initial Catalog=Northwind;server=(local)"

使用新的 SqlConnectionStringBuilder 在运行时构造有效的连接字符串。有关更多信息,请参见 Building Connection Strings

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

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

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

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

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

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

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

 
"key==word=value"

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

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

关键字不区分大小写。

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

关键字

默认值

说明

Application Name

N/A

应用程序的名称,或者“.Net SqlClient Data Provider”(如果不提供应用程序名称)。

Asynch

'false'

如果设置为 true,则启用异步操作支持。可识别的值为 truefalseyes 和 no

AttachDBFilename

- 或 -

extended properties

- 或 -

Initial File Name

N/A

主数据库文件的名称,包括可连接数据库的完整路径名。该路经可以是绝对路径,也可以是相对路径,这取决于是否使用 DataDirectory 替换字符串。如果使用 DataDirectory,则对应的数据库文件必须存在于替换字符串指向的目录的子目录中。

远程服务器、HTTP 及 UNC 路径名不受支持。

必须按照如下方式使用关键字“database”(或其别名之一)指定数据库名称:

"AttachDbFileName=|DataDirectory|\data\YourDB.mdf;integrated security=true;database=YourDatabase"

Connect Timeout

- 或 -

Connection Timeout

15

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

Context Connection

'false'

如果应对 SQL Server 进行进程内连接,则为 true

Current Language

N/A

SQL Server 语言记录名称。

Data Source

- 或 -

Server

- 或 -

Address

- 或 -

Addr

- 或 -

Network Address

N/A

要连接的 SQL Server 实例的名称或网络地址。可以在服务器名称之后指定端口号:

server=tcp:servername, portnumber

指定本地实例时,始终使用 (local)。若要强制使用某个协议,请添加下列前缀之一:

np:(local), tcp:(local), lpc:(local)

Encrypt

'false'

当该值为 true 时,如果服务器端安装了证书,则 SQL Server 将对所有在客户端和服务器之间传送的数据使用 SSL 加密。可识别的值为 truefalseyes 和 no

Enlist

'false'

true 表明 SQL Server 连接池程序在创建线程的当前事务上下文中自动登记连接。

Failover Partner

N/A

在其中配置数据库镜像的故障转移合作伙伴服务器的名称。

.NET Framework 1.0 或 1.1 版不支持 Failover Partner 关键字。

Initial Catalog

- 或 -

Database

N/A

数据库的名称。

Integrated Security

- 或 -

Trusted_Connection

'false'

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

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

MultipleActiveResultSets

'true'

如果为 true,则应用程序可以维护多活动结果集 (MARS)。如果为 false,则应用程序必须在执行该连接上的任何其他批处理之前处理或取消一个批处理中的多个结果集。

可识别的值为 true 和 false

.NET Framework 1.0 或 1.1 版不支持该关键字。

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

N/A

SQL Server 帐户登录的密码。建议不要使用。为保持高安全级别,我们强烈建议您使用 Integrated Security 或 Trusted_Connection 关键字。

Persist Security Info

'false'

当该值设置为 false 或 no(强烈推荐)时,如果连接是打开的或者一直处于打开状态,那么安全敏感信息(如密码)将不会作为连接的一部分返回。重置连接字符串将重置包括密码在内的所有连接字符串值。可识别的值为 truefalseyes 和 no

Replication

'false'

如果使用连接来支持复制,则为 true

TrustServerCertificate

'false'

如果设置为 true,则使用 SSL 对通道进行加密,但不通过证书链对可信度进行验证。如果将 TrustServerCertificate 设置为 true 并将 Encrypt 设置为 false,则不对通道进行加密。可识别的值为 truefalseyes 和 no。有关更多信息,请参见 SQL Server 2005 Books Online(《SQL Server 2005 联机丛书》)中的“Encryption Hierarchy”(加密层次结构)和“Using Encryption Without Validation”(使用不验证的加密)。

Type System Version

N/A

指示应用程序期望的类型系统的字符串值。可能的值有:

Type System Version=SQL Server 2000;

Type System Version=SQL Server 2005;

Type System Version=Latest;

如果设置为 SQL Server 2000,将使用 SQL Server 2000 类型系统。与 SQL Server 2005 实例连接时,执行下列转换:

XML 到 NTEXT

UDT 到 VARBINARY

VARCHAR(MAX)、NVARCHAR(MAX) 和 VARBINARY(MAX) 分别到 TEXT、NEXT 和 IMAGE。

如果设置为 SQL Server 2005,将使用 SQL Server 2005 类型系统。对 ADO.NET 的当前版本不进行任何转换。

如果设置为 Latest,将使用此客户端-服务器对无法处理的最新版本。这个最新版本将随着客户端和服务器组件的升级自动更新。

User ID

N/A

SQL Server 登录帐户。建议不要使用。为保持高安全级别,我们强烈建议您使用 Integrated Security 或 Trusted_Connection 关键字。

User Instance

'false'

一个值,用于指示是否将连接从默认的 SQL Server 速成版实例重定向到调用方帐户下运行的运行时启动的实例。

Workstation ID

本地计算机名称

连接到 SQL Server 的工作站的名称。

ConnectionString属性(网速慢的情况下研究Connect Timeout)的更多相关文章

  1. Kotlin的属性委托:无上下文情况下Android的赋值(KAD 15)

    作者:Antonio Leiva 时间:Mar 9, 2017 原文链接:https://antonioleiva.com/property-delegation-kotlin/ 如我们在前面文章中读 ...

  2. 通过Chrome模拟和调试网速慢的情况来限制一些P2P视频网站上传速度占满的情况

  3. AC+AP组网无线WiFi网速超慢延迟卡顿问题解决

    AP是什么? AP是Access Point的简称,即无线接入点,其作用是把局域网里通过双绞线传输的有线信号(即电信号)经过编译,转换成无线电信号传递给电脑.手机等无线终端,与此同时,又把这些无线终端 ...

  4. shell小脚本--网速监控

    在windows中,我们可以在360等管家软件中显示网速,在linux下想要查看实时的网速怎么办呢?当然在linux下也有很多优秀的软件可以实时显示网络状况!但是在这里我们使用shell脚本来先完成网 ...

  5. linux环境下,利用tc限制两台服务器间的网速,非常简单。

    最近再搞postgres的数据同步,需要模拟异地机房有带宽限制时的同步效果,所以想要限制一下两台机器之间的网速. ts命令功能很强,同时也好难理解和使用,经常浪费了好半天还是搞不定. 这里分享一个简单 ...

  6. UIView的clipsToBounds属性,layoutSubViews及触摸事件传递(默认情况下)总结

    一.UIView的clipsToBounds属性 * 默认情况下,超出父控件尺寸范围的子控件还是可见的 * 如果设置父控件的clipsToBounds=YES,就会裁剪掉超出父控件尺寸范围内的子控件, ...

  7. css考核点整理(八)-在什么情况下通过img引入图片,什么情况用背景图引入?背景属性有哪些

    在什么情况下通过img引入图片,什么情况用背景图引入?背景属性有哪些

  8. Ubuntu 14.04 标题栏实时显示上下行网速、CPU及内存使用情况

    首先当然是用wget下载indicator-sysmonitor,终端执行命令:wget -c https://launchpad.net/indicator-sysmonitor/trunk/4.0 ...

  9. 同一容器中a标签比较多的情况下通过title属性值隐藏

    同一容器中a标签比较多的情况下如何通过title属性值控制a标签的隐藏或显示 最近项目中遇到一个IE兼容性问题,网站需要在底部footer添加"站长统计"代码,容器中动态添加很多a ...

随机推荐

  1. 【转】Android Fastboot 与 Recovery 和刷机

    1. 首先来看下Android系统的分区:   Android系统的分区.jpg   Android分区解释.png 安卓系统一般把rom芯片分成7个区,如果再加上内置sd卡这个分区,就是8个: hb ...

  2. A Full Hardware Guide to Deep Learning深度学习电脑配置

     https://study.163.com/provider/400000000398149/index.htm?share=2&shareId=400000000398149( 欢迎关注博 ...

  3. 009 webpack将ES高级语法进行装换

    一:ES高级转换 1.main.js中的js不能解析 // js的主要入口 import $ from 'jquery' import './css/index.css' import './css/ ...

  4. django在centos生产环境的部署

    # 安装数据库和web服务器nginx # yum install –y nginx mariadb-server # 安装虚拟环境 pip install virtualenv pip instal ...

  5. android Studio keytool' 不是内部或外部命令,也不是可运行的程序 或批处理文件

    //android Studio  keytool' 不是内部或外部命令,也不是可运行的程序 或批处理文件 遇到这个问题好久了,一直没解决今天搜集了大量的资料,有的说什么Java没配置好,不是扯犊子吗 ...

  6. Java学习-055-Jsoup爬虫通过设置获取响应数据大小的最大值,解决因默认获取 1MB 响应数据导致的无法获取全部的响应数据内容问题

    在日常工作中,通常会遇到获取各种网络数据使用的情况,Java中可使用Jsoup(Python中可使用 BeatifulSoup)进行数据的获取及处理. 今天有朋友问,在使用 Jsoup 进行请求数据时 ...

  7. linux安装nvm和nodejs

    下载nvm包: [root@centos ~]# wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install ...

  8. python while 1 然后pass会发生什么?

    下面的代码,会使32核linux服务器志强e5的cpu使用率达到3200%,然后别的什么程序都跑不了. 如果windows,cpu使用率会达到100%.这是计算方式有点区别. 个人计算机,除非你是8路 ...

  9. delphi uniDac

    Delphi 2010安装及使用UniDAC 4.0 UniDAC是一个功能强大的非可视化跨数据库的数据访问组件,可用于Delphi,Delphi for .NET,C++Builder,and La ...

  10. IntelliJ IDEA(2018.3.5) 设置编码为utf-8编码

    位置一: File->Settings->Editor->File Encodings   位置二: File->Other Settings->Default Sett ...