gpt4 book ai didi

c# - 无法连接到数据库服务器

转载 作者:行者123 更新时间:2023-11-30 12:35:14 27 4
gpt4 key购买 nike

我遇到了数据库连接问题。我从一个新的空白解决方案开始,然后我添加了一个 WCF 库项目,最后但并非最不重要的一个 WCF 网站(服务)。在网站上,我添加了对具有接口(interface)(数据契约)的库的引用,实现接口(interface)的类和数据类。我想要做的是连接到服务器上的数据库并尝试从那里检索一些数据。所以连接字符串看起来像:

    <add name="myConnectionString" connectionString="Data Source=MyServer; Initial Catalog=MyDatabase; User Id=me; Password=me123;" providerName="System.Data.SqlClient" />

这就是我尝试连接数据库的方式:

    public List<string> GetEngagements(string id)
{
string sql = "SELECT myColumn FROM myTable WHERE Id = '" + id + "'";
string connString = string.Empty;
SqlConnection connDB;
connString = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
connDB = new SqlConnection(connString);
SqlCommand command = new SqlCommand(sql, connDB);
connDB.Open();
SqlDataReader rdr = command.ExecuteReader();
List<string> numbers = new List<string>();

while (rdr.Read())
{
numbers.Add(rdr[0].ToString());
}
rdr.Close();

return numbers;
}

我在 connDB.Open() 上遇到异常。然后异常消息说: 由于启动用户实例的进程失败,因此无法生成 SQL Server 的用户实例。连接将关闭。

我已经收到此消息 2 天了,我用谷歌搜索了很多并删除了 C:\Documents and Settings\username\Local Settings\Application Data\Microsoft\Microsoft SQL Server Data\SQLEXPRESS 目录,但它对我不起作用..

有什么办法吗????请帮忙

最佳答案

错误信息:

Failed to generate a user instance of SQL Server due to a failure in starting the process for the user instance.

建议您正在使用用户实例化,因此您的连接字符串将指向磁盘上的 .mdf 文件,而不是数据库的名称。 p>

所以我假设您想连接到文件实例而不是服务器实例。

我还假设您使用的是 SqlExpress 而不是完整版本。

在这种情况下,您的连接字符串是错误的。它应该看起来更像这样:

"Data Source=.\SQLEXPRESS;
AttachDbFilename=fileOnDisk.mdf;
Integrated Security=True;
User Instance=True;"

用户实例化意味着这个服务器实例和里面的数据库只会对打开连接字符串的应用程序可见。

您不必使用用户实例化 - 您可以设置 User Instance=False 或将其省略。然后,一旦应用程序建立了连接,您就可以将其他工具连接到服务器实例并自己连接到数据库。

关于c# - 无法连接到数据库服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5960623/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com