我有下面的C#代码用于VS2013中的数据库连接,运行时我会得到以下错误消息,如何绕过它。
private void Form1_Load(object sender, EventArgs e)
{
//using (SqlConnection conn = new SqlConnection())
//{
try
{
//con = new System.Data.SqlServerCe.SqlCeConnection();
conn = new System.Data.SqlClient.SqlConnection();
conn.ConnectionString = "Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\\vs2013projects\\WFDBApp\\WFDBApp\\Dbapp.mdf;Integrated Security=True";
conn.Open();
MessageBox.Show("Openned database well");
conn.Close();
}
catch
{
MessageBox.Show("failed to connect");
//conn.Close();
}
//}
}错误信息:
'WFDBApp.vshost.exe‘(CLRv4.0.30319: WFDBApp.vshost.exe):已加载的WFDBApp.vshost.exe符号已加载。'WFDBApp.vshost.exe‘(CLRv4.0.30319: WFDBApp.vshost.exe):已加载的WFDBApp.vshost.exe跳过装载符号。对模块进行了优化,并启用了调试器选项“只是我的代码”。'WFDBApp.vshost.exe‘(CLRv4.0.30319: WFDBApp.vshost.exe):已加载的WFDBApp.vshost.exe跳过装载符号。对模块进行了优化,并启用了调试器选项“只是我的代码”。'WFDBApp.vshost.exe‘(CLRv4.0.30319: WFDBApp.vshost.exe):已加载的WFDBApp.vshost.exe跳过装载符号。对模块进行了优化,并启用了调试器选项“只是我的代码”。 第一次出现'System.Data.SqlClient.SqlException‘类型的异常发生在System.Data.dll中,线程0x1788已经退出代码259 (0x103)。线程0x1428与代码259 (0x103)一起退出。程序'7048 WFDBApp.vshost.exe‘已退出代码0 (0x0)。
发布于 2015-05-30 00:44:43
错误很可能是由不正确的连接字符串引起的。有几个指向Server文件的连接字符串的规范示例.mdf (请参阅MSDN:https://msdn.microsoft.com/en-us/library/jj653752%28v=vs.110%29.aspx):
使用localDB语法:
<add name="ConnectionStringName"
providerName="System.Data.SqlClient"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFileName=|DataDirectory|\DatabaseFileName.mdf;InitialCatalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True" />
<add name="ConnectionStringName"
providerName="System.Data.SqlClient"
connectionString="Server=(LocalDB)\v11.0;Initial File Name=|DataDirectory|\DatabaseFileName.mdf;Database=DatabaseName;Trusted_Connection=True;MultipleActiveResultSets=True" />其他可能的备选办法如下:
<add name="ConnectionStringName"
providerName="System.Data.SqlClient"
connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True"/>
<add name="ConnectionStringName"
providerName="System.Data.SqlClient"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFileName=|DataDirectory|\DatabaseFileName.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True" />选择与您的情况相关的一个,并确保您使用的语法正确。
另外,请记住数据库(基于文件的security DatabaseFileName.mdf)可以受到密码保护:如果是这样,那么您必须将此信息包含到连接字符串中(通常这种连接字符串存储在.config文件中以确保安全)。在后面的常规代码中,应该使用以@开头的逐字字符串(而不是双反斜杠"\\")。
希望这能帮上忙。诚挚的问候,
https://stackoverflow.com/questions/30540619
复制相似问题