相信很多朋友都有不同数据库之前数据同步的需求,Sql Server同步Access中的数据,需要解决在Sql Server中访问(Select)Access中数据和定时同步的问题。
方案:
第一步:创建一个同步数据的存储过程
第二步:建立一个数据库作业调用同步数据存储过程,定时运行。
这里只说明从Sql Server中select Access 数据的方法:
Select * From opendatasource('Microsoft.Jet.OLEDB.4.0',
'data source="C:/FileName.mdb";Jet OLEDB:DataBase Password=')...表名
在实际应用中很可能这个FileName是变量@FileName,如果用下面的方法
Select * From opendatasource('Microsoft.Jet.OLEDB.4.0',
'data source="C:/‘+@FileName+’.mdb";Jet OLEDB:DataBase Password=')...表名
则是报错的
怎么做呢?
如下:(这个地方特别介绍Access文件名或路径变化的时候的处理方法)
Set @Sql='Select * From opendatasource(''Microsoft.Jet.OLEDB.4.0'',
''data source="C:/'+@FileName+'.mdb";Jet OLEDB:DataBase Password='')...表名 '
Exec(@Sql)