Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > MS VS 2008 + MS SQL = ?


Автор: Xonxt 17.9.2010, 13:42
Доброе время суток. 

Вопрос вроде бы тривиальный, но тем не менее, я на нём застрял.

Суть вот в чем. Вместе с MS Visual Studio 2008 у меня установился MS SQL Server 2005. Собственно необходимо создать проект, с использованием MS SQL как БД.

Если быть более точным, то это проект ASP.NET MVC 2.

Ну, как обычно, создаю проект. Жму Сервис -> Подключиться к базе данных. Как источник данных беру Microsoft SQL Server (SqlClient). в "Сервер" в выпадающем меню есть только вариант XONXT-ПК/SQLEXPRESS.
Далее ввожу имя БД и жму ОК. 
http://radikal.ru/F/s51.radikal.ru/i133/1009/38/2c4e074ceddf.jpg.html

Ну, она добавляется слева в "Обозревателе серверов":
http://radikal.ru/F/s49.radikal.ru/i123/1009/e1/ca60cad434e8.jpg.html

А дальше что? Ну я пытаюсь делать как привык:
Код
using System.Data.SqlClient;
using System.Data.Sql;
using System.Data.OleDb;

// ...

string str = @"Data Source=XONXT-ПК\SQLEXPRESS;Initial Catalog=mydb;Integrated Security=True";
var conn = new OleDbConnection( str );

try
{                
    conn.Open();
}
catch ( Exception ex)
{
    MessageBox.Show( ex.Message );       
}
 В качестве Connection String я взял ту строку, которая предлагается в свойствах БД. Ну вы поняли. 

Запускаю проект - ошибка. В исключении пишется что ожидается "Provider=SQLOLEDB;". Ну, добавляю это в строку подключения, все равно ошибка.

Что я делаю не так? Вроде бы ж работал уже с базами данных, все был нормально.. И в PHP с MySQL, и в том же C# с MS Access....


Автор: 6atoh 17.9.2010, 16:49
Может проще заюзать SqlConnection вместо OleDbConnection?

Автор: Xonxt 17.9.2010, 16:53
Цитата(6atoh @ 17.9.2010,  16:49)
Может проще заюзать SqlConnection вместо OleDbConnection?

Вот черт. Не могу поверить что моя ошибка была в такой мелочи. Спасибо, добрый и, главное, внимательный человек  smile 

Автор: 6atoh 17.9.2010, 17:13
Я бы не сказал, что это однозначно ошибка. На самом деле к SQL серверу можно подключиться и через OleDbConnection. Если ваша строка подключения выглядит так

Код

"Provider=SQLOLEDB;Data Source=XONXT-ПК\SQLEXPRESS;Initial Catalog=mydb;Integrated Security=True;"

, то по идее все должно работать.

Но просто более правильно будет использовать в данном случае SqlConnection.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)