日期:2014-05-17  浏览次数:20778 次

高分求教较复杂的应用实例:如何将A数据库中的A表数据倒入到B数据库中的B表中
本帖最后由 xujie7194 于 2013-02-03 14:02:22 编辑
如何将A数据库中的A表数据倒入到B数据库中的B表中?
1.有数据库DATABASE_A,账户名:abc 密码:123456 
表名TBL_A,有15个字段,只选取2个字段,分别是字段A_NUM(varchar50) 和字段A_IC_NUM(varchar 50)是IC卡的物理编号,存储的是10进制数.

TBL_A如下:
A_NUM           A_IC_NUM    
-------------------------------------
SQA-01        1971339278     
ABC-44        541264532    
dda-31        967251628
-------------------------------------
2.有数据库DATABASE_B,帐户名:CCC 密码: 123456
表名TBL_B,有10个字段,其中二个字段用来存储TBL_A中的数据,分别是字段B_NUM(VARCHAR50)和字段B_IC_NUM
(VARCHAR 8),另一个字段B_Logic_NUM(varchar10),每插入一条数据,该字段值就自增

最后,我想要的结果如下:
B_NUM     B_IC_NUM    B_Logic_NUM
SQA-01   7580400E     0001000001
ABC-44   20430A94     0001000002
dda-31    39A716AC     0001000003

------解决方案--------------------
登陆(此账号需要同时拥有两个数据库的权限),然后
insert into B..B(B_NUM,B_IC_NUM)  select  A_NUM,A_IC_NUM from A..A
------解决方案--------------------
在b服务器运行以下语句,其中SerNameA要替换成A服务器的电脑名或者ip

    EXEC master.dbo.sp_addlinkedserver @server='ServerA',@srvproduct='',@catalog='DATABASE_A',@provider='SQLOLEDB',@provstr=='DRIVER="SQL Server";Initial Catalog=DATABASE_A;SERVER=SerNameA;UID=abc;PWD=123456';
    
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname='ServerA',@useself='false',@locallogin='ccc',@rmtuser='abc',@rmtpassword='123456'
            
            EXEC master.dbo.sp_serveroption @server='ServerA', @optname=N'collation compatible', @optvalue=N'false'
            
            EXEC master.dbo.sp_serveroption @server='ServerA', @optname=N'data access', @optvalue=N'true'
            
            EXEC master.dbo.sp_serveroption @server='ServerA', @optname=N'dist', @optvalue=N'false'
            
            EXEC master.dbo.sp_serveroption @server='ServerA', @optname=N'pub', @optvalue=N'false'
            
            EXEC master.dbo.sp_serveroption @server='ServerA', @optname=N'rpc', @optvalue=N'true'
            
            EXEC master.dbo.sp_serveroption @server='ServerA', @optname=N'rpc out', @optvalue=N'true'
            
            EXEC master.dbo.sp_serveroption @server='ServerA',&nbs