0
- 28.05.2012 - 15:29
|
Народ, подскажите как сделать или где прочитать про такую задачу: нужно из 7.7 подключиться к базе SQL 2012 и прочитать определенную таблицу. Особенно буду рад примеру кода.
| |
1
- 28.05.2012 - 15:36
|
1С-ка скулёвая или нет? А вообще - ODBC в руки и вперед. P.S. А что, уже есть маньяки, которые боевые базы под 2012-м скулем гоняют? | |
2
- 28.05.2012 - 15:39
| Присоединяюсь к вопросу. | |
3
- 28.05.2012 - 15:43
| 2-Billi > Не поехал я нынче мимо тебя - через Ачинск рванул... | |
4
- 28.05.2012 - 15:44
| 3-Sadovnikov >Зря :) | |
5
- 28.05.2012 - 15:51
| 3-Sadovnikov >Тебя в Ужуре лежищие полицейские не задолбали? | |
6
- 28.05.2012 - 15:54
| 5-Billi > Да я привык к ним уже... | |
7
- 28.05.2012 - 15:55
| 6-Sadovnikov >Но не через каждые же 200 метров на протяжении всего города! | |
8
- 28.05.2012 - 15:57
|
7-Billi > Да там этого города-то :) Тем более, подъезжал к нему со стороны Назарово, до бараньими тропами. Так, совсем чуть-чуть этих полицаев мне досталось. | |
9
- 28.05.2012 - 15:59
|
8-Sadovnikov >Я там их насчитал 21 штуку :) Пришлось найти объезд города, по военной дороге через лес. Ну и короче там. :) | |
10
- 28.05.2012 - 16:55
| (1),(2) маньяки есть. 1С-ка есть и скулевая и обычная, читать SQL таблицы должны обе | |
11
- 28.05.2012 - 16:55
| (1),(2) эфир не засоряйте | |
12
- 28.05.2012 - 17:01
| 11-romba >Автор, ты не обижайся, мы твою тему в топе держим. Щас скулевские зубры подтянутся и помогут. | |
13
- 28.05.2012 - 17:06
| А пока можешь тут почитать, для общего ознакомления. :) | |
14
- 28.05.2012 - 17:40
|
А пока осмыливаешь, можно попробовать вот так (скл 2008R2): ЗагрузитьВнешнююКомпоненту("1CPP.dll"); База = СоздатьОбъект("ODBCDataBase"); SQLServer = "ИмяСервера"; SQLBase = "ИмяБазы"; User = "ИмяЮзера"; Password = "Пароль"; База.Соединение(" |Driver={SQL Server Native Client 10.0**; |Server="+SQLServer+"; |Database="+SQLBase+"; |Uid="+User+"; |Pwd="+Password+";"); Если База.ЕстьСоединение() = 0 Тогда Сообщить("Упс!"); Возврат; КонецЕсли; Запрос = СоздатьОбъект("ODBCRecordSet"); Запрос.УстБД(База); ТекстЗапроса = " |SELECT * |FROM ИмяТаблицы"; ТЗ = Запрос.ВыполнитьИнструкцию(ТекстЗапроса); ТЗ.ВыбратьСтроку(); | |
15
- 29.05.2012 - 10:09
| а чем ADO не подходит? или 2012 скл какой-то особенный? | |
16
- 29.05.2012 - 15:19
| ADODB, не ? | |
17
- 29.05.2012 - 15:23
| а как насчет ADO? | |
18
- 29.05.2012 - 15:27
|
(16) (17) Да нет, так не прокатит. Тут через ADO нужно действовать. | |
19
- 29.05.2012 - 15:51
|
RecordSet = СоздатьОбъект("ADODB.Recordset"); СтрокаПодключения = "тут строка подключения к 2012 скулю, в инете найдешь"; СтрокаЗапроса = "SELECT * FROM TableName"; Попытка RecordSet.Open(СтрокаЗапроса, СтрокаПодключения, 3, 1, 1); Исключение Сообщить("Ошибка: "+ОписаниеОшибки()); Возврат; КонецПопытки; // тут читаешь и обрабатываешь полученный набор данных RecordSet либо через его коллекцию, либо через компоненту pdtools.dll , если не хочешь получить сообщение о неподдерживаемых типах данных (компоненту найдешь в инете) RecordSet.Close(); Вот и все | |
20
- 29.05.2012 - 16:21
| 19-Синегурочка > Только с 1С++ это всё удобнее. | |
21
- 29.05.2012 - 16:43
|
20-Sadovnikov > ТС пропал примеры кодов ему дали, а в ответ тишина неинтересно | |
22
- 31.05.2012 - 13:51
| Всем спасибо, пример с 1с++ чего-то не получился. Получилось все сделать через ADO по ссылки из (13) | |
23
- 31.05.2012 - 14:08
|
22-romba >не получился, ибо я не вижу какой у тебя драйвер скуля на клиенте стоит - который в систему вшит или из инсталяхи клиентской части скуля. Короче, всё дело в этом параметре строки подключения: Driver={SQL Server Native Client 10.0**; ЗЫ. посмотреть какой драйвер стоит в системе можно в "Администрирование" - "Источники данных (ODBC)"-закладка "Драйверы" | |
![]() | Интернет-форум Краснодарского края и Краснодара |