我正在努力将数据从 oracle 9i 检索到 lotus notes。我正在使用 Oracle 10g 进行测试,因为这就是我所拥有的。在默认 HR 数据库中,有一个 EMPLOYEES 表。我最近添加了一个新列来获取最后修改的时间戳,这是成功的。数据格式如下:25-JUL-12 10.28.32.000000 AM
以下是我的lotusscript代码:
Option Public
Option Declare
UseLSX "*lsxlc"
%Include "lsconst.lss"
Sub Initialize
Dim s As New NotesSession, db As NotesDatabase
Set db=s.Currentdatabase
Dim lcs As New Lcsession
lcs.Clearstatus
Dim conUser As New Lcconnection("Oracle")
Dim staffdoc As NotesDocument
Dim fieldlistuser$
fieldlistuser="EMPLOYEE_ID,FIRST_NAME,MODIFIED_AT"
conUser.Server="localhost"
conUser.UserID="hr"
conUser.Password="hr"
conUser.Connect
conUser.MetaData="HR.EMPLOYEES"
conUser.Fieldnames=fieldlistuser
Dim fieldsUser As New LCFieldList
Dim fieldUser As LCField
Call conUser.Execute("Select * From HR.EMPLOYEES", fieldsUser)
While conUser.Fetch(fieldsUser) > 0
Set staffdoc=New NotesDocument(db)
staffdoc.Form="Staff"
staffdoc.StaffID=fieldsUser.EMPLOYEE_ID(0)
staffdoc.StaffName=fieldsUser.FIRST_NAME(0)
staffdoc.DateJoin=fieldsUser.MODIFIED_AT(0)
Call staffdoc.Save(True, True)
Wend
conUser.Disconnect
End Sub
在我在 EMPLOYEES 表中添加时间戳列之前一切正常,我可以将每一行导出到临时 Lotus 视图。现在错误总是停在Call conUser.Execute("Select * From HR.EMPLOYEES", fieldsUser)
. 我认为它与该行有关fieldlistuser="EMPLOYEE_ID,FIRST_NAME,MODIFIED_AT"
,因此我将其删除MODIFIED_AT
并发表了评论staffdoc.DateJoin=fieldsUser.MODIFIED_AT(0)
,但错误仍然存在。错误是Error: Invalid data type for field 'MODIFIED_AT', Connector'Oracle', Method -Execute-。这真的可以做到吗?如果可以,我应该在 Lotus 中存储什么数据类型的时间戳值?