我遇到了需要连接数据库的应用程序的问题。以下是我的一些连接字符串:
public static SqlConnection CustomerDatabaseConnection = new SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=" + CustomerVariables.CustomerDatabasePath + ";Integrated Security=True;Connect Timeout=30");
public static SqlConnection TemplateDatabaseConnection = new SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=" + TemplateVariables.TemplateDatabasePath + ";Integrated Security=True;Connect Timeout=30");
使用以下代码获取CustomerVariables.CustomerDatabasePath的路径:
public static string baseDirectory = System.IO.Path.GetFullPath("..\\..\\");
public static string CustomerDatabasePath = System.IO.Path.Combine(GeneralVariables.baseDirectory, "CustomerDatabase.mdf");
然后我使用以下数据适配器代码:
public static string CustomerDatabaseSQL = "SELECT* From " + AccountVariables.Username;
public static SqlDataAdapter CustomerDataAdapter = new SqlDataAdapter(CustomerVariables.CustomerDatabaseSQL, CustomerVariables.CustomerDatabaseConnection);
但是当我尝试填写数据适配器时出现以下错误:
CustomerVariables.CustomerDataAdapter.Fill(customersDatabaseDataSet);
建立与SQL Server的连接时发生网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及SQL Server是否配置为允许远程连接(提供程序:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)
答案 0 :(得分:1)
确保SQL Server服务正在运行,很可能不是。
按Windows键+ R并在“运行”窗口中键入services.msc,然后运行SQL Server服务
答案 1 :(得分:0)
问题在于原始连接字符串中的.mdf,例如
public static SqlConnection CustomerDatabaseConnection = new SqlConnection("Server=localhost;" + "Database=CustomerDatabase.mdf");
如果为所有用户的数据创建了类型化数据表并使用表适配器更新这些数据表,则应从原始连接字符串中删除.mdf,问题将得到解决。