• note数据库字符串


    在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.

  • 相关阅读:
    Springboot使用PlatformTransactionManager接口的事务处理
    js 正则替换html标签
    【转】mysql查询时,查询结果按where in数组排序
    js输出字幕数字a-zA-Z0-9
    tcpdump使用教程
    rsync安装使用教程
    vim配置修改教程
    XD刷机报错bad CRC
    使用docker搭建seafile服务器
    案例:使用sqlplus登录报ORA-12547错误
  • 原文地址:https://www.cnblogs.com/qinghao/p/1573204.html
Copyright © 2020-2023  润新知