把数据从lotus notes导出到关系数据库有很多方法: 
编写lotus script提取数据并写到外部数据库中;
用lotus提供的java api提取数据并写到外部数据库中;
通过lotus提供的jdbc连接来获取数据并写到外部数据库中;
使用COM技术访问lotus对象提取数据然后写到外部数据库中。
上面这几种方法都大同小异。你都要和notes的对象打交道。notes的对象嵌套得比较厉害:数据库包含视图,试图筛选出文档集合,文档下面是item,item还分好多种。其中richtext的item还包含段落,段落下是纯文本和run(包含格式的文本),还有附件。这样,要导出完整的数据,就要写很多层嵌套的foreach遍历,加上很多的if做类型判断。如果你对notes的对象层次不是很清楚,就有可能在这复杂的嵌套编写中出错并浪费时间。幸运的是,lotus内建了一种数据导出机制,可以把数据库、文档等notes对象导出成xml文件。这样你就不用跟notes的那些层层嵌套的对象打交道了。xml解析可是要简单多了而且大多数程序员都会,这样就可以把notes程序员解放出来了。甚至如果你象我一样,不是一个很循规蹈矩的程序员,那么只要用正则表达式提取关键数据就可以了。:)
下面的代码演示了如何导出一个数据库:
NotesDXLExporter的SetInput方法不仅可以接受数据库作为参数,还能接受文档、item等作为参数。根据你个人的需要,可以导出任何东西。
这样,我们多走了一步:notes->xml->关系数据库。但是要简单了很多。
                
        编写lotus script提取数据并写到外部数据库中;
用lotus提供的java api提取数据并写到外部数据库中;
通过lotus提供的jdbc连接来获取数据并写到外部数据库中;
使用COM技术访问lotus对象提取数据然后写到外部数据库中。
上面这几种方法都大同小异。你都要和notes的对象打交道。notes的对象嵌套得比较厉害:数据库包含视图,试图筛选出文档集合,文档下面是item,item还分好多种。其中richtext的item还包含段落,段落下是纯文本和run(包含格式的文本),还有附件。这样,要导出完整的数据,就要写很多层嵌套的foreach遍历,加上很多的if做类型判断。如果你对notes的对象层次不是很清楚,就有可能在这复杂的嵌套编写中出错并浪费时间。幸运的是,lotus内建了一种数据导出机制,可以把数据库、文档等notes对象导出成xml文件。这样你就不用跟notes的那些层层嵌套的对象打交道了。xml解析可是要简单多了而且大多数程序员都会,这样就可以把notes程序员解放出来了。甚至如果你象我一样,不是一个很循规蹈矩的程序员,那么只要用正则表达式提取关键数据就可以了。:)
下面的代码演示了如何导出一个数据库:
Dim session As New NotesSession 
Dim db As NotesDatabase 
Set db = session.CurrentDatabase 
REM Open xml file named after current database 
Dim stream As NotesStream 
Set stream = session.CreateStream 
filename$ = "c:/dxl/" & Left(db.FileName, Len(db.FileName) - 3) & "dxl" 
If Not stream.Open(filename$) Then 
Messagebox "Cannot open " & filename$,, "Error" 
Exit Sub 
End If 
Call stream.Truncate 
REM Export current database as DXL 
Dim exporter As NotesDXLExporter 
Set exporter = session.CreateDXLExporter 
Call exporter.SetInput(db) 
Call exporter.SetOutput(stream) 
Call exporter.Process 
NotesDXLExporter的SetInput方法不仅可以接受数据库作为参数,还能接受文档、item等作为参数。根据你个人的需要,可以导出任何东西。
这样,我们多走了一步:notes->xml->关系数据库。但是要简单了很多。
 
                   
                   
                   
                   
                             博客介绍了将Lotus Notes数据导出到关系数据库的多种方法,如编写Lotus Script、使用Java API、JDBC连接、COM技术等,但这些方法需处理复杂的对象嵌套。而Lotus内建的数据导出机制可将对象导出为XML文件,解析更简单,还可用正则表达式提取关键数据。
博客介绍了将Lotus Notes数据导出到关系数据库的多种方法,如编写Lotus Script、使用Java API、JDBC连接、COM技术等,但这些方法需处理复杂的对象嵌套。而Lotus内建的数据导出机制可将对象导出为XML文件,解析更简单,还可用正则表达式提取关键数据。
           
       
           
                 
                 
                 
                 
                 
                
               
                 
                 
                 
                 
                
               
                 
                 扫一扫
扫一扫
                     
              
             
                   641
					641
					
 被折叠的  条评论
		 为什么被折叠?
被折叠的  条评论
		 为什么被折叠?
		 
		  到【灌水乐园】发言
到【灌水乐园】发言                                
		 
		 
    
   
    
   
             
            


 
            