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

请高手解答MSsqlserver下实现不同数据库之间的导入导出
根据选择两个数据库间各表任意字段项对应关系,实现表的导入和导出。

1.首先对两个数据库分别进行连接,地址、数据名、密码
2.分别列出两个数据库所对应的表和字段

我想知道如何实现不同数据库表中的某个列的导入和导出

请高手解答!万分感谢!



------解决方案--------------------
/*
openDatasource:不使用连接服务器的名称,而提供特殊的链接信息.
使用openDatasource的前提是仅当 DisallowAdhocAccess
注册表选项针对指定的提供程序显式设置为 0,
并且启用 Ad Hoc Distributed Queries 高级配置选项时,
OPENDATASOURCE 才可用于访问 OLE DB 数据源中的远程数据。
如果未设置这些选项,则默认行为不允许即席访问。
*/
--代码如下:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
--(1)例如现在我想打开D盘中BJData.mdb中的BJAdmin表的信息
select ID,Title,OwnerName from
opendataSource('Microsoft.Jet.OLEDB.4.0','Data Source="D:\BJData.mdb";')...BJAdmin
/*Results:
ID          Title                OwnerName
----------- -------------------- --------------------------------------------------
1           xinrong             
4           webmaster            admin
5           bing                 webmaster
(3 行受影响)
*/
--(2)我现在要将BJAdmin中BJNewsCategory中的信息插入到A表中
--先查询下Test.Newscategory
select * from  Test.dbo.Newscategory
/*
ID          Title
----------- --------------------
1           MSSQL
(1 行受影响)
*/
insert into Newscategory select Title from OpenDataSource
('Microsoft.Jet.OLEDB.4.0','Data Source="D:\BJData.mdb";')...BJNewsCategory
--导入之后再查询
select * from  Test.dbo.Newscategory
/*
ID          Title
----------- --------------------
1           MSSQL
2           新闻分类
3           新闻动态
4           工程案例
5           膜结构知识
6           在建工程
(6 行受影响)
*/
--上面的都是在MSSQL中查询Access中的信息,现在将MSSQL中的信息导入到Access中去
--(3)将AdminInfo的信息插入到BJData.mdb中的BJAdmin中去
select * from Test.dbo.AdminInfo
/*
ID          Title
----------- ------------------------------
1           ws_hgo
(1 行受影响)
*/
insert into opendatasource('microsoft.Jet.OLEDB.4.0','Data source="D:/BJData.mdb"')...BJAdmin
(Title,RoleID) select Title,1 from AdminInfo
--然后查询BJAdmin表的信息
select ID,Title,OwnerName from
opendataSource('Microsoft.Jet.OLEDB.4.0','Data Source="D:\BJData.mdb";')...BJAdmin
/*
ID          Title         &n