根据 SQLDriverConnect 的文档,
由于连接字符串和初始化文件语法的原因,应避免包含未用大括号括起来的字符 []{}(),;?*=!@ 的关键字和属性值。
和
包含任何字符 []{}(),;?*=!@ 的大括号 ({}) 括起来的 DSN 或连接字符串值被原封不动地传递给驱动程序。
使用连接字符串DSN=%s;UID=%s;PWD={%s}
在 SQLServer 中有效 - 事实上,如果有某些特殊字符,则不在 {} 中包含密码会失败。但是,对 MS Access 使用相同的字符串会因“密码无效”而失败,并且在{}
被删除时可以工作。它也不适用于 Oracle。
如果 {} 中包含的字符串原封不动地传递给服务器,那么它不应该工作吗?还是我错过了什么?