строка соединения с sql
27.05.2009
11:36
#1
"Сначало я создал ComObject("ADODB.Connection"), но потом на форуме нашел код в котором используются еще два com объекта COMObject("ADODB.Command") ComObject("ADODB.RecordSet"), но не понял для чего они нужны потом нашел на форуме образец подключения к Microsoft SQL Server 2005 (Microsoft SQL Server Management Studio) через 1с ("Provider=SQLOLEDB;Driver={SQL Server}; Deleted=No; Data Source = ") + SQLServer + (";UID=") + Login + ("; PWD=") + Password + (";");. этот код мне не совсем понятен. Объсните как проще написать строку подключения к Microsoft SQL Server 2005 (Microsoft SQL Server Management Studio) и для чего нужно создавать эти com объекты COMObject("ADODB.Command") ComObject("ADODB.RecordSet")."
27.05.2009
15:59
#2
"Очень упрощённо:
- Connection - для соединения с базой
- Command - для выполнения запросов к базе
- RecordSet - это результат выполнения запроса к базе (таблица значений)
Для подключения к БД тебе понадобится строка подключения (connection string). В примере ниже это "Provider=SQLOLEDB; Server=DB\SQL2005; Database=DatabaseName; Trusted_Connection=yes;".
Приведу пример кода соединения с базой и выполнения простейшего запроса. Обработку ошибок опускаю, дабы не загромождать код:
// подключаемся к базе
Соединение=ПолучитьCOMОбъект("""","ADODB.Connection");
Соединение.ConnectionTimeOut=600;
Соединение.Open("Provider=SQLOLEDB; Server=DB\SQL2005; Database=DatabaseName; Trusted_Connection=yes;");
// выполняем запрос
cmd=ПолучитьCOMОбъект("""","ADODB.Command");
cmd.ActiveConnection=Соединение;
cmd.CommandTimeOut=600;
cmd.CommandType=1; // запрос на языке SQL
cmd.Commandtext="select * from TableName";
Rs=ПолучитьCOMОбъект("""","ADODB.RecordSet");
Rs.ActiveConnection=Соединение;
Rs=Cmd.Execute();
// перегоняем результат выполнения запроса в таблицу значений для последующей обработки
таб=новый таблицазначений;
колво=Rs.Fields.Count();
Для i=1 по колво Цикл
наим=Rs.Fields(i-1).Name;
наим=стрзаменить(наим,"/","_");
таб.колонки.Добавить(наим);
КонецЦикла;
Пока Rs.EOF()=0 Цикл
т=таб.добавить();
Для i=0 по колво-1 Цикл
т.Установить(i,Rs.Fields(i).Value);
КонецЦикла;
Rs.MoveNext();
КонецЦикла;
// закрываем соединение
Соединение.Close();"
- Connection - для соединения с базой
- Command - для выполнения запросов к базе
- RecordSet - это результат выполнения запроса к базе (таблица значений)
Для подключения к БД тебе понадобится строка подключения (connection string). В примере ниже это "Provider=SQLOLEDB; Server=DB\SQL2005; Database=DatabaseName; Trusted_Connection=yes;".
Приведу пример кода соединения с базой и выполнения простейшего запроса. Обработку ошибок опускаю, дабы не загромождать код:
// подключаемся к базе
Соединение=ПолучитьCOMОбъект("""","ADODB.Connection");
Соединение.ConnectionTimeOut=600;
Соединение.Open("Provider=SQLOLEDB; Server=DB\SQL2005; Database=DatabaseName; Trusted_Connection=yes;");
// выполняем запрос
cmd=ПолучитьCOMОбъект("""","ADODB.Command");
cmd.ActiveConnection=Соединение;
cmd.CommandTimeOut=600;
cmd.CommandType=1; // запрос на языке SQL
cmd.Commandtext="select * from TableName";
Rs=ПолучитьCOMОбъект("""","ADODB.RecordSet");
Rs.ActiveConnection=Соединение;
Rs=Cmd.Execute();
// перегоняем результат выполнения запроса в таблицу значений для последующей обработки
таб=новый таблицазначений;
колво=Rs.Fields.Count();
Для i=1 по колво Цикл
наим=Rs.Fields(i-1).Name;
наим=стрзаменить(наим,"/","_");
таб.колонки.Добавить(наим);
КонецЦикла;
Пока Rs.EOF()=0 Цикл
т=таб.добавить();
Для i=0 по колво-1 Цикл
т.Установить(i,Rs.Fields(i).Value);
КонецЦикла;
Rs.MoveNext();
КонецЦикла;
// закрываем соединение
Соединение.Close();"
27.05.2009
17:25
#4
Выходит ошибка (Microsoft OLE DB Provider for SQL Server): Недопустимый атрибут строки подключения
27.05.2009
17:53
#5
Солнышко, у тебя у сервера другое имя, и у базы данных другое имя, и я не уверен что у тебя настроено доверительное соединение (trusted connection). Соотв. и строка подключения у тебя будет иной.
На сайте приведены ШАБЛОНЫ строк подключения, в которые также следует подставить свои имена, пароли, названия БД и т.п.
Блин, учи программирование. Мал ты ещё для SQL...
На сайте приведены ШАБЛОНЫ строк подключения, в которые также следует подставить свои имена, пароли, названия БД и т.п.
Блин, учи программирование. Мал ты ещё для SQL...
Читают тему
(гостей: 1)