Подключение к базе данных в SQL Server 2008
Автор jurteg, 08 фев 2010 13:10
Сообщений в теме: 7
#1
Отправлено 08 февраля 2010 - 13:10
Есть необходимость поработать с базой данных с помощью ТС, но никак не смог осуществить соединение с БД. На локальной машине установлен Microsoft SQL Server 2008:
DB name: game_db
user login: sa
user password: 1234
Пробовал по-всякому, и каждый раз сообщает о новой ошибке. Если кто знает как соединиться - прошу напишите решение.
Заранее спасибо.
DB name: game_db
user login: sa
user password: 1234
Пробовал по-всякому, и каждый раз сообщает о новой ошибке. Если кто знает как соединиться - прошу напишите решение.
Заранее спасибо.
#3
Отправлено 08 февраля 2010 - 14:32
Посмотрите здесь:
Connection strings for SQL Server 2008
Каждый вариант попробовал - не подходит, то ругается на "драйвер по-умолчанию", то на "провайдер".
Так же интересует строка, мелькающая во всех примерах:
ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;"+ "Data Source=C:\\Microsoft Visual Studio\\VB98\\biblio.mdb";
В частности параметр Provider, где и как можно глянуть какой он в моём случае, и почему не открывает .mdf файлы?
А возможно, что я чего-то не понял, и такая форма записи для SQL 2008 не годится.
P.S. Таким образом у меня не получилось ни открыть файл базы данных, лежащий на диске, ни подсоединиться к уже запущенному серверу с этой базой. Поправьте меня, если это одно и то же.
#4
Отправлено 08 февраля 2010 - 17:44
Попробуй
[codebox]
Set aCon = ADO.CreateConnection
aCon.ConnectionString = "Driver={SQL Native Client};Server=localhost\INSTANCE_NAME;Database=DB_NAME;Trusted_Connection=yes"
[/codebox]
У меня это работало в sql server 2005, для 2008 возможно нужно будет немного поменять имя драйвера (на {SQL Server Native Client 10.0}?).
[codebox]
Set aCon = ADO.CreateConnection
aCon.ConnectionString = "Driver={SQL Native Client};Server=localhost\INSTANCE_NAME;Database=DB_NAME;Trusted_Connection=yes"
[/codebox]
У меня это работало в sql server 2005, для 2008 возможно нужно будет немного поменять имя драйвера (на {SQL Server Native Client 10.0}?).
#5
Отправлено 09 февраля 2010 - 08:20
Попробуй
Set aCon = ADO.CreateConnection aCon.ConnectionString = "Driver={SQL Native Client};Server=localhost\INSTANCE_NAME;Database=DB_NAME;Trusted_Connection=yes"
У меня это работало в sql server 2005, для 2008 возможно нужно будет немного поменять имя драйвера (на {SQL Server Native Client 10.0}?).
Я пытался по-всякому. К примеру вот такой код:
var mydb = ADO.CreateConnection(); mydb.ConnectionString = "Driver = {SQL Server Native Client 10.0}; Server = localhost\SQLEXPRESS; Database = game_db; Trusted_connection = Yes"; mydb.Open(); mydb.Close();выдаёт ошибку при выполнении строки mydb.Open() :
[Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчаниюБлин, уже второй день с этим бьюсь ( Работа на месте стоит
#6
Отправлено 09 февраля 2010 - 09:17
У меня вот работает такой код
procedure ADOQuery;
var
ADOQuery: variant;
ConnectionString: String;
begin
ADOQuery := ADO.CreateADOQuery;
ConnectionString := 'Provider=SQLOLEDB.1;Password=ottpwork!@;Persist Security Info=True;User ID=sa;Initial Catalog=OTTPAUTOTEST77;Data Source=w248s3\sql2008';
ADOQuery.ConnectionString := ConnectionString;
ADOQuery.SQL := 'select top 1 Analit from MBAnalit';
ADOQuery.Open();
ShowMessage(ADOQuery.Field[0].AsString);
end;
procedure ADOQuery;
var
ADOQuery: variant;
ConnectionString: String;
begin
ADOQuery := ADO.CreateADOQuery;
ConnectionString := 'Provider=SQLOLEDB.1;Password=ottpwork!@;Persist Security Info=True;User ID=sa;Initial Catalog=OTTPAUTOTEST77;Data Source=w248s3\sql2008';
ADOQuery.ConnectionString := ConnectionString;
ADOQuery.SQL := 'select top 1 Analit from MBAnalit';
ADOQuery.Open();
ShowMessage(ADOQuery.Field[0].AsString);
end;
#7
Отправлено 09 февраля 2010 - 09:34
Решение проблемы найдено! Работает только такими двумя способами:
Т.е. с непосредственным указанием провайдера в таком Provider=SQLOLEDB.1 или таком виде Provider=SQLNCLI10, указанием имени компа и инстанса сервера Data Source=COR2ASUSWEBHTML\\SQLEXPRESS и обязательным экранированием слэша! Экранирование слэша, вероятно, будет верным решением не для всех скриптовых языков, но в JScript является обязательным.
Надеюсь это кому-то поможет. На том же Connectionstrings нигде не упоминается провайдер в таком виде: Provider=SQLOLEDB.1, но такая запись работает.
var mydb = ADO.CreateConnection(); mydb.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=game_db;Data Source=COR2ASUSWEBHTML\\SQLEXPRESS; Uid = sa; pwd=1234"; mydb.Open();либо
var mydb = ADO.CreateConnection(); mydb.ConnectionString = "Provider=SQLNCLI10;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=game_db;Data Source=COR2ASUSWEBHTML\\SQLEXPRESS; Uid = sa; pwd=1234"; mydb.Open();
Т.е. с непосредственным указанием провайдера в таком Provider=SQLOLEDB.1 или таком виде Provider=SQLNCLI10, указанием имени компа и инстанса сервера Data Source=COR2ASUSWEBHTML\\SQLEXPRESS и обязательным экранированием слэша! Экранирование слэша, вероятно, будет верным решением не для всех скриптовых языков, но в JScript является обязательным.
Надеюсь это кому-то поможет. На том же Connectionstrings нигде не упоминается провайдер в таком виде: Provider=SQLOLEDB.1, но такая запись работает.
#8
Отправлено 09 февраля 2010 - 12:30
Строку подключения можно получить следующим образом:
1. Создать файл с расширением *.udl.
2. Открыть файл и настроить соединение.
3. Сохранить файл.
4. Открыть этот файл в текстовом редакторе. Там будет нужная строка подключения.
1. Создать файл с расширением *.udl.
2. Открыть файл и настроить соединение.
3. Сохранить файл.
4. Открыть этот файл в текстовом редакторе. Там будет нужная строка подключения.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных