用C#代码实现,读取Access数据放到SQlserver中
1.Access数据库与SqlServer数据库表结构一样。而且目前两边的数据一模一样
客户对Access中的某个表某条数据进行了修改或增加或删除
2.对已经修改或增加的数据,更新到对应的Sqlserver对应表里面,同样SQL中,修改新增的数据也要同步到Access中
其实就是Access与SQl同步,用C#代码实现,看了很多资料都不符合我的需求
我现在的想法是:
把Access中符合条件的数据读取出来放到Dataset中;再从Dataset数据集中添加(修改)到SQL中,不知道是否可行。
用代码怎样实现比较好呢?各位出出主意,最好有代码参考
[解决办法]
可以在SQL中用链接服务器直接从ACCESS里读出数据,并加以比较的.
如果是新插入的,可以:
exec sp_addlinkedserver 'sample','','Microsoft.Jet.OLEDB.4.0','d:\db1.mdb','','','db1'goinsert into tb select * from sample...tb a where not exists(select 1 from tb where id=a.id)goexec sp_dropserver 'sample','droplogins'
[解决办法]
Transact-SQL语句进行导入导出:1.在SQL SERVER里查询access数据:-- ======================================================SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\DB.mdb";User ID=Admin;Password=')...表名select * from opendatasource('Microsoft.Jet.OLEDB.4.0','Data Source="D:\db.mdb";User ID=Admin;Password=')...Student where name = '我'select * from newTable-------------------------------------------------------------2.将access导入SQL server -- ======================================================在SQL SERVER 里运行:SELECT *INTO newtableFROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\DB.mdb";User ID=Admin;Password=' )...表名-------------------------------------------------------------3.将SQL SERVER表里的数据插入到Access表中-- ======================================================在SQL SERVER 里运行:insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source=" c:\DB.mdb";User ID=Admin;Password=')...表名 (列名1,列名2)select 列名1,列名2 from sql表实例:insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'C:\db.mdb';'admin';'', Test) select id,name from TestINSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:\trade.mdb'; 'admin'; '', 表名)SELECT *FROM sqltablenameinsert into OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="D:\db.mdb";User ID=Admin;Password=')...Student(studentid,name) select staffid,name from staffinsert into OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'D:\db.mdb';'admin';'', Student) select accountid,name from tblbaccountselect * from openrowset('Microsoft.Jet.OLEDB.4.0','D:\db.mdb';'admin';'',Student)-------------------------------------------------------------
[解决办法]
可不可以这样考虑:
系统在增加、修改或删除时同时对SQL与ACCESS作同步处理