Lotus и MS Access

Тема в разделе "Lotus - Программирование", создана пользователем Kizarek86, 24 июн 2008.

  1. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Как подключить базу *.mdb к Lotus?
    Подключить в обход этому можно? Допустим сделать вообще локально? Мб есть другие способы связывания?)
     
  2. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.291
    Симпатии:
    0
    *.mdb - это кто/что? ODBC оно поддерживает? Notes odbc поддерживает, даже на "собаках". + 2 набора классов LSX
     
  3. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Constantin A Chervonenko
    Это база Microsoft Access. Поддерживает по описанию. Это понятно что Notes поддерживает, но для этого базу необходимо подключить к серверу Lotus. Если нету сервера, можно ли подключить локально? или же динамически в коде подключать?
     
  4. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.291
    Симпатии:
    0
    В Лотусе клиент - почти полноценный сервер. Почти все, что работает на сервере, может работать и на клиенте. Это в обратную сторону ограничений много (из-за UI).
    Так что порядок общий:
    1. конфигуришь ODBC-источник
    2. пишешь код, который из него тянуть будет (например @DbLookup( "ODBC" : cache ; "data_source" ; "user_ID1" : "user_ID2" ; "password1" : "password2" ; "table" ; "column" : "null_handling" ; "key_column" ; "key" ; "Distinct" : "sort" ); или на LS - читай про LSX или LS:DO)
    3. или не пишешь код, а в св-вах поля формы взводишь External source!
     
  5. Dimly

    Dimly Гость

    Проблема чтения двоичных полей BLOB/image/OLE из баз MDB Access

    Читаю MDB базу через ADO
    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Код</div></div><div class="sp-body"><div class="sp-content"><!--shcode--><pre><code class='ls'>Set ADOConn = CreateObject("ADODB.Connection")
    ADOConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=base.mdb;Mode=ReadWrite;Persist Security Info=False;Jet OLEDB:Database Password=pass"
    Set ADORecSet = CreateObject("ADODB.recordset")
    Call ADORecSet.Open("select * from table", ADOConn)

    While Not( ADORecSet.eof)
    Print Cstr(ADORecSet("filedOLE").value)
    ADORecSet.movenext
    wend[/CODE]Естественно падает по ошибке типов, так как filedOLE в ацессе имеет тип "Поле объекта OLE"

    Есть решение чтения данного поля ? Содержит оно текст, причем совершенно не большой - до 1-2 кБ
    В самом ацессе не отображается в таблице - показывая в колонке текст "Двоичные данные"
     
  6. Dimly

    Dimly Гость

    Нашел следующую весчь

    ADORecSet("filedOLE").GetChunk(lenField)

    Возвращает массив байт, и если я уверен что должен вернутся текст - просто делаю CHR каждого байта и получаю строку.

    Есть более умные способы ?
     
  7. Dimly

    Dimly Гость

    Приятно поговорить с умными людьми :D

    В общем моя ошибка.. в случае с ОЛЕ полями ADORecSet("filedOLE").value возвращает массив байт, и работать надо как с массивом байт.
    И никаких проблем.
     
Загрузка...

Поделиться этой страницей