数据库连接符大全.docx
《数据库连接符大全.docx》由会员分享,可在线阅读,更多相关《数据库连接符大全.docx(13页珍藏版)》请在冰点文库上搜索。
![数据库连接符大全.docx](https://file1.bingdoc.com/fileroot1/2023-5/16/2e17a80b-0721-4c1d-8224-02ca6f9f3938/2e17a80b-0721-4c1d-8224-02ca6f9f39381.gif)
数据库连接符大全
数据库连接符大全
关键词:
ADO数据库连接符
在数据库的各种应用程序开发中,连接数据库是数据库应用程序开发的第一步,同时也是最重要的一步。
而对于不同的数据库他们的连接模式各有不同,对应的连接串也不同。
程序员可能都有这样的经历,有时不知道连接数据库所需要的连接串究竟如何写或者经常写错而导致不能正确访问数据库。
当然很多编程工具能够通过可视化的界面直接产生正确的连接字符串,但字符串中各个参数的具体含义也不清楚,经常混淆。
本文就针对大部分常用数据库列举出不同连接方法所需要的连接字符串并加以说明,以便程序员参考!
SqlServer
·ODBC
o标准连接(StandardSecurity):
"Driver={SQLServer};Server=Aron1;Database=pubs;Uid=sa;Pwd=asdasd;"
1)当服务器为本地时Server可以使用(local);
"Driver={SQLServer};Server=(local);Database=pubs;Uid=sa;Pwd=asdasd;"
2)当连接远程服务器时,需指定地址、端口号和网络库
"Driver={SQLServer};Server=130.120.110.001;Address=130.120.110.001,1052;Network=dbmssocn;Database=pubs;Uid=sa;Pwd=asdasd;"
注:
Address参数必须为IP地址,而且必须包括端口号
o信任连接(Trustedconnection):
(MicrosoftWindowsNT集成了安全性)
"Driver={SQLServer};Server=Aron1;Database=pubs;Trusted_Connection=yes;"
或者
"Driver={SQLServer};Server=Aron1;Database=pubs;Uid=;Pwd=;"
o连接时弹出输入用户名和口令对话框:
Conn.Properties("Prompt")=adPromptAlways
Conn.Open"Driver={SQLServer};Server=Aron1;DataBase=pubs;"
·OLEDB,OleDbConnection(.NET)
o标准连接(StandardSecurity):
"Provider=sqloledb;DataSource=Aron1;InitialCatalog=pubs;UserId=sa;Password=asdasd;"
o信任连接(Trustedconnection):
"Provider=sqloledb;DataSource=Aron1;InitialCatalog=pubs;IntegratedSecurity=SSPI;"
(如果连接一个具体的已命名SQLServer实例,使用DataSource=ServereName\InstanceName;但仅适用于SQLServer2000)例如:
”Provider=sqloledb;DataSource=MyServerName\MyInstanceName;InitialCatalog=MyDatabaseName;UserId=MyUsername;Password=MyPassword;”
o连接时弹出输入用户名和口令对话框:
Conn.Provider="sqloledb"
Conn.Properties("Prompt")=adPromptAlways
Conn.Open"DataSource=Aron1;InitialCatalog=pubs;"
o通过IP地址连接:
"Provider=sqloledb;DataSource=190.190.200.100,1433;NetworkLibrary=DBMSSOCN;InitialCatalog=pubs;UserID=sa;Password=asdasd;"
(DBMSSOCN=TCP/IP代替NamedPipes,DataSource的末尾是需要使用的端口号(缺省为1433))
·SqlConnection(.NET)
o标准连接(StandardSecurity):
"DataSource=Aron1;InitialCatalog=pubs;UserId=sa;Password=asdasd;"
或者
"Server=Aron1;Database=pubs;UserID=sa;Password=asdasd;Trusted_Connection=False"
(这两个连接串的结果相同)
o信任连接(Trustedconnection):
"DataSource=Aron1;InitialCatalog=pubs;IntegratedSecurity=SSPI;"
或者
"Server=Aron1;Database=pubs;Trusted_Connection=True;"
(这两个连接串的结果相同)
(可以用serverName\instanceName代替DataSource,取值为一个具体的SQLServer实例,但仅适用于SQLServer2000)
o通过IP地址连接:
"DataSource=190.190.200.100,1433;NetworkLibrary=DBMSSOCN;InitialCatalog=pubs;UserID=sa;Password=asdasd;"
(DBMSSOCN=TCP/IP代替NamedPipes,DataSource的末尾是需要使用的端口号(缺省为1433))
oSqlConnection连接的声明:
C#:
usingSystem.Data.SqlClient;
SqlConnectionSQLConn=newSqlConnection();
SQLConn.ConnectionString="myconnectionstring";
SQLConn.Open();
VB.NET:
ImportsSystem.Data.SqlClient
DimSQLConnAsSqlConnection=NewSqlConnection()
SQLConn.ConnectionString="myconnectionstring"
SQLConn.Open()
·DataShape
oMSDataShape
"Provider=MSDataShape;DataProvider=SQLOLEDB;DataSource=Aron1;InitialCatalog=pubs;UserID=sa;Password=asdasd;"
·更多
o如何定义使用哪个协议
§举例:
"Provider=sqloledb;DataSource=190.190.200.100,1433;NetworkLibrary=DBMSSOCN;InitialCatalog=pubs;UserID=sa;Password=asdasd;"
名称网络协议库
dbnmpntwWin32NamedPipes
dbmssocnWin32WinsockTCP/IP
dbmsspxnWin32SPX/IPX
dbmsvinnWin32BanyanVines
dbmsrpcnWin32Multi-Protocol(WindowsRPC)
§重要提示
当通过SQLOLEDB提供者进行连接时使用以下语法:
NetworkLibrary=dbmssocn
但通过MSDASQL提供者进行连接时使用以下语法:
Network=dbmssocn
o所有SqlConnection连接串属性
§下表显示了ADO.NETSqlConnection对象的所有连接串属性.其中大多数的属性也在ADO中使用.所有属性和描述来自于msdn.
名称缺省值描述
ApplicationName应用程序名称或者当没有提供应用程序时为.NetSqlClient数据提供者
AttachDBFilename或者extendedproperties或者InitialFileName主要文件的名字,包括相关联数据库的全路径。
数据库名字必须通过关键字''''database''''来指定。
ConnectTimeout或者ConnectionTimeout15在中止连接请求,产生错误之前等待服务器连接的时间(以秒为单位)
ConnectionLifetime0当一个连接返回到连接池,当前时间与连接创建时间的差值,如果时间段超过了指定的连接生存时间,此连接就被破坏。
它用于聚集设置中在运行服务器和准备上线的服务器之间强制负载平衡。
ConnectionReset''''true''''当连接从连接池移走时决定是否重置数据库连接。
当设置为''''false''''时用于避免获得连接时的额外服务器往复代价。
CurrentLanguageSQLServer语言记录名称
DataSource或Server或Address或Addr或NetworkAddress要连接的SQLServer实例的名字或者网络地址
Enlist''''true''''为真时,连接池自动列出创建线程的当前事务上下文中的连接。
InitialCatalog或Database数据库名
IntegratedSecurity或者Trusted_Connection''''false''''连接是否为信任连接。
其取值为''''true'''',''''false''''和''''sspi''''(等于''''true'''').
MaxPoolSize100连接池中允许的最大连接数
MinPoolSize0连接池中允许的最小连接数
NetworkLibrary或Net''''dbmssocn''''网络库用于建立与一个SQLServer实例的连接。
值包括dbnmpntw(命名管道),dbmsrpcn(多协议),dbmsadsn(AppleTalk),dbmsgnet(VIA),dbmsipcn(共享内存)和dbmsspxn(IPX/SPX),和dbmssocn(TCP/IP).所连接的系统必须安装相应的动态链接库。
如果你没有指定网络,当你使用一个局部的服务器(例如,"."或者"(local)"),将使用共享内存
PacketSize8192与SQLServer的一个实例通讯的网络包字节大小
Password-或PwdSQLServer帐户登录口令
PersistSecurityInfo''''false''''设置为''''false'''',当连接已经打开或者一直处于打开状态时,敏感性的安全信息(如口令)不会返回作为连接的一部分信息。
Pooling''''true''''为真时,从合适的连接池中取出SQLConnection对象,或者必要时创建SQLConnection对象并把它增加到合适的连接池中。
UserIDSQLServer登录用户
WorkstationIDthelocalcomputername连接到SQLServer的工作站名称
§注意:
使用分号分隔每个属性
如果一个名字出现多于两次,在连接串中的最后一次出现的值将被使用。
如果你通过在应用中由用户输入字段的值来构建连接串,你必须保证用户不会通过用户值里的另一个值插入到一个额外的属性来改变连接串。
Access
·ODBC
o标准连接(StandardSecurity):
"Driver={MicrosoftAccessDriver(*.mdb)};Dbq=C:
\mydatabase.mdb;Uid=Admin;Pwd=;"
o组(系统数据库)连接(Workgroup):
两种方法分别为:
在连接串或在打开数据集中指定用户名和口令
"Driver={MicrosoftAccessDriver(*.mdb)};Dbq=C:
\mydatabase.mdb;SystemDB=C:
\mydatabase.mdw;","admin",""
或
if(pDB.Open("Driver={MicrosoftAccessDriver(*.mdb)};Dbq=C:
\mydatabase.mdb;SystemDB=C:
\mydatabase.mdw;","","DatabaseUser","DatabasePass"))
{DoSomething();
pDB.Close();
}
o独占方式(Exclusive):
"Driver={MicrosoftAccessDriver(*.mdb)};Dbq=C:
\mydatabase.mdb;Exclusive=1;Uid=admin;Pwd="
·OLEDB,OleDbConnection(.NET)
o标准连接(StandardSecurity):
"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=\somepath\mydb.mdb;UserId=admin;Password=;"
o组连接(系统数据库)
"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=\somepath\mydb.mdb;JetOLEDB:
SystemDatabase=system.mdw;","admin",""
o带口令的连接:
"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=\somepath\mydb.mdb;JetOLEDB:
DatabasePassword=MyDbPassword;","admin",""
·Oracle
·ODBC
o新版本:
"Driver={MicrosoftODBCforOracle};Server=OracleServer.world;Uid=Username;Pwd=asdasd;"
o旧版本:
"Driver={MicrosoftODBCDriverforOracle};ConnectString=OracleServer.world;Uid=myUsername;Pwd=myPassword;"
·OLEDB,OleDbConnection(.NET)
o标准连接(StandardSecurity):
"Provider=msdaora;DataSource=MyOracleDB;UserId=UserName;Password=asdasd;"
这是Microsoft的格式,下面是Oracle的格式(提供者不同)
"Provider=OraOLEDB.Oracle;DataSource=MyOracleDB;UserId=Username;Password=asdasd;"
注意:
"DataSource="必须根据相应的命名方法设置为Net8名称。
例如对于局部命名,它是tnsnames.ora中的别名,对于Oracle命名,它是Net8网络服务名
o信任连接(TrustedConnection):
"Provider=OraOLEDB.Oracle;DataSource=MyOracleDB;OSAuthent=1;"
或者设置userID为"/"
"Provider=OraOLEDB.Oracle;DataSource=MyOracleDB;UserId=/;Password=;"
·OracleConnection(.NET)
o标准连接:
"DataSource=Oracle8i;IntegratedSecurity=yes";
这只对Oracle8irelease3或更高版本有效
oOracleConnection声明:
C#:
usingSystem.Data.OracleClient;
OracleConnectionOracleConn=newOracleConnection();
OracleConn.ConnectionString="myconnectionstring";
OracleConn.Open();
VB.NET:
ImportsSystem.Data.OracleClient
DimOracleConnAsOracleConnection=NewOracleConnection()
OracleConn.ConnectionString="myconnectionstring"
OracleConn.Open()
·DataShape
oMSDataShape:
"Provider=MSDataShape.1;PersistSecurityInfo=False;DataProvider=MSDAORA;DataSource=orac;userid=username;password=mypw"
·MySQL
·ODBC
o本地数据库:
"Driver={mySQL};Server=mySrvName;Option=16834;Database=mydatabase;"
Sever参数也可以使用localhost作为其值
o远程数据库:
"Driver={mySQL};Server=;Port=3306;Option=131072;Stmt=;Database=my-database;Uid=username;Pwd=password;"
Option值取值的含义
1客户端不能处理MyODBC返回一列真实宽度的情况
2客户端不能处理MySQL返回影响的行的真实值的情况如果设置此标志,MySQL返回’foundrows’。
MySQL3.21.14或更新版才能生效
4在c:
\myodbc.log中生成一个调试日志。
这与在`AUTOEXEC.BAT''''中的设置MYSQL_DEBUG=d:
t:
O,c:
:
\myodbc.log相同
8对于结果和参数不设置任何包限制
16不使驱动器弹出问题
32使用或去除动态游标支持。
这在MyODBC2.50中是不允许的
64在''''database.table.column''''中忽略数据库名字的使用
128强制使用ODBC管理器游标
256去除扩展取值(fetch)的使用
512充满char字段满长度
1024SQLDescribeCol()函数返回完全满足条件的列名
2048使用压缩的服务器/客户端协议
4096告诉服务器在函数后和''''(''''前忽略空格(PowerBuilder需要)。
这将产生所有函数名关键词
8192使用命名管道连接运行在NT上的Mysqld服务器
16384将LONGLONG列改为INTl列(有些应用不能处理LONGLONG列)
32768从SQLTables中返回’user’作为Table_qualifier和Table_owner
66536从客户端读参数,从`f''''读ODBC群
131072增加一些额外的安全性检查
如果你需要许多选项,你应该把以上标志相加。
·OLEDB,OleDbConnection(.NET)
o标准连接:
"Provider=MySQLProv;DataSource=mydb;UserId=UserName;Password=asdasd;"
DataSource是MySQL数据库的名字,也可以使用server=localhost;DB=test
·MySqlConnection(.NET)
oeInfoDesigns.dbProvider:
"DataSource=server;Database=mydb;UserID=username;Password=pwd;CommandLogging=false"
只适用于eInfoDesignsdbProvider,附加到.NET
oMySqlConnection的声明:
C#:
usingeInfoDesigns.dbProvider.MySqlClient;
MySqlConnectionMySqlConn=newMySqlConnection();
MySqlConn.ConnectionString="myconnectionstring";
MySqlConn.Open();
VB.NET:
ImportseInfoDesigns.dbProvider.MySqlClient
DimMySqlConnAsMySqlConnection=NewMySqlConnection()
MySqlConn.ConnectionString="myconnectionstring"
MySqlConn.Open()
·Interbase
·ODBC,Easysoft
o本地计算机:
"Driver={EasysoftIB6ODBC};Server=localhost;Database=localhost:
C:
\mydatabase.gdb;Uid=username;Pwd=password"
o远程计算机:
"Driver={EasysoftIB6ODBC};Server=ComputerName;Database=ComputerName:
C:
\mydatabase.gdb;Uid=username;Pwd=password"
·ODBC,Intersolv
o本地计算机:
"Driver={INTERSOLVInterBaseODBCDriver(*.gdb)};Server=localhost;Database=localhost:
C:
\mydatabase.gdb;Uid=username;Pwd=password"
o远程计算机:
"Driver={INTERSOLVInterBaseODBCDriver(*.gdb)};Server=ComputerName;Database=ComputerName:
C:
\mydatabase.gdb;Uid=username;Pwd=password"
这个驱动器现在由DataDirectTechnologies来提供(以前由Intersolv提供)
·OLEDB,SIBPROvider
o标准连接:
"provider=sibprovider;location=localhost:
;datasource=c:
\databases\gdbs\myg