我已经看到了一些类似的问题,但没有一个问题得到了有效的解决方案。
我有一个asp.net网站,它使用某种方法引用dll,以便在数据库上执行简单的操作(CRUD操作)。 当我需要做一些“select * from”时,我调用一个dll方法将连接字符串传递给它,但是任何操作都会失败并显示如下错误信息: System.Data.SqlClient.SqlException:用户'DOMAIN \ MACHINENAME $'登录失败。
这是imposibile,而我的连接是正确的(用户id = sa;密码=密码),它与我用于我所有网站的连接搅拌相同。我没有使用集成安全性= true,我只是使用带有密码的sa帐户。
我所有的网站和这个项目之间的唯一不同就是CRUD操作来自不同的程序集(我的dll)。
代码非常简单:
// Asp.Net Button Click
MyDll.MyClass DbClass = new MyDll.MyClass();
DbClass.ConnectionString = "Data Source=Source;Integrated Security=false;initial Catalog=NorthWind;user id=sa;password=password;Persist Security Info=true";
DbClass.ExecuteQuery(select * from tableName);
// ExecuteQuery method do other stuff as SqlDataAdapter sda = new....sda.Fill(myDataset)..
..有什么想法吗?
答案 0 :(得分:2)
错误消息指出您正在尝试使用集成安全性并使用您的域帐户与sql server建立连接
但是您的连接字符串是正确的,并且dll可能有其连接字符串覆盖您给定的连接字符串