在使用connection string时遇到一些问题

字符串如下"Data Source= ******;Initial Catalog=******;Persist Security Info=True;Integrated Security=true;User ID=sa;Password=******;Connect Timeout=10"

问题一:连接提示windows用户权限之类错误

这个问题应该是本机的windows用户无法连接远端数据库服务器,相关属性为"Integrated Security=true"

Integrated Security=true连接属性说明:参见http://www.cnblogs.com/zxjyuan/archive/2009/03/11/1408991.html

Integrated Security 身份验证方式 
当为false时,将在连接中指定用户ID和密码。 
当为true时,将使用当前的Windows帐户凭据进行身份验证。 
可识别的值为true、false、yes、no以及与true等效的sspi。

Microsoft安全支持提供器接口(SSPI)是定义得较全面的公用API,用来获得验证、信息完整性、信息隐私等集成安全服务,以及用于所有分布式应用程序协议的安全方面的服务。应用程序协议设计者能够利用该接口获得不同的安全性服务而不必修改协议本身。

上面这句话的意思就是这个连接采用了这个接口,如果没有定义就会出错!

指你使用windows自带的安全验证机制,这时你不用加uid和password也可以打开数据库 
如果你没有那一句的话,就必须在联接字符串里写上uid=sa;password=00; 
否则你不能打开数据库

问题二:设置的connect timeout=10 无效,连接时会等很久(40s左右)

出现这个问题可能的原因是本机与数据库主机不通,设置的timeout属性是在连通时有效

其他说明

Persist Security Info=True 参见http://blog.csdn.net/yzsind/article/details/1507717

Persist Security Info属性的意思是表示是否保存安全信息,其实可以简单的理解为"ADO在数据库连接成功后是否保存密码信息",

True表示保存,False表示不保存

ADO缺省为True
(ADO.net缺省为False,未测试,根据参考资料上说的)

所以一般使用默认的false

Pooling = false  参见 http://www.cnblogs.com/eaglet/archive/2011/10/31/2230197.html

Pooling 属性设置是否使用连接池,默认情况下是使用的,即Pooling = true。

使用连接池,只有当第一次建立连接时(connection.open())时会耗时较多(几十毫秒),后面再次建立连接时几乎不耗时间(前提是物理连接没有断开,物理连接一般会有个默认等待时间没有使用则断开,20分钟或其他)。connection.close()只是关闭逻辑连接。

不使用连接池,则每次都是重新建立物理连接,需要做和服务器握手,解析连接字符串,授权,约束的检查等等操作,耗时较长。

Min Pool Size = 1,Max Pool Size = 100  参见 http://www.cnblogs.com/eaglet/archive/2011/10/31/2230197.html

MinPoolSize 属性指第一建立物理连接时默认建立的连接数,默认为0则指建立一个物理连接。

MaxPoolSize 属性指最多会建立的物理连接数,默认是100(具体详查),当有多线程同时建立100+数据库连接时,则会出现等待阻塞。

通常建议的做法是MinPoolSize保持默认的0值,MaxPoolSize设置为可能发生的最大连接数,连接池中的物理连接数量会自适应具体数。

Sql Server 可以接受的最大连接数为32767.

SQL SERVER连接字符串学习的更多相关文章

  1. .NET SQL Server连接字符串句法

    .NET SQL Server连接字符串句法 数据库的连接性已经发展成为应用程序开发的一个标准方面.数据库连接字符串现在已经成为每个项目的标准必备条件.我发现自己为了找到所需要的句法,经常要从另外一个 ...

  2. SQL Server 连接字符串和身份验证 学习

    SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开.          PropertyName1=Value1; ...

  3. [ASP.NET]SQL Server 连接字符串和身份验证

    SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开. PropertyName1=Value1; Property ...

  4. SQL Server 连接字符串和身份验证详解

    SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开.          PropertyName1=Value1; ...

  5. SQL Server 连接字符串和身份验证

    SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开.         PropertyName1=Value1;P ...

  6. Sql Server连接字符串

    SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开.          PropertyName1=Value1; ...

  7. sql server连接字符串与tcp/ip开启

    连接字符串1:Data Source=localhost,1433;User ID=sa;Password=123;Initial Catalog=test;Min Pool Size=1;Max P ...

  8. SQL Server 连接字符串总结

    这里记录的是c# 在vs中连接sql server数据库中的连接字符串的总结. 1.标准安全连接 Data Source = myServerAddress;Initial Catalog = myD ...

  9. SQL Server 连接字符串备忘

    今天把服务器上的远程访问关了,把连接字符串中的IP地址改成了.,然后就一直连不上.弄了半天,原来是本地连接时非默认实例,不能带端口号. 1.原来的连接服务器地址是:192.168.0.1SQL2005 ...

随机推荐

  1. HDU1001 关于累加公式的隐性类型转换

    HDU 1001就卡了. 受到小白的启发遇到这样的循环题目直接转化成公式求解以优化时间.但是!我就是过不了! 问题代码: #include<stdio.h> int main() { in ...

  2. nyoj 99 单词拼接

    点击打开链接 单词拼接 时间限制:3000 ms  |  内存限制:65535 KB 难度:5 描述 给你一些单词,请你判断能否把它们首尾串起来串成一串. 前一个单词的结尾应该与下一个单词的道字母相同 ...

  3. dbf导入Oracle

    如果想通过拷贝数据文件来恢复数据库的话:1.要确定源数据库和目标数据库的安装目录等完全一致,os一致2.把源数据库的控制文件,spfile,密码文件拷贝到目标数据库的相同目录下3.通过源数据库的con ...

  4. SQL执行的原理以及一些常见的关键字

    sql语句在面试里面问道的问题: sql的解析的顺序 1.where里面的条件是从右向左扫描解析 2.from里面的大表在前,小表在后,解析的顺序是从右向左解析. 3.left/right/inner ...

  5. 在git上下载的Asp.Net MVC 4源码怎么编译?

    以本人的下载位置为例:E:\aspnetwebstack 1.win+r 输入cmd 打开dos 界面 2.e: 回车,定位到e 盘 3.cd E:\aspnetwebstack 进入e 盘aspne ...

  6. Android中常用的5大布局详述

    Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面. 所有的布局方式都可以归类为ViewGroup的 ...

  7. 土法炼钢:怎么实现一个简单的B+Tree In-Disk

    1. 写在前面 说起B+树,大家应该都很熟悉.B+树是一种平衡的多路搜索树,广泛在操作系统和数据库系统用作索引.相比于内存的存取速度,磁盘I/O存取的开销要高上几个数量级.而将B+树用作索引时,它可以 ...

  8. 关于SVN更新时文件加锁的小结

    今天使用SVN更新应用,出现了下面的问题: update D:/workspace/acode/resource/springconf -r 6622 --force    Attempted to ...

  9. 中断是CPU的机制

    中断是CPU的机制,不管运行的是什么操作系统,只有是运行于x86架构,IDT结构式必然存在的.IDT表中的ISRs应该有操作系统提供

  10. 分层服务提供者(LSP)

    分层服务提供者(LSP)(1) 开发过滤数据包的LSP程序可以定义过滤规则,恩,先看看LSP本身是DLL,可以将它安装至Winsock目录,创建套接字的应用程序不必知道此LSP的任何信息就能调用它 1 ...