在dot Net 大行其道的今天。。。。。。
要记住那得先找到格式;
1 连接字符器的生成规则:(参考:http://connectionstrings.com/Articles/Show/important-rules-for-connection-strings)
- 所有的空白符[1]都会被忽略,除非它出现在值[4]部分,或者在双引号("[2])中间。
- 尽管空白字符会在机器层面上影响到连接池,因为池化的连接必须具有完全相同的连接字符串。
- 如果值[4]中包含有分号,用双引号定界。
- 如果值[4]中包含引号(双引号,或单引号),用未出现的另一种引号定界。
- 不支持转义序列。
- 值[4]的类型不是十分重要。
- 名称是不 分 大 小 写的。
- 如果键=值[4]对出现了多次以最后一次出现的为准,PROVIDER除外,它是以第一次出现为准。
- 如果键[4]中包含等号[5],在它前面必须多加一个等号[5]来表示它是键[4]的一部分.
首先我要声明的是这个格式应该是本来就存在的,但由于我的知识的信息水平有限,我没有办法找到,拿到严格意义上的标准文档,所以只有通过从实际中对比查找的方法总结出这个所谓的格式,如果您知道会手中有相关文档请一定通知我一声,不甚感激。好了开始了。。
OLE DB Provider for Oracle (Microsoft) | Provider=MSDAORA; | Data Source=myOracleDB; | User Id=myUserName; | Password=myPassword; |
OLE DB Provider for Oracle (Oracle) | Provider=OraOLEDB.Oracle; | Data Source=myOracleDB; | User Id=myUserName; | Password=myPassword; |
OLE DB Provider for Sql Server | Provider=sqloledb; | Data Source=myServerName;Initial Catalog=myDataBase; | User Id=myLogin | Password=myPassword; |
OLE DB Provider for MySql | Provider=MySQLProv; | Data Source=mydb; | User Id=myUserName; | Password=myPass; |
OLE DB Provider Name | Provider | Data Source | User Id | Password |
---|
如你所见,我处心积虑地把这些个串放到一个表格里面,不小得你看到后有没有感觉哈。再看表脚。恩恩。就是这样了。
故技重施,再来一个表格。Microsoft Access ODBC Driver | Driver={Microsoft Access Driver (*.mdb)}; | Dbq=C:\mydatabase.mdb; | Uid=Admin; | Pwd=myPass; |
Oracle in OraHome92 | Driver={Oracle in OraHome92}; | Dbq=myTNSServiceName; | Uid=myUsername; | Pwd=myPassword; |
Microsoft ODBC for Oracle | Driver={Microsoft ODBC for Oracle}; | Server=myServerAddress; | Uid=myUsername; | Pwd=myPassword; |
ODBC Driver for SQL 2000 | Driver={SQL Server}; | Server=myServerAddress;Database=myDataBase; | Uid=myUsername; | Pwd=myPassword; |
ODBC Driver for SQL 2005 | Driver={SQL Native Client}; | Server=myServerAddress;Database=myDataBase; | Uid=myUsername; | Pwd=myPassword; |
ODBC Driver Name | Driver | DataBase Location | Uid | Pwd |
---|
哈,就是这个,这个ODBC DRIVER 看起来比OLE DB 来得 更文达其意了些。
到现在差不多就可以把OLE DB ODBC 的几个常见的连接字符串记下来了吧?
作为最为广大“开发人员”(用户)着想的微软,为了解决我们做前面3步的困难,毅然地提出了,十分好用的的ADO.net, 来看看,ADO.net 的连接字符串, 不来表格了。
MySql.Data.MySqlClient.MySqlConnection(MySql)
Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
System.Data.SqlClient.SqlConnection(Microsoft)
Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;
或者
Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
System.Data.OracleClient.OracleConnection
Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;Integrated Security=no;
可以看出这里面已经没有了,关于Provider 或者 Driver 的细节了,只有和连接相关的信息,server 啊, Database 啊。。
后记,通过自我总结,的确记住了些连接字符串,但有些小小的遗憾,微软的OPEN 体系在.net 平台上仍然没有很好的统一起来。
注释:
[1]如 0AH, 0DH, 20H, 09H这些都算,详见 .
[2]ASCII, 34H.
[3]ASCII, 3BH.
[4]连接字符串是由多个键=值对(key=value pair)组成的。如Provider=sqloledb;Data Source=(local)
[5]ASCII, 3DH.