Private Sub Timer1_Timer()
Dim connx As New ADODB.Connection
Dim rst As New ADODB.Recordset
'生成连接字符串
 'ConnX.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;password=jnjw2008;Initial Catalog=tygl;Data Source=192.168.0.119"
 connx.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Password=jnjw2008;Initial Catalog=student;Data Source=songst "
On Error GoTo ConnErr
    '连接数据库
    connx.Open
    'rst.Open "select * from rwd"
    MsgBox "连接数据库成功!服务已启动...", vbInformation, "商品混凝土服务器连接"
    'ConnX.Execute "INSERT  OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0','Data Source=""\\u861\d$\class.mdb"";User ID=Admin;Password=' )...class(name,class)  SELECT name,class FROM student..student"
    Exit Sub
ConnErr:
    MsgBox "连接数据库错误!", vbInformation, "连接"
    
    End Sub以上语句已经实现了数据库的连接,请各位高手能不 能给完善一下,这个小程序的目的是:我有两台机器,一台是服务器装有sql server数据库,另一台机器装有access数据库,现在我把这个程序在装有access数据库的机器上运行实现连接sql数据库,当sql server数据库某个表中有数据插入的时候access数据库某个表中也同时自动插入数据,但是两个数据库的结构不同。我用的是vb6.0写的希望高手给与完善,谢谢!!!

解决方案 »

  1.   

    要么用触发器,要么在VB中,把插入SQL数据和写入ACCESS数据同时放入一个事务中处理...
      

  2.   

    事务流程大概如下:    dim cnn as connection
        dim intTransOn Error GoTo ConnErr 
        set cnn=new connection
        cn.open "...."
        intTrans=cnn.begintrans   '开始更新事务
     
        '先向SQL插入数据:
        cnn.execute "insert into student..."
        '向ACCESS插入数据
        cnn.Execute "INSERT  OPENDATASOURCE ..." 
        cnn.CommitTrans  '提交事务
        intTrans=0
        cnn.close
        exit sub
    ConnErr: 
        MsgBox "连接数据库错误!", vbInformation, "连接" 
        if intTrans=1 then cnn.RollbackTrans  '错误回滚在一个事务中,一但其中有个操作失败,所有操作都会回滚,这样可以保证数据的完整性和一致性...
      

  3.   

    还有个问题,是这样的:往数据库中插入数据是通过软件,我从别的机器软件输入框里输入内容后数据能自动插入到另一台机器的access数据库里让数据能自动插入过去,因为是这样的我们开发的软件是sql的用户非得让我们和他们的access的数据库连接起来,当从sql软件里输入内容后能自动插入到access数据库的软件里并且内容不能重复,我只是个新手没接触过这,老板给的任务啊,晕!!!能给个解决的办法啊