SQL身份验证连接错误,PW中的可疑字符

时间:2011-12-19 23:12:40

标签: c# sql web-config sqlclient

在web.config中:

<add name="conn" providerName="System.Data.SqlClient" connectionString="Server=SERVERNAME; Initial Catalog=INITIALDB; UID=username; PWD=+abc-def(;" />

我确保用户名在INITIALDB中具有db_owner角色,删除数据库用户并重新创建它。通过SSMS(使用上面的UID和PWD)连接到服务器并扩展数据库,我确保用户名密码有效。

有什么想法吗?我的智慧结束了,我无法轻易更改分配给我的密码......我认为这些角色中的任何一个都不需要转义,但显然存在问题。

更新:

错误与密码字符无关。我得到“无法打开数据库...登录请求。登录失败......”但是 - 当我从连接字符串中删除“初始目录”或“数据库”部分时,连接工作正常。事实证明,数据库的.MDF文件名与数据库名称不同(例如my_db_name和db_name.mdf)。因此,指定数据库或初始目录属性的连接字符串无法连接。分离,将MDF文件名更改为一致,并重新附加数据库实际上对问题进行了排序。奇怪吧?

1 个答案:

答案 0 :(得分:1)

以这种方式使用密码:&quot;+abc-def(;&quot;

像:

<add name="conn" providerName="System.Data.SqlClient" connectionString="Server=SERVERNAME; Initial Catalog=INITIALDB; UID=username; PWD=&quot;+abc-def(;&quot;" />