我要在程序中将access中的某些表中的数据导入到sql server中,如果sql server表中已有该条记录,则update,否则insert。两种库结构完全一样,在程序中怎么写??
好急,拖了很长时间了,用户要实现的是分布式数据库的数据集中管理办法,而且不联网,我先把本地的sql server中的某些表导入到一个相同结构的access中。然后再把access导到中心数据库中。
好急,拖了很长时间了,用户要实现的是分布式数据库的数据集中管理办法,而且不联网,我先把本地的sql server中的某些表导入到一个相同结构的access中。然后再把access导到中心数据库中。
insert into openrowset('Microsoft.Jet.OLEDB.4.0',
'x:\A.mdb';'admin';'',A表) select * from 数据库名..B表/*************导入Access********************/
insert into B表 selet * from openrowset('Microsoft.Jet.OLEDB.4.0',
'x:\A.mdb';'admin';'',A表)
select * from SQLServer表
或用BCPmaster..xp_cmdshell'bcp "serv-htjs.dbo.serv_user" out "c:\db3.mdb" -c -q -S"." -U"sa" -P"sa"'上面的区别主要是:OpenRowSet需要mdb和表存在,BCP会在不存在的时候生成该mdb3、从Access向SQLServer写数据:有了上面的基础,这个就很简单了insert into SQLServer表 select * from
OpenRowSet('microsoft.jet.oledb.4.0',';database=c:\db2.mdb','select * from Accee表')或用BCPmaster..xp_cmdshell'bcp "serv-htjs.dbo.serv_user" in "c:\db3.mdb" -c -q -S"." -U"sa" -P"sa"'4、删除Access数据:delete from OpenRowSet('microsoft.jet.oledb.4.0',';database=c:\db2.mdb','select * from serv_user')
where lock=05、修改Access数据:update OpenRowSet('microsoft.jet.oledb.4.0',';database=c:\db2.mdb','select * from serv_user')
set lock=1SQLServer和Access大致就这么多。