|
v7: Подключение к MS SQL | ☑ | ||
---|---|---|---|---|
0
ВежливаяТварь
20.09.12
✎
10:33
|
Добрый день. Возникла необходимость подключиться к MSSQL 2005 EXPRESS из 1с 7.7 и с помощью запроса вытянуть информацию. В 8.2 я это делал. В 7.7 столкнулся с некоторыми трудностями. Не могли бы вы скинуть пример подключения или указать место где копать?
|
|||
1
Ёпрст
20.09.12
✎
10:38
|
простой запрос на ado и привет.
|
|||
2
Ёпрст
20.09.12
✎
10:38
|
что имеено за данные нужно получить ?
|
|||
3
ВежливаяТварь
20.09.12
✎
10:39
|
Информацию о расходных документах. Буду получать с помощью SQL запроса, он уже готов, теперь нужно понять как его передать.
|
|||
4
ВежливаяТварь
20.09.12
✎
10:40
|
Попытался портировать код из 8.2
ТаблицаЗагрузки=СоздатьОбъект(" ТаблицаЗначений"); ServerName=СокрЛП("192.168.2.57"); //имя или IP-адрес сервера DSN=СокрЛП("SWE_Monblan"); //имя базы данных UID=СокрЛП("sa"); //логин пользователя PWD=СокрЛП("sasasa"); //пароль ConnectString="Provider=SQLOLEDB;Data Source="+ServerName+";DatabaseName="+DSN+";Initial Catalog="+DSN+";UID="+UID+";PWD="+PWD; Соединение=СоздатьОбъект COMОбъект("ADODB.Connection"); Соединение.ConnectionTimeOut=600; Попытка Соединение.Open(ConnectString); Исключение Предупреждение("Не удалось соединиться с базой данных!"); Сообщить(ОписаниеОшибки()); КонецПопытки; Cmd=СоздатьОбъект COMОбъект("ADODB.Command"); Rs=СоздатьОбъект COMОбъект("ADODB.RecordSet"); Cmd.ActiveConnection=Соединение; Cmd.CommandTimeOut=600; Cmd.CommandType=1; //запрос на языке SQL ТекстЗапроса="SET NOCOUNT ON exec dbo.swra_Sales_Desktop @Date_From="+"'"+Формат(ДатаНачалаПроверки,"ДФ=ггггММдд")+"', @Date_To="+"'"+Формат(ДатаКонцаПроверки,"ДФ=ггггММдд")+"'"; Cmd.Commandtext=СокрЛП(ТекстЗапроса); Попытка Rs.ActiveConnection=Соединение; Rs=Cmd.Execute(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; КоличествоПолей=Rs.Fields.Count(); Попытка for i = 0 to RS.Fields.Count - 1 do //Создание и добавление колонок ColumnName = RS.Fields.Item(i).Name; ColumnName=СтрЗаменить(ColumnName,",",""); ColumnName=СтрЗаменить(ColumnName," ",""); ColumnName=СтрЗаменить(ColumnName,".",""); ColumnName=СтрЗаменить(ColumnName,"-",""); ТаблицаЗагрузки.Колонки.Добавить(ColumnName); enddo; while RS.EOF = 0 do // Заполнение созданной таблицы ТаблицаЗагрузки.Добавить(); for НомерСтолбца = 0 По RS.Fields.Count - 1 do ТаблицаЗагрузки.Установить(НомерСтолбца,RS.Fields(НомерСтолбца).Value); enddo; RS.MoveNext(); enddo; Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; Rs.Close(); Соединение.Close(); |
|||
5
VladZ
20.09.12
✎
10:43
|
(4) И что не получается?
|
|||
6
Ёпрст
20.09.12
✎
10:43
|
СоздатьОбъект COMОбъект
готично.. что за адская помесь снеговика с клюшками ? |
|||
7
VladZ
20.09.12
✎
10:45
|
ТаблицаЗагрузки.Колонки.Добавить(ColumnName);
гы-гы-гы... Позови специалиста! |
|||
8
ВежливаяТварь
20.09.12
✎
10:46
|
Писал в основном на 8. 7 знаю поверхностно. Если укажите на ошибки буду очень признателен.
|
|||
9
ВежливаяТварь
20.09.12
✎
10:47
|
(7) Я к специалистам здесь и обратился.
|
|||
10
VladZ
20.09.12
✎
10:49
|
СоздатьОбъект COMОбъект("ADODB.Connection"); -> СоздатьОбъект ("ADODB.Connection");
ТаблицаЗагрузки.Колонки.Добавить(ColumnName); - в семерке это не работает. Нужно через ТаблицаЗагрузки.НоваяКолонка(); Формат(ДатаКонцаПроверки,"ДФ=ггггММдд") - нет в семерки ДФ |
|||
11
VladZ
20.09.12
✎
10:50
|
Открывай СП и читай.
|
|||
12
ВежливаяТварь
20.09.12
✎
10:50
|
(10,11) Огромнейшее спасибо. Сейчас попробую.
|
|||
13
VladZ
20.09.12
✎
10:51
|
ТаблицаЗагрузки.Добавить(); -> ТаблицаЗагрузки.НоваяСтрока()
|
|||
14
VladZ
20.09.12
✎
10:53
|
Может еще что просмотрел... Перевести 60 строчек на 7.7 - вообще ни о чем разговор...
Было дело с делфей портировал, вот это было дело! Вот где мозг трещал по швам. :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |