在dot Net 大行其道的今天。。。。。。

要记住那得先找到格式;

1 连接字符器的生成规则:(参考:http://connectionstrings.com/Articles/Show/important-rules-for-connection-strings

  1. 所有的空白符[1]都会被忽略,除非它出现在值[4]部分,或者在双引号("[2])中间。
  2. 尽管空白字符会在机器层面上影响到连接池,因为池化的连接必须具有完全相同的连接字符串。
  3. 如果值[4]中包含有分号,用双引号定界。
  4. 如果值[4]中包含引号(双引号,或单引号),用未出现的另一种引号定界。
  5. 不支持转义序列。
  6. [4]的类型不是十分重要。
  7. 名称是不 分 大 小 写的。
  8. 如果键=值[4]对出现了多次以最后一次出现的为准,PROVIDER除外,它是以第一次出现为准。
  9. 如果键[4]中包含等号[5],在它前面必须多加一个等号[5]来表示它是键[4]的一部分.

2 OLEDB PROVIDER 格式:

首先我要声明的是这个格式应该是本来就存在的,但由于我的知识的信息水平有限,我没有办法找到,拿到严格意义上的标准文档,所以只有通过从实际中对比查找的方法总结出这个所谓的格式,如果您知道会手中有相关文档请一定通知我一声,不甚感激。好了开始了。。

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

如你所见,我处心积虑地把这些个串放到一个表格里面,不小得你看到后有没有感觉哈。再看表脚。恩恩。就是这样了。

3 ODBC Driver 格式:

故技重施,再来一个表格。
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 的几个常见的连接字符串记下来了吧?

4 ADO.net 格式:

作为最为广大“开发人员”(用户)着想的微软,为了解决我们做前面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这些都算,详见http://en.wikipedia.org/wiki/Whitespace_%28computer_science%29 .

[2]ASCII, 34H.

[3]ASCII, 3BH.

[4]连接字符串是由多个键=值对(key=value pair)组成的。如Provider=sqloledb;Data Source=(local)

[5]ASCII, 3DH.

posted on 2009-09-24 12:10  qinghao  阅读(311)  评论(0编辑  收藏  举报

Copyright © 2009 qinghao Powered by: 博客园