2

(我知道网上有很多这样的问题,我已经花了几天时间试图解决这个问题,但我没有得到任何结果。我是新手,所以请多多包涵)

1.问题

在我的朋友计算机(Vista Home Premium)上安装我的应用程序 SQL Server 2005 Express 并将数据库(mdf 文件)附加到新的 SQL 服务器后,每当我启动我的应用程序或在应用程序中打开一个新表单(C# windows 表单)时,我收到以下消息:

System.Data.SqlClient.SqlException:用户“”登录失败。用户未与受信任的 SQL Server 连接关联。

如果我单击“继续”,我可以读取/写入数据库并且应用程序按预期工作(直到我打开一个新表单并再次收到相同的消息)。

2.所以这就是我到目前为止所做的:

我已经打开了“SQL Server 和 Windows 身份验证模式”,因为我已经看到很多线程都建议这样做,但这并没有帮助。

我当前的连接字符串:

“数据源=.\SQLEXPRESS;初始目录=pj;集成安全=SSPI;”

由于我的连接字符串包含“.\SQLEXPRESS”,它将尝试连接“计算机名\用户名”,在我的情况下为“TONY-COMPUTER\TONY”,所以我添加了一个具有该名称的 SQL 用户以及角色成员身份 db_datareader 和db_datawriter 能够读取/写入数据库。

我还尝试了一个连接字符串,例如:

“数据源=.\SQLEXPRESS;初始目录=pj;用户ID=Tony;密码=123;”

然后添加 SQL 用户“Tony”。

但我不断收到同样的错误。令我困惑的是错误消息中没有用户名,我希望看到“TONY-COMPUTER\TONY”或“Tony”,但它是空白的。

非常感谢任何帮助!

/托尼

4

2 回答 2

1

如果您收到 Sql 身份验证错误,但您的程序仍然能够访问您的数据库,那么这表明您正在尝试以两种不同的方式访问数据库。

你确定你没有一些不必要的代码来尝试访问数据库可能使用一些硬编码的连接字符串?

如果您使用 Visual Studio 设计器定义了连接,有时可能会发生这种情况,其设置可能存储在 Designer.cs 文件中,但随后可能会在运行时使用正确的连接字符串被覆盖。在您的开发机器上,硬编码的连接字符串可能会起作用,因此不会被注意到。

这也可以解释为什么错误与实际连接字符串没有任何关系。

于 2012-05-21T19:25:54.133 回答
0

你在视觉工作室编程吗?如果是,您是否尝试在服务器资源管理器中添加数据连接?如果你有,你可以右键单击你的连接,选择属性,然后你可以选择连接字符串。只需更改用户名和密码。

还有什么可以帮助的

于 2012-05-21T13:39:59.680 回答