Как подключить базу данных SQL к Lotus Domino Designer? - PullRequest
4 голосов
/ 31 января 2012

Я создаю приложение Lotus Notes, которое должно иметь динамические поля со списком.Выборы для полей со списком должны быть получены путем выбора из базы данных SQL.

Я новичок в Lotus Notes / Domino, мне хотелось бы знать, как подключить мою базу данных SQL для использования в конструкторе domino.Спасибо.

Редактировать: это клиент, а не Интернет

Sub  Initialize

    On Error GoTo e
    Dim pw As String,user As String,odbc As String
    Dim i As Integer
    Dim conn As ODBCConnection,query As ODBCQuery,rs As ODBCResultSet
    Dim db As NotesDatabase
    Dim session As NotesSession
    Dim view As NotesView
    Dim doc As NotesDocument
    Dim newDoc As NotesDocument
    Set session = New NotesSession  
    Set db = session.CurrentDatabase
    Set view = db.GetView("Reports")
    Set doc = view.GetFirstDocument 
    Set conn = New ODBCConnection
    Set query = New ODBCQuery
    Set rs = New ODBCResultSet
    Set query.Connection = conn 
    Set rs.Query = query

    odbc =  "server"  
    user =  "user" 
    pw =  "pass"
    Call conn.ConnectTo( odbc , user , pw ) 
        i = 0
        query.SQL =  "SELECT * FROM table" 
        rs.Execute 
        rs.FirstRow
        Do  While  Not rs.IsEndOfData
            i = i + 1
            rs.NextRow
        Loop
    conn.Disconnect
    Exit  Sub 
e : 
    MessageBox "Error " & Err & " line " & Erl & ": " & _
    Error        
    Exit Sub

End  Sub

Ответы [ 5 ]

4 голосов
/ 31 января 2012

Если вы не можете использовать какие-либо компоненты XPages, вы можете попробовать вариант ODBC @ DBLookup в части «Использовать формулу для выбора» в вашем выпадающем списке.

4 голосов
/ 31 января 2012

Вопросы помечены как Lotusscript, поэтому я предполагаю, что это связано с Lotusscript (а не с XPages).

Посмотрите на классы Lotusscript ODBCConnection, ODBCQuery и ODBCResultSet в справочной базе данных Domino Designer.

2 голосов
/ 02 февраля 2012

Код, который вы добавили к вопросу, вызовет бесконечный цикл из-за while / wend

В зависимости от того, как часто меняются варианты раскрывающихся списков, вы также можете создать запланированный агент, который подключается к серверу SQL. Я часто делаю это для некоторых своих внутренних приложений, так как это сокращает ненужный трафик на сервер SQL, если возвращаемые значения всегда одинаковы.

Вашему запланированному агенту потребуется использовать расширения LSXLC, добавив UseLSX "*lsxlc" в раздел параметров агента Lotusscript.

У LSXLC есть МНОГО опций, которые выходят за рамки этого вопроса, поэтому я бы порекомендовал просмотреть файлы справки Domino Designer и найти lsxlc. В файлах справки много примеров.

1 голос
/ 31 января 2012

Если вы используете приложение xpages, вы можете использовать управляемый компонент или статический метод Java, чтобы получить нужные данные и связать их с выбранными значениями элемента управления combobox.

1 голос
/ 31 января 2012

Посмотрите на extlib в OpenNTF.Он имеет компонент XPages, который позволяет подключаться для выполнения вызовов SQL.

http://extlib.openntf.org

...