如果SQLSERVER和access在同一台机器还好说

解决方案 »

  1.   

    --ACCESS
    EXEC sp_addlinkedserver 
    @server = '<LinkedServerName>', 
    @provider = 'Microsoft.Jet.OLEDB.4.0', 
    @srvproduct = 'OLE DB Provider for Jet',
    @datasrc = '<Path>\<FileName>',
    @provstr = ';pwd=<Password>' 创建服务器链接insert ....
    select * from ....在触发器里用分布式事务,不是时时更新,最好的存储过程调度JOB
      

  2.   

    --ACCESS
    OPENROWSET('Microsoft.Jet.OLEDB.4.0','<Path>\<FileName>';'admin';'',{[catalog.][schema.]object|'query'})
    OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source="<Path>\<FileName>";Jet OLEDB:Database Password=<Password>')也可用以上方法连接
      

  3.   

    刚测了一下可用存储过程定时更新用触发器
    Microsoft.Jet.OLEDB.4.0 不支持事务
      

  4.   

    将access所在目录设为共享目录
    在sql server所在机器上将共享目录设为共享盘
    再通过
    OPENROWSET('Microsoft.Jet.OLEDB.4.0',' <Path>\ <FileName>';'admin';'',{[catalog.][schema.]object|'query'}) 
    OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source=" <Path>\ <FileName>";Jet OLEDB:Database Password= <Password>') 
    来连接access文件