透過OpenLink Generic 32 Bit Driver與Informix 7.2 連結 ,當然,如果是SQL SERVER
的連結也是大同小異啦。
至于連結完之后如何操作DataBase內的資料,請查RDO 的建立記錄集(一)
無DSN的建立連結,好處是不用每一臺電腦去控制臺ODBC32中設定一個Data Source,
而且也不用在Hosts中設定Server所在電腦的IP Address。方式
Private cn As rdoConnectionPrivate en As rdoEnvironmentDim connstr As StringSet en = rdoEnvironments(0)connstr = "UID=cww;PWD=cww1111;Database=cwwpf@eis;" _+ "Driver={OpenLink Generic 32 Bit Driver};" _+ "Host=192.168.0.61;" _+ "ServerType=Informix 7.2;"Set cn = en.OpenConnection("", rdDriverNoPrompt, _ False, connstr)‘會等OpenConnection執行 成功/失敗 后才會往下做下去
而建立有DSN的建立連結方式(有一Data Source Name 叫OPNK)
Dim connstr As StringSet en = rdoEnvironments(0)connstr = "UID=cww;PWD=cww1111;"Set cn = en.OpenConnection("OPNK", rdDriverNoPrompt, _ False, connstr)‘會等OpenConnection執行 成功/失敗 后才會往下做下去如果想在在執行OpenConnection 方法后立即交出控制權,那必需用以下的方式:1.OpenConnection時要有rdAsyncEnable才行(即非同步開啟)2.cn要以WithEvents來宣告(如果想使用Connect事件來Check是否有成功)Private WithEvents cnAs rdoConnectionPrivate en As rdoEnvironment‘不管Connect成功與否,都會引發Connect的事件Private Sub cn_Connect(ByVal ErrorOccurred As Boolean)Dim i As LongDim er As rdoErrorIf ErrorOccurred Then ‘連結失敗 Debug.Print Err.Description, Error For Each er In rdoErrorsDebug.Print er.Description, er.Number Next erElse‘連結成功For i = 0 To cn.rdoTables.Count1 Debug.Print cn.rdoTables(i).NameNextEnd IfEnd SubPrivate Sub Form_Load()Dim connstr As StringSet en = rdoEnvironments(0)connstr = "UID=cww;PWD=cww1111;"Set cn = en.OpenConnection("OPNK", rdDriverNoPrompt, _ False, connstr, rdAsyncEnable)‘Do While cn.StillConnecting ‘如果不使用Connect事件,那要用以下方式‘ DoEvents‘LoopEnd Sub
當然了,我們也可以使用rdoConnection的EstablishConnection的方法來做,而使用EstablishConnection時,卻是內定的會產生Connect事件(只要rdoConnection物件以WithEvents宣告)例如:Set en = rdoEnvironments(0)Set cn = New rdoConnectioncn.CursorDriver = rdUseODBCconnstr = "DSN=SQLSRV;UID=cww;PWD=cww1111;"cn.Connect = connstrcn.EstablishConnection rdDriverNoPrompt, False