转自:https://blog.csdn.net/LearnLHC/article/details/72711907
MYSQL示例:
<add key="connectionString" value="server=127.0.0.1;user id=root;password=root;port=3306;database=dbname;pooling=false;charset=utf8"/>
SQL SEVER示例:
<add name="sqlCon" connectionString="server=10.20.44.12;database=dbname;uid=root;pwd=root"/>
数据库连接字符串的拼写规则的决定条件:
- 连接的数据库的类型:SQL Server,Oracle,MySQL,Acess,MogoDB,Visual FoxPro(dBASE),Excel
- 数据库驱动器:ODBC,OLE DB
- 连接的模式:标准连接(Standard Security),信任连接(Trusted connection)
- 网络协议:TCP/IP,Named Pipes
连接参数表
名称 | 描述 |
Application Name | 应用程序名称或者当没有提供应用程序时为.Net SqlClient数据提供者 |
Data Source||Server||Address||Addr||Network Address | 要连接的SQL Server实例的名字或者网络地址 |
Initial Catalog||Database | 数据库名 |
Integrated Security||Trusted_Connection | 连接是否为信任连接 |
Uid或User ID | SQL Server登录用户 |
Password或Pwd | SQL Server帐户登录口令 |
Connect Timeout或者Connection Timeout | 在中止连接请求,产生错误之前等待服务器连接的时间(以秒为单位) |
Pooling | 从合适的连接池中取出SQLConnection对象,或者必要时创建SQLConnection对象并把它增加到合适的连接池中 |
Max Pool Size | 连接池中允许的最大连接数 |
Min Pool Size | 连接池中允许的最小连接数 |
AttachDBFilename或者extended properties或者Initial File Name | 主要文件的名字,包括相关联数据库的全路径 |
Connection Lifetime | 当一个连接返回到连接池,当前时间与连接创建时间的差值,如果时间段超过了指定的连接生存时间,此连接就被破坏。它用于聚集设置中在运行服务器和准备上线的服务器之间强制负载平衡。 |
Connection Reset | 当连接从连接池移走时决定是否重置数据库连接。当设置为''false''时用于避免获得连接时的额外服务器往复代价。 |
Current Language | 语言记录名称 |
Enlist | 连接池自动列出创建线程的当前事务上下文中的连接 |
Network Library或Net ''dbmssocn'' | 网络库用于建立与一个 SQL Server实例的连接。值包括dbnmpntw (命名管道), dbmsrpcn (多协议), dbmsadsn (Apple Talk), dbmsgnet (VIA), dbmsipcn (共享内存) 和 dbmsspxn (IPX/SPX), 和 dbmssocn (TCP/IP). 所连接的系统必须安装相应的动态链接库。如果你没有指定网络,当你使用一个局部的服务器 (例如, "." 或者 "(local)"),将使用共享内存 |
Packet Size | SQL Server的一个实例通讯的网络包字节大小 |
Workstation ID | 连接到SQL Server的工作站名称 |
Persist Security Info |
当连接已经打开或者一直处于打开状态时,敏感性的安全信息 (如口令)不会返回作为连接的一部分信息。 Pooling ''true'' 为真时,从合适的连接池中取出SQLConnection对象,或者必要时创建SQLConnection对象并把它增加到合适的连接池中 |
一, Sql Server
· ODBC
o 标准连接(Standard Security):
1)当服务器为本地时Server可以使用(local):"Driver={SQLServer};Server=(local);Database=pubs;Uid=sa;Pwd=123456"
2)当连接远程服务器时,需指定地址、端口号和网络库:"Driver={SQL Server};Server=180.166.105.142,2433;Database=pubs;Uid=sa;Pwd=123456"
· OLE DB, OleDbConnection (.NET)
o 标准连接(Standard Security):
"Provider=sqloledb;Data Source=192.168.1.100,2433;Initial Catalog=pubs;Persist Security Info=True;User ID=sa;Password=M8BGRdafaRUpkYZ1OqyS"
二, MySQL
· ODBC
o 本地数据库:
"Driver={MySQL};Server=mySrvName;Option=16834;Database=mydatabase;" (Sever参数也可以使用localhost作为其值)
o 远程数据库:
"Driver={mySQL};Server=data.domain.com;Port=3306;Option=131072;Stmt=;Database=my-database;Uid=username;Pwd=password;"
Option值 取值的含义
1 客户端不能处理MyODBC返回一列真实宽度的情况
2 客户端不能处理MySQL返回影响的行的真实值的情况如果设置此标志,MySQL返回’found rows’。 MySQL 3.21.14或更新版才能生效
4 在c:myodbc.log中生成一个调试日志。这与在`AUTOEXEC.BAT''中的设置MYSQL_DEBUG=d:t:O,c::myodbc.log相同
8 对于结果和参数不设置任何包限制
16 不使驱动器弹出问题
32 使用或去除动态游标支持。这在MyODBC 2.50中是不允许的
64 在''database.table.column''中忽略数据库名字的使用
128 强制使用ODBC管理器游标
256 去除扩展取值(fetch)的使用
512 充满char字段满长度
1024 SQLDescribeCol()函数返回完全满足条件的列名
2048 使用压缩的服务器/客户端协议
4096 告诉服务器在函数后和''(''前忽略空格 (PowerBuilder需要)。这将产生所有函数名关键词
8192 使用命名管道连接运行在NT上的Mysqld服务器
16384 将LONGLONG列改为INTl列(有些应用不能处理LONGLONG列)
32768 从SQLTables中返回’user’作为Table_qualifier和Table_owner
66536 从客户端读参数,从`my.cnf''读ODBC群
131072 增加一些额外的安全性检查
如果你需要许多选项,你应该把以上标志相加。
· OLE DB, OleDbConnection (.NET)
o 标准连接:
"Provider=MySQLProv;Data Source=mydb;User Id=UserName;Password=asdasd;"
Data Source是MySQL数据库的名字,也可以使用server=localhost;DB=test
· MySqlConnection (.NET)