SQL连接错误的原因

时间:2015-01-29 04:27:10

标签: c# sql asp.net visual-studio

在我的ASP.NET C#WebForms应用程序中,我正在尝试连接到我的SQL数据库。

连接后我收到错误:

  

错误[IM002] [Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序

我试图谷歌这个错误意味着什么,但结果并没有清楚地解释什么是错误的。 你能告诉我究竟是什么问题(它找不到数据库文件,它找到了文件,但数据库文件是不正确的版本等)?

以下是我执行的步骤:

  • 使用VS2013创建本地数据库。该文件位于“MyProjectPath \ App_Data \ Pages.mdf”
  • 数据库中填充了表和行
  • 我已通过'服务器资源管理器 - >连接到服务器 - 连接到服务器 - >键入我的计算机用户名'。没有出现错误
  • 在服务器资源管理器中,我测试了我与数据库的连接并且成功了。
  • 连接是'Microsoft SQL Server数据库文件(SqlClient)'
  • 我已将'ConnectionString'复制到web.config。一个重要的是字符串包含引号,我必须删除它们。
  • 我是否需要启动SQL Server Management Studio等外部应用程序?

连接字符串:

  

Data Source =(LocalDB)\ v11.0; AttachDbFilename =“C:\ VERY_LONG_PATH_THAT_HAS_SPACES \ App_Data \ Pages.mdf”; Integrated Security = True

我删除了引文:

<connectionStrings>
    <add name="MySQLConnStr" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\VERY_LONG_PATH_THAT_HAS_SPACES\App_Data\Pages.mdf;Integrated Security=True"/>
</connectionStrings>  

// My simple connection code where the runtime error occurs
try
{
    using (OdbcConnection connection = new OdbcConnection(ConfigurationManager.ConnectionStrings["MySQLConnStr"].ConnectionString))
    {
        // do stuff
    }
}
catch (Exception ex)
{
    Response.Write(ex.Message);
}

2 个答案:

答案 0 :(得分:0)

您要进行ODBC连接,您需要安装驱动程序。你可以建立SQL连接,这应该工作.. //将简单的连接代码更改为

try
{
SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["MySQLConnStr"].ConnectionString);
    connection.open();
}
catch (Exception ex)
{
    Response.Write(ex.Message);
}

答案 1 :(得分:0)

在三种解决方案中逐一尝试,它将帮助您解决问题。

  1. 您需要在管理工具中配置DSN =&gt; ODBC,安装驱动程序选择所有用户而不是当前用户

  2. 尝试在服务器上查找可在控制面板中找到的ODBC数据源管理器 - &gt;管理工具 - &gt;数据源(ODBC)。 (在64位Windows系统上,您必须显式调用c:\ windows \ syswow64 \ odbcad32.exe)并将驱动程序添加到“系统DSN”选项卡。

  3. 如果ODBC驱动程序不是64位,请尝试将您的应用程序编译为x86进程,它将起作用。