Привет, я пытаюсь весь день подключаться к моей локальной базе данных sql-сервера с использованием ODBC, но, похоже, что-то не хватает, потому что каждый раз, когда я пытаюсь подключиться, я получаю эту ошибку:Ошибка строки подключения Odbc не удалась
ERROR [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot open database "Library.mdf" requested by the login. The login failed.
ERROR [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot open database "Library.mdf" requested by the login. The login failed.
Это мой исходный код:
private string connectionString;
public LibraryRepository()
{
connectionString = @"Driver={SQL Server};Server=(local);Trusted_Connection=Yes;Database=Library.mdf;";
}
public IEnumerable<Book> GetPersonDetails()
{
using (var conn = new OdbcConnection(connectionString))
{
conn.Open();
using (var command = new OdbcCommand("SELECT * FROM Books" , conn))
{
var reader = command.ExecuteReader();
while (reader.Read())
{
yield return new Book()
{
Id = (int) reader["Id"],
Name = (string)reader["Name"],
Author = (string)reader["Author"],
Description = (string)reader["Description"],
Price = (string)reader["Price"],
CategoryId = (string)reader["CategoryId"]
};
}
}
}
}
Я не совсем уверен, что строка conenction нормально, когда я смотрю на свойства базы данных в строке подключения я вижу эту строку:
Data Source=(local);Initial Catalog=Library;Integrated Security=True
Но если добавить эту строку в качестве строки подключения я получаю эту ошибку:
ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
Для того, чтобы veify если источник данных в порядке, я вошел в SSMS с (локальным) именем сервера, и это работает Я также вижу свою базу данных.
Я также установил NT AUTHORITY \ NETWORK SERVICE как db_owner после прочтения блога об этой проблеме, но все же я получаю сообщение об ошибке Не могу открыть запрос базы данных «Library.mdf» по логину.
Я не совсем уверен, что делать дальше, чтобы решить эту проблему. Кто-нибудь может предложить некоторые предложения?
Спасибо, что была проблема – aleczandru
Могу ли я спросить вас, почему вы хотите подключиться к SqlServer, используя ODBC вместо SqlClient? – Steve
@Steve Я думаю, что вы комментируете лучше, чем ваш ответ. Речь идет о проблеме _root_. –