请教如何在b/s下把nsf数据导出到关系型数据库中
请问有什么方法能把lotus数据库中的数据导出到关系型数据中,比如db2 ,sql server等,急用,在线等。。。 问题点数:100、回复次数:9Top
1 楼loadagain(最后一只妖怪)回复于 2005-12-20 20:23:53 得分 10
菜鸟呀菜鸟呀,连在Browser端导出还是在Server端导出都没说清楚哈,哈哈。不过我想一般是在server端做数据交换。
有很多方法,比如odbc,第三方插件如ado,ado.net,或者decs,就看你的选择了。不过本人喜欢用Ado.就是性能方面不大好,但是Debug和稳定性倒是爽哈,哈哈哈Top
2 楼numberpig(冰箱里的驴子)回复于 2005-12-20 23:24:35 得分 0
有具体的代码吗?我听不懂啊。。。Top
3 楼numberpig(冰箱里的驴子)回复于 2005-12-20 23:28:52 得分 0
我的意思是,比如有一个domino数据库,能不能在浏览器上点一个按钮就把库中的文档导出到关系型数据库中Top
4 楼superBoA(XXX)回复于 2005-12-21 09:05:51 得分 80
导入SQL
Option Public
Use "Common"
Uselsx "*LSXODBC"
Sub Initialize
Dim session As New NotesSession
Dim doc As NotesDocument '当前文档的后台文档
Dim tobeSearchDb As NotesDatabase '待搜索的数据库
Dim DstDocs As NotesDocumentCollection '搜索结果集
Dim RstDoc As NotesDocument '查询到的文档
Dim sRstView As NotesView '结果显示视图
Set Db=Session.CurrentDatabase
Set doc=session.DocumentContext
Dim con As ODBCConnection
Dim userName As String
Dim password As String
Dim qry As ODBCQuery
Dim result As ODBCResultSet
Dim A As String
Set con = New ODBCConnection
Set qry = New ODBCQuery
Set result = New ODBCResultSet
Set qry.Connection = con
Set result.Query = qry
A=con.ConnectTo("CoprYW","sa","123")
qry.SQL = " INSERT INTO mt(phone,msg_content,sm_flag) VALUES ('"+doc.SMSendTo(0)+"','"+doc.SMBody(0)+"','1'); "
'Call JSAction("Alert",Cstr(a))
If Not result.Execute Then
'Messagebox _
'result.GetExtendedErrorMessage,, result.GetErrorMessage
'Exit Sub
End If
result.Close(DB_CLOSE)
con.Disconnect
End SubTop
5 楼numberpig(冰箱里的驴子)回复于 2005-12-21 21:34:29 得分 0
请问楼上的大侠,为什么用use "common" 出错 啊Top
6 楼punky()回复于 2005-12-21 23:10:41 得分 10
use "Common"是饮用一段Script库中的代码 把许多经常用的代码写到script库中 非常简便。因为你本地没有Common库(通常都是自己或公司统一总结的) 所以当然调用不成功了。Top
7 楼numberpig(冰箱里的驴子)回复于 2005-12-21 23:44:40 得分 0
我把use common去掉,然后运行代码,日志里提示说连接已经得到了,可为什么数据没有写到sql server数据库中呢?请高手指点Top
8 楼numberpig(冰箱里的驴子)回复于 2005-12-21 23:50:06 得分 0
我的代码如下:
Sub Initialize
On Error Goto weberr
Dim session As New NotesSession
Dim agentLog As NotesLog
Set agentLog=New NotesLog("Agent log")
Call agentLog.OpenAgentLog
Dim doc As NotesDocument '当前文档的后台文档
Dim tobeSearchDb As NotesDatabase '待搜索的数据库
Dim DstDocs As NotesDocumentCollection '搜索结果集
Dim RstDoc As NotesDocument '查询到的文档
Dim sRstView As NotesView '结果显示视图
Set Db=Session.CurrentDatabase
Set doc=session.DocumentContext
Dim con As ODBCConnection
Dim userName As String
Dim password As String
Dim qry As ODBCQuery
Dim result As ODBCResultSet
Dim A As String
Set con = New ODBCConnection
Set qry = New ODBCQuery
Set result = New ODBCResultSet
Set qry.Connection = con
Set result.Query = qry
A=con.ConnectTo("tomdb","sa","123")
Call agentlog.LogAction("begin---con.ConnectTo========"+A)
'日志此处显示为true
qry.SQL = " INSERT INTO tab1(id) VALUES ('"+doc.UNID(0)+"','1'); "
Call agentlog.LogAction("qry.SQL======"+Cstr(qry.SQL))
If Not result.Execute Then
Call agentlog.LogAction("========result.Execute is not excute========")
End If
Call agentlog.LogAction("========result.Execute is excute========")
result.Close(DB_CLOSE)
con.Disconnect
Exit Sub
weberr:
theagent=ss.currentagent
agentnaem=thenagent.name
If iserror=0 Then
Print "<head>"
Print "<title>"
Print "error in agent"+agentname
Print "</title>"
Print "</head>"
iserror=1
End If
Print "<br>"
Print "<b>error in line"+Cstr(Erl)+"</b>"
Print "<br>"
Print "error#"+Cstr(Err)+":"+Error
Print "<br>"
Exit Sub
End SubTop
9 楼numberpig(冰箱里的驴子)回复于 2005-12-22 20:57:25 得分 0
谢谢punky loadagain 特别是superBoA 的帮助与支持,现在问题解决,结贴散分Top




