Имя: Пароль:
1C
 
Подскажите пожалуйста по настройкам Connection String через COM-объект DataLinks.
0 Паучог
 
09.09.10
19:08
Выполняю следующий код:

   Connection=Новый COMОбъект("ADODB.Connection");
   DataLinks=Новый COMОбъект("DataLinks");
   Connection.ConnectionString = СтрокаПодключения;
   DataLinks.PromptEdit(Connection);

Открывается диалог "Свойства связи с данными".
Почему то на закладке Connection в поле "Use Data source" открывается пустой список. Что может здесь быть не так?
Где можно почитать, как правильно настраивать строку подключения через DataLinks для загрузки инфы из Excel?

Спасибо.
1 Defender aka LINN
 
09.09.10
19:13
А нафига какие-то там "DataLinks" юзать для загрузки из Excel?
2 Паучог
 
09.09.10
19:21
(1) Потому что Excel.Application медленно работает на больших объёмах данных: до 90тыс строк, 10 колонок. DatLinks юзается для удобной настройки строки подключения для ADODB Connection.
3 Defender aka LINN
 
09.09.10
22:13
(2) АДО можно напрямую юзать для этого, без всяких приблуд
4 Паучог
 
09.09.10
22:41
(3) соглашусь, что это возможно и лишнее, ConnectionString можно и программно сформировать. Просто функционал с DataLinks встроен в Альфа-Авто. Непонятно как с его помощью формировать строку соединения.
5 H A D G E H O G s
 
09.09.10
22:51
(2) Че, правда?
А пацаны то не знают!

Сказки рассказываешь!
6 H A D G E H O G s
 
09.09.10
23:32
Но если сильно хочеттца:
ConnectionString:
Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=Excel Files;DBQ=C:\Book1.xls;DefaultDir=C:\;DriverId=790;MaxBufferSize=2048;PageTimeout=5;"

Текст запроса:

select * from [sheet1$]

Юзайте Дельфи 6. Там все рализовано до вас. По крайней мере - конструктор строки соединения.
7 H A D G E H O G s
 
09.09.10
23:32
Собственно - изменять надо только DBQ=C:\Book1.xls
Без всяких DataLinks.PromptEdit();
8 Паучог
 
10.09.10
09:32
(6) (7) угу...
Сделал так, как описано в (6)
Строка подключения: Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=Microsoft Excel ODBC driver;DBQ=C:\price_list_workbook.xls;DefaultDir=C:;DriverId=790;MaxBufferSize=2048;PageTimeout=5;"

Выполняю следующий код:    
Попытка
       Приложение = Новый COMОбъект("ADODB.Connection");
           Коннект = Приложение.Open(СтрокаПодключения);
       Исключение
           //Предупреждение(ОписаниеОшибки());
           Возврат;
       КонецПопытки;

После выполнения Коннект=Приложение.Open(СтрокаСоединения) в Приложение.Errors - ошибка: [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed
9 H A D G E H O G s
 
10.09.10
10:06
(8) Сменить DSN на
'Excel Files'