Как прочитать таблицу в MS SQL 2012 Народ, подскажите как сделать или где прочитать про такую задачу: нужно из 7.7 подключиться к базе SQL 2012 и прочитать определенную таблицу. Особенно буду рад примеру кода. |
1С-ка скулёвая или нет? А вообще - ODBC в руки и вперед. P.S. А что, уже есть маньяки, которые боевые базы под 2012-м скулем гоняют? |
[quote=Sadovnikov;25270300]А что, уже есть маньяки, которые боевые базы под 2012-м скулем гоняют? [/quote] Присоединяюсь к вопросу. |
2-Billi > Не поехал я нынче мимо тебя - через Ачинск рванул... |
3-Sadovnikov >Зря :) |
3-Sadovnikov >Тебя в Ужуре лежищие полицейские не задолбали? |
5-Billi > Да я привык к ним уже... |
6-Sadovnikov >Но не через каждые же 200 метров на протяжении всего города! |
7-Billi > Да там этого города-то :) Тем более, подъезжал к нему со стороны Назарово, до бараньими тропами. Так, совсем чуть-чуть этих полицаев мне досталось. |
8-Sadovnikov >Я там их насчитал 21 штуку :) Пришлось найти объезд города, по военной дороге через лес. Ну и короче там. :) |
(1),(2) маньяки есть. 1С-ка есть и скулевая и обычная, читать SQL таблицы должны обе |
(1),(2) эфир не засоряйте |
11-romba >Автор, ты не обижайся, мы твою тему в топе держим. Щас скулевские зубры подтянутся и помогут. |
А пока можешь [url=http://www.1csql.ru/materials/articles/develop.html~bfd0f58f-25af-add2-6767-09a5bf664605]тут[/url] почитать, для общего ознакомления. :) |
А пока осмыливаешь, можно попробовать вот так (скл 2008R2): ЗагрузитьВнешнююКомпоненту("[url=http://www.1cpp.ru/images/3/32/Icpp-latest.rar]1CPP.dll[/url]"); База = СоздатьОбъект("ODBCDataBase"); SQLServer = "ИмяСервера"; SQLBase = "ИмяБазы"; User = "ИмяЮзера"; Password = "Пароль"; База.Соединение(" |Driver={SQL Server Native Client 10.0**; |Server="+SQLServer+"; |Database="+SQLBase+"; |Uid="+User+"; |Pwd="+Password+";"); Если База.ЕстьСоединение() = 0 Тогда Сообщить("Упс!"); Возврат; КонецЕсли; Запрос = СоздатьОбъект("ODBCRecordSet"); Запрос.УстБД(База); ТекстЗапроса = " |SELECT * |FROM ИмяТаблицы"; ТЗ = Запрос.ВыполнитьИнструкцию(ТекстЗапроса); ТЗ.ВыбратьСтроку(); |
а чем ADO не подходит? или 2012 скл какой-то особенный? |
ADODB, не ? |
а как насчет ADO? |
(16) (17) Да нет, так не прокатит. Тут через ADO нужно действовать. |
RecordSet = СоздатьОбъект("ADODB.Recordset"); СтрокаПодключения = "тут строка подключения к 2012 скулю, в инете найдешь"; СтрокаЗапроса = "SELECT * FROM TableName"; Попытка RecordSet.Open(СтрокаЗапроса, СтрокаПодключения, 3, 1, 1); Исключение Сообщить("Ошибка: "+ОписаниеОшибки()); Возврат; КонецПопытки; // тут читаешь и обрабатываешь полученный набор данных RecordSet либо через его коллекцию, либо через компоненту pdtools.dll , если не хочешь получить сообщение о неподдерживаемых типах данных (компоненту найдешь в инете) RecordSet.Close(); Вот и все |
19-Синегурочка > Только с 1С++ это всё удобнее. |
20-Sadovnikov > ТС пропал примеры кодов ему дали, а в ответ тишина неинтересно |
Всем спасибо, пример с 1с++ чего-то не получился. Получилось все сделать через ADO по ссылки из (13) |
22-romba >не получился, ибо я не вижу какой у тебя драйвер скуля на клиенте стоит - который в систему вшит или из инсталяхи клиентской части скуля. Короче, всё дело в этом параметре строки подключения: Driver={SQL Server Native Client 10.0**; ЗЫ. посмотреть какой драйвер стоит в системе можно в "Администрирование" - "Источники данных (ODBC)"-закладка "Драйверы" |
Текущее время: 09:10. Часовой пояс GMT +3. |