这是我第一次尝试使用SQL Server文件类型数据库。当我在IDE中运行但是当我双击exe或鼠标右键单击" Run Elevated,"尝试连接时出错。
在两种模式下运行时,消息框显示相同的连接字符串。
可能是什么问题?某种权限问题?
MessageBox.Show(ApplicationParameter.LocalDatabaseConnectionString);
databaseConnection = new SqlConnection(ApplicationParameter.LocalDatabaseConnectionString);
databaseConnection.Open();
我得到以下SqlException:
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:50 - 发生本地数据库运行时错误。在LocalDB实例启动期间发生错误:SQL Server进程无法启动。
以下是app.config文件中的连接字符串:
<connectionStrings>
<add name="LocalDatabase" connectionString="Data Source=(localdb)\v11.0;Initial Catalog=C:\MYCODE\MyCompany.DISKMONITOR\MyCompany.DISKMONITOR\DATA\DATABASE.MDF;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False"/>
</connectionStrings>
我的班级用于阅读app config:
class ApplicationParameter
{
public static string LocalDatabaseConnectionString
{
get
{
return ConfigurationManager.ConnectionStrings["LocalDatabase"].ConnectionString;
}
}
}
更新:
我以管理员身份运行并获得了相同的结果。
答案 0 :(得分:0)
Connections.Classified包含特定于db位置的信息,要使用的实例和用户名/密码信息。不会发布...
这是我在所有应用程序中使用的SQLConnections.cs类(我的是oracle,我刚刚更新它以使用SQL):
private String connectionString = "Server=" + SERVER + "\\" + INSTANCE + ";Database=" + DATABASE + ";User Id="+ USER + ";Password=" + PASSWORD + ";"
protected SQLConnection getConnection()
{
return new SQLConnection(connectionString);
}
在扩展Connections.SQLConnections的repo类中使用:
SQLConnection connection = getConnection();
对于其他人来说,阅读代码,理解不那么混乱和容易。