Re: Подключение с Domino к Oracle
Вариант 2:
Для коннекта к ораклу необходимо установить клиент оракла (я установил инстант клиент) .
Инсталяшка Oracle Database 11g ReleaseClient:
oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098987.html
win32_11gR2_client.zip (684 метра)
Содержит клиентские библиотеки Oracle. Скачать, если вы хотите только клиентские библиотеки.
Никаких ODBC уже не надо. Но работать можно с ораклом только с тачки, где будет запускаться скрипт.
Я поставил на сервак домино, чтобы серверные агенты видели оракл.
Сам скрипт:
Option Public
Uselsx "*lsxlc
Sub Initialize
Dim connect As New LCConnection("oracle")
connect.Server="IP:1521/DB-name"
connect.UserId="LOGIN"
connect.Password="PASS"
connect.Metadata ="таблица, "
Call connect.Connect
Dim fldLst As New LCFieldList ' это список (массив) всех возвращаемых полей от оракла
Dim NI As LCField ' тут будут храниться все значения одного поля из fldLst
Dim FAM As LCField
Dim D_r As LCField
If ( connect.Execute("select * from table (табл.функция('Фамилия','Имя','Отчество))", fldLst) = 0) Then
Print "Ничё не нашлось (("
End If
Set NI = fldLst.Lookup ("Numer")
Set FAM = fldLst.Lookup ("FAM")
Set D_r = fldLst.Lookup ("D_r ")
msg1=""
While (connect.fetch(fldLst)>0) ' проход по всем значениям ответа fldLst
msg1= msg1 + NI.text(0) & " Фамилия:" & FAM.text(0) & " Родился:" & D_r .text(0)
Wend
Print msg1
End Sub
Re: Подключение с Domino к Oracle
Более расширенный вариант предыдущего скрипта, с формой для наглядности работы.
Код кнопки:
Sub Click(Source As Button)
Dim formula As String
Dim session As New NotesSession
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = ws.CurrentDocument
F$ =uidoc.FieldGetText("F")
I$ = uidoc.FieldGetText("I")
O$ = uidoc.FieldGetText("O")
Dim connect As New LCConnection("oracle")
connect.Server="айпишник:1521/база"
connect.UserId="логин"
connect.Password="пароль"
'connect.Metadata ="таблица"
Call connect.Connect
Dim fldLst As New LCFieldList
Dim FAM As LCField
Dim Im As LCField
Dim OTCH As LCField
Dim D_ROGD As LCField
Dim NI As LCField
formula={select * from table (govd.get_IDN('}& F$ &{','}& I$ &{','}& O$ &{'))}
If ( connect.Execute(formula, fldLst) = 0) Then
Print "Ничё не нашлось (("
End If
Set NI = fldLst.Lookup ("N")
Set FAM = fldLst.Lookup ("FAM")
Set Im = fldLst.Lookup ("IM")
Set OTCH = fldLst.Lookup ("OTC")
Set D_ROGD = fldLst.Lookup ("D_R_")
msg1=""
While (connect.fetch(fldLst)>0)
msg1= msg1 + NI.text(0) & ". ФИО:" & FAM.text(0) &" "& Im.text(0) &" "& OTCH.text(0) & " Родился:" & D_ROGD.text(0) & Chr(13)
Wend
If msg1 ="" Then
msg1 ="ничего не найдено"
End If
Call uidoc.FieldSetText("Otvet",msg1)
End Sub
Re: Подключение с Domino к Oracle
fishcodelib.com/files/DatabaseNet4.zip
Программа для подкл. с шарпа к любым базам, включая и оракл. Видит базы, таблицы, процедуры.