使用odbc做字符串连接时应该注意避免一些特殊字符导致无法连接数据库
一般的,对于常用数据库oracle, mysql, sqlserver, db2 ...,不应该出现: [ ] { } ( ) , ; ? * = ! @ | , 这些字符.
对于Amazon Redshift, 单引号('),双引号("), 正斜杠{/},反斜杠(\)都不应该出现
如何避免这个问题
有看到记录说 使用 {} 包围特殊字符,可以实现转义,首先{}本身就是特殊字符;另外经过尝试并不能实现转义的功能.
查资料得到的结论是:如果用户名,密码,驱动名称...中含有特殊字符,只能修改.
参考:Special character restrictions of username and password in ODBC connection for Diamond and Platinum gateways