日期:2014-05-16  浏览次数:20918 次

如何写一存储过程使本机上的ACCESS 数据库中数据自动(定时)追加到SQLSERVER 中?
如题目
SQLSERVER   中建有与ACCESS完全一样的数据库文件,我希望ACCESS文件内容有新增加记录,SQLSERVER中实时也增加!

thu

------解决方案--------------------
--在SQL Server中访问MDB:

SELECT a.*
FROM OPENROWSET( 'Microsoft.Jet.OLEDB.4.0 ', 'D:\Test.mdb '; 'admin '; '000 ', 表名) AS a


然后创建Job,定时访问MDB,将新的数据追加到SQL Server中。


--或者,Access访问SQL Server:

select *
from 表名 in [ODBC][ODBC;Driver=SQL Server;Server=.;Uid=sa;Pwd=000;database=数据库名]


------解决方案--------------------

access里有存储过程吗?怎么用?

--------------------------------------

Access本身没有存储过程,但有查询。

Access使用的是Jet-SQL,与SQL Server使用的T-SQL差别很大。

如:Access的查询中一次只能执行一条SQL语句,而SQL Server存储过程中可以放很多条SQL语句。


如果使用ADP项目,则可以在Access中编辑SQL Server存储过程,或执行。

------解决方案--------------------
create proc sp_test as

insert into SQLServer中的表(字段列表)
select 字段列表
from OPENROWSET( 'Microsoft.Jet.OLEDB.4.0 ', 'D:\Test.mdb '; 'admin '; '000 ', 表名) AS a
where id not in (select id from SQLServer中的表)
go


--在SQL Server中创建Job,定期执行。


------解决方案--------------------
我有一个想法,不知道对不对
如果条件允许,可以只在SQL数据库里建表,access中链接这些表,这样你一样可以在access中添加数据,但数据实际已经直接写入了SQL库,无须即时更新这个过程了