科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道关于数据的转移

关于数据的转移

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

关于数据的转移

作者:csdn 来源:csdn 2009年12月18日

关键字: MS-SQL Server 问答

  • 评论
  • 分享微博
  • 分享邮件

关于数据的转移

我所谓的数据转移其实呢是值 各个类型的 小到表转移到另外一个库 大到不同库之间转移
讨论的方法:
-------------------------------------------------------------------------------------
A 表转移到例外一个库(已经存在的库)
方法1.SQL语句:
--如果是单表的话 ,在目标库newdb里建立相同的表a(结构相同)
insert newdb..a
select * from olddb..a
--多表转移的话的
--【疑惑1】个人觉得用SQL语句比较麻烦 不知道大家有好办法么 ?关于多表用SQL语句转移到另外一个库
方法2 复制订阅
--我知道通过复制订阅是可以将表(单,多表都可以)转移到另外的库的(- -!我失败了)
【疑惑2】我的步骤如下:
1.我首先配置了分发服务器 每次都在启动代理那里出错了。。为什么 。。有碰到过么?
2.之后我开启监视器
3.我创建了一个复制数据库 还有一个容纳该数据库拷贝的新数据库
4.然后我配置了分布服务器
5.回头我在看复制监视器 那个状态还是XXX 是错误的 。。。
6.后面的配置订阅服务器都没做。。
方法3.数据导入导出(是ssis吧?)
----------------------------------------------------------------------------------------
B 库的转移
1.将一个库附加到另外一个库
--方法1 用SSIS 。注意这里的库 是可以由ACCESS库转移到MSSQL库
--方法2 。。。(个人知识有限 没了。。)
希望大家能在库的转移这块再多提供几个方法
=-----------------------------------------------------------------------------------
3、 数据导入导出
--我知道BCP可以实现 挺多的 比如导出到TXT文件阿。

01. 导出整个表或视图

BCP NTS.dbo.T_User out c:\User.txt -c -U"sa" -P"password" --使用密码连接(用户名和密码需要加上双引号)
BCP NTS.dbo.T_User out c:\User.txt -c -T --使用信任连接

02. 导出SQL语句的目标数据

BCP "SELECT TOP 20 * FROM NTS.dbo.T_User" queryout c:\User.txt -c -U"sa" -P"password"
BCP "SELECT TOP 20 * FROM NTS.dbo.T_User" queryout c:\User.txt -F 10 -L 13 -c -U"sa" -P"password" --导出第10条到13条记录

03. 导出格式文件

BCP NTS.dbo.T_User format nul -f c:\User_format1.fmt -c -T --把表结构信息导出到User_format1.fmt中
BCP NTS.dbo.T_User format nul -f c:\User_format2.fmt -x -c -T --把表结构信息导出XML中

04. 导入数据

在导入数据时可以根据已经存在的格式文件将满足条件的记录导入到数据库中,不满足则不导入。如上述的格式文件中的第三个字段的字符长度是24,如果某个文本文件中的相应字段的长度超过24,则这条记录将不被导入到数据库中,其它满足条件的记录正常导入

BCP NTS.dbo.T_User in c:\User1.txt -c -T
BCP NTS.dbo.T_User in c:\User1.txt -c -F 10 -L 13 -T --导入时也可使用-F和-L选项来选择目标数据
BCP NTS.dbo.T_User in c:\User1.txt -F 10 -L 13 -c -f c:\User_format1.fmt -T --使用普通的格式文件
BCP NTS.dbo.T_User in c:\User1.txt -F 10 -L 13 -c -x -f c:\User_format2.fmt -T --使用XML格式的格式文件

05. 实际导出的例子(存储过程)

EXEC master..xp_cmdshell 'BCP SZC.dbo.T_User out c:\test1.csv -c -U"sa" -P"qwert1"' --使用密码连接
EXEC master..xp_cmdshell 'BCP SZC.dbo.T_User out c:\test1.csv -c -T' --使用信任连接



4. 其他方法导入导出数据

01. 导入数据

SELECT * INTO authors1

FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=192.1.1.2; UserID=sa; Password=qwert1').pubs.dbo.authors



02. 导出数据

INSERT INTO OPENDATASOURCE('SQLOLEDB', 'Data Source=192.1.1.2; UserID=sa; Password=qwert1').test.dbo.authors

SELECT * FROM pubs.dbo.authors

INSERT INTO OPENDATASOURCE('MICROSOFT.JET.OLEDB.4.0','Text;DATABASE=c:\')[data#txt] SELECT * FROM text1

INSERT INTO OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Text;DATABASE=c:\', [data#txt]) SELECT * FROM text1

03. 导入Excel数据

ELECT * INTO excel FROM OPENDATASOURCE('MICROSOFT.JET.OLEDB.4.0', 'Excel 5.0;DATABASE=c:\book1.xls' )[Sheet1$]


04. 导入到Excel

INSERT INTO OPENDATASOURCE('MICROSOFT.JET.OLEDB.4.0', 'Excel 5.0;DATABASE=c:\book1.xls' )[Sheet1$] SELECT * FROM excel

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章