![]() |
|
v7: Внешние источники данных для файловой 7-ки | ☑ | ||
---|---|---|---|---|
0
Сергиус
25.09.13
✎
17:49
|
Можно ли вообще ее так подключить и если да,то какая должна быть строка соединения в таком случае? Какой драйвер использовать?
|
|||
1
Мимохожий Однако
25.09.13
✎
18:15
|
Вероятно, надо использовать дополнительные библиотеки. А какой источник интересует кроме клавиатуры и мышки?
|
|||
2
Mashinist
25.09.13
✎
18:28
|
(0) ODBC
Как-то цеплялся к DBF-кам... но там же получается, что каждую таблицу нужно руками описывать. для пробы даже отчет соорудил по ДБФ |
|||
3
Эльниньо
25.09.13
✎
21:15
|
Даже к файрбёрду можно 1c 7.7 и firebird 2.2
|
|||
4
Aleksey
25.09.13
✎
21:19
|
Например подключение к екселю и считывание данные
db=CreateObject("ADODB.Connection"); db.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+НазваниеФайла+";Extended Properties=""Excel 8.0;HDR=NO;IMEX=1;"""; db.Open(); Catalog = СоздатьОбъект("ADOX.Catalog"); Catalog.ActiveConnection = db; ИмяЛиста=Catalog.Tables.Item(0).Name; rs=CreateObject("ADODB.Recordset"); rs.ActiveConnection = db; rs.CursorType = 3; rs.LockType = 2; rs.Source = "Select * from ["+ИмяЛиста+"A1:AZ]"; rs.Open(); // Инициализируем колонки тзДанных = СоздатьОбъект("ТаблицаЗначений"); Для iCount = 0 По rs.Fields.Count-1 Цикл тзДанных.НоваяКолонка(,,,,rs.Fields.Item(iCount).Name,15,,); КонецЦикла; // Перебор данных rs.MoveFirst(); Пока rs.EOF() = 0 Цикл тзДанных.НоваяСтрока(); Для iCount = 0 По rs.Fields.Count-1 Цикл тзДанных.УстановитьЗначение(тзДанных.КоличествоСтрок(),iCount+1,rs.Fields(iCount).Value); КонецЦикла; rs.MoveNext(); КонецЦикла; rs.Close(); db.Close(); db = "";rs = ""; |
|||
5
Сергиус
25.09.13
✎
21:56
|
(2)(4) Проблема как раз с составлением самой строки подключения..Какого провайдера использовать? Если кто-то такое делал, то возможно привести пример?
|
|||
6
Сергиус
25.09.13
✎
21:58
|
(2) Т.е. если я тебя правильно понял, надо строить соединение к каждому файлу dbf отдельно?
|
|||
7
Сергиус
25.09.13
✎
22:00
|
Пока нет возможности проверить, но такое соединение должно прокатить?
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\folder; Extended Properties=dBASE IV;User ID=Admin;Password=; ? |
|||
8
Aleksey
25.09.13
✎
22:04
|
||||
9
Aleksey
25.09.13
✎
22:06
|
(6) не факт
Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\mydbpath; "select * from thefile.dbf" |
|||
10
Torquader
26.09.13
✎
00:38
|
1С 7.7. умеет в монопольном режиме читать и писать dbf-файлы.
Ну и текстовые файлы без нулей внутри. Всё остальное - это OLE-объекты, через которые можно и соединения получать и с данными работать, но к 1С они относятся точно также, как к VbScript и т.п. Поэтому, можно брать любой пример на VbScript и переводить в 1С - будет работать точно также, и точно также не получится работать с событиями (как в голом VbScript без WScript). |
|||
11
Сергиус
26.09.13
✎
11:10
|
(9) Такой способ подключения помогает - только встает вопрос с русской кодировкой в получаемой выборке? Какие параметры надо задавать?
|
|||
12
Сергиус
26.09.13
✎
11:17
|
Нашел решение:
"HKEY_LOCAL_MACHINE\Software\microsoft\jet\4.0\Engines\Xbase DataCodePade=OEM <== поменяй на ANSI " |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |