要在方法中建立odbc连接字符串,可以采用以下方法:
odbcConnection = new OdbcConnection();
odbcConnection.Connection = "DRIVER={MySQL ODBC 5.2w Driver};"
+ "SERVER=localhost;PORT=3306;"
+ "DATABASE=dbdemo2;UID=demo-user";
为什么在大括号中需要提及DRIVER?
答案 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关键字不使用来自 系统,驱动程序必须定义足够的关键字,以便驱动程序可以 仅使用连接中的信息连接到数据源 串。驱动程序定义连接到哪些关键字 数据源。
在这种情况下,尽管添加大括号并没有害处,但可能不需要它