2015-01-29 2 views
0

В моем приложении ASP.NET C# WebForms я пытаюсь подключиться к моей базе данных SQL.Причина ошибки подключения SQL

После подключения я получаю ошибку:

ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

Я пытался Google, что эта ошибка означает, но результаты не четко объяснить, что случилось. Можете ли вы сказать мне, что именно не так (не обнаружив файл базы данных, он нашел файл, но файл базы данных является неправильной версией и т. Д.)?

Эти шаги я выполнил:

  • Создайте локальную базу данных с помощью VS2013. Файл находится в 'MyProjectPath \ App_Data \ Pages.mdf'
  • База данных заполнена таблицей и строками
  • Я подключился к серверу с помощью 'Server Explorer-> Connect To Server-> Тип на моем компьютере имя пользователя. Ошибок не возникает
  • В Обозревателе серверов я проверил мое соединение с базой данных, и это удалось.
  • Соединение «Файл базы данных 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); 
} 
+0

Нужно ли вам использовать OdbcConnection? Предпочитаете OLEDB. – Amit

ответ

0

Привет сделать ODBC соединения, необходимо иметь установленный драйвер. Вы можете сделать подключение к SQL и это должно работать .. // Изменение простого кода подключения к

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

Попробуйте на один ниже три решения, это поможет вам решить вашу проблему.

  1. Вам нужно настроить DSN в Средства администрирования => ODBC, при установке драйвера выберите для всех пользователей вместо нынешних пользователей

  2. Попробуйте посмотреть на сервере для администратора источников данных ODBC, который может быть найден в панели управления -> Администрирование -> Источники данных (ODBC). (В 64-битных системах Windows вам придется явно вызвать c: \ windows \ syswow64 \ odbcad32.exe) и добавить драйвер на вкладку System DSN.

  3. Если драйвер ODBC не был 64 бит, попробуйте скомпилировать приложение как процесс x86, и он будет работать.

Смежные вопросы