如题:
问:用定时代理使用ado把notes数据通过代理导入到sql中的效率如何,与ls,还有java代码比较如何?
------解决方案--------------------
能用ADO当然用ADO最好了,.net这些不都是用的ado吗,因为是直接调用windows的东西,所以效率也是比较高的,比Java高多了。不过也是有限制的,就是如果你是用在BS的话,服务器必须是windows平台的,这样才能用ADO。
示例代码如下:
- VB code
m_conString = "driver={SQL Server};server="+server+";uid="+uid+";pwd="+psw+";database="+db                    Set m_con = CreateObject("ADODB.Connection")        If m_conString = "" Then             Msgbox "Please provide with the connection string!",0+16,"Lotus Notes"            Exit Sub                    End If        m_con.ConnectionString = m_conString        Call m_con.open        If m_con Is Nothing Then             Msgbox "Connection failed!",0+16,"Lotus Notes"            Exit Sub        End If        If m_con.state = 0 Then             Msgbox "Connection failed!",0+16,"Lotus Notes"            Exit Sub        End If
------解决方案--------------------
		Dim vConn As Variant'数据库的adodb链接。
		Dim strSql As String
		
		Set vConn=FMJGetConn()'createobject("ADODB.CONNECTION")
	'vConn.connectionString="Provider=SQLOLEDB;Data Source=21.8.143.248;Initial Catalog=Notes; User ID=Notes;Password=Notes;"'定义连接字符串
		Call vConn.open
		vConn.BeginTrans
		
		Dim strUnid As String
		Dim strTitle As String
		Dim strDepartment As String
		Dim strFlowNo As String
		Dim strFileNo As String
		Dim strArchiveUser As String
		Dim strAuthor As String
		Dim strSubmitTime As String
		Dim strCreateTime As String
		Dim strOthers As String
		Dim strDxl As String
		
		Set nCurUser=New NotesName(session.UserName)
		Set nAuthor=New NotesName(docParent.originalAuthor(0))
		
		strUnid=docParent.unid(0)
		strTitle=docParent.title(0)
		strDepartment=docParent.department(0)
		strFlowNo=docParent.snFlow(0)
		strFileNo=docParent.sn(0)
		strArchiveUser=nCurUser.Abbreviated
		strAuthor=nAuthor.Abbreviated
		strSubmitTime=docParent.timesubmit(0)
		strCreateTime=docParent.Created
		strDxl=Replace(stream.ReadText(),"'","''")
		strSql="INSERT INTO [Notes].[dbo].[archiveDoc]([unid],[title],[department],[flowNo],[fileNo],[archiveUser],[author],[submitTime],[createTime],[others],[dxl]) VALUES" &_
		"('" & strUnid & "'" &_
		",'" & strTitle & "'" &_
		",'" & strDepartment & "'" &_
		",'" & strFlowNo & "'" &_
		",'" & strFileNo & "'" &_
		",'" & strArchiveUser & "'" &_
		",'" & strAuthor & "'" &_
		",'" & strSubmitTime & "'" &_
		",'" & strCreateTime & "'" &_
		",'" & strOthers & "'" &_
		",'" & strDxl & "')"
		
		vConn.execute strSql
		vConn.CommitTrans
		Call vConn.close
		Set vConn=Nothing
Function FMJGetConn() As Variant
	On Error Goto e
	Dim session As New NotesSession
	Dim db As NotesDatabase
	Dim vConn As Variant'数据库的adodb链接。
	Dim doc As NotesDocument
	Set vConn=createobject("ADODB.CONNECTION")
	Set db=session.CurrentDatabase
	Set doc=db.GetProfileDocument("profile")
	vConn.connectionString=doc.connString(0)'定义连接字符串
	Set FMJGetConn=vConn
	Exit Function
e:
	Dim fmjError As String
	fmjError = "script库-common-FMJGetConn" & Erl & ":" & Error