OdbcConnection字符串

时间:2018-11-12 23:15:46

标签: c# odbc database-connection

要在方法中建立odbc连接字符串,可以采用以下方法:

odbcConnection = new OdbcConnection();
odbcConnection.Connection = "DRIVER={MySQL ODBC 5.2w Driver};"
+ "SERVER=localhost;PORT=3306;"
+ "DATABASE=dbdemo2;UID=demo-user";

为什么在大括号中需要提及DRIVER?

1 个答案:

答案 0 :(得分:0)

从文档

OdbcConnection.ConnectionString Property

connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string  
empty-string ::=  
attribute ::= attribute-keyword=attribute-value | DRIVER=[{]attribute-value[}]  
attribute-keyword ::= DSN | UID | PWD  
 | driver-defined-attribute-keyword  
attribute-value ::= character-string  
driver-defined-attribute-keyword ::= identifier 
  

获取或设置用于打开数据源的字符串。

     

...

     

应用程序不必在驱动程序关键字后的属性值附近添加括号,除非属性包含分号   (;),在这种情况下需要使用大括号。如果属性值   驾驶员收到的带有大括号的东西,驾驶员不应卸下   它们,但它们应该是返回的连接字符串的一部分。

     

用大括号({})括起来的DSN或连接字符串值,其中包含任何字符[] {}(),;?* =!@都原封不动地传递给   驱动程序。但是,当您在关键字中使用这些字符时,   使用文件DSN时,驱动程序管理器返回错误,但是   将连接字符串传递给驱动程序以进行常规连接   字符串。避免在关键字值中使用大括号。

     

连接字符串可以包含任意数量的驱动程序定义   关键字。因为DRIVER关键字不使用来自   系统,驱动程序必须定义足够的关键字,以便驱动程序可以   仅使用连接中的信息连接到数据源   串。驱动程序定义连接到哪些关键字   数据源。

在这种情况下,尽管添加大括号并没有害处,但可能不需要它