• 全部
...

【总结+搜集+疑问贴】关于数据的转移

feixianxxx 2009-07-28 09:31:26
加精
【总结+搜集+疑问贴】关于数据的转移
最近看新东西 发现数据转移方法挺多的虾
我所谓的数据转移其实呢是值 各个类型的 小到表转移到另外一个库 大到不同库之间转移
讨论的方法:
-------------------------------------------------------------------------------------
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

其他方法还有么?

----------------------------------------------------------------------------------------------------------------------------

大家都讨论讨论吧
关于我上面的有关数据转移的方法 我上面肯定说的很不全 方法也许也有错误 毕竟我才刚看
希望大家指出错误 提供好方法 谢谢了!



...全文
给本帖投票
2025 54 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
54 条回复
切换为时间正序
请发表友善的回复…
发表回复
xieyunchao 2009-12-15
  • 打赏
  • 举报
回复
markkkkkkkkkkkkkkkkkkkkkkk!!
wo94jj 2009-08-03
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 guguda2008 的回复:]
看完大大们的回帖有一种深深的无力感
[/Quote]
同是天涯沦落人.相逢何必曾相识,同志,缘分啊
无心雨云 2009-08-03
  • 打赏
  • 举报
回复
mark
scutLiu 2009-08-03
  • 打赏
  • 举报
回复
soft_wsx 2009-08-02
  • 打赏
  • 举报
回复
好贴,继续顶
越过越咸 2009-08-02
  • 打赏
  • 举报
回复
嗯 好帖
Tomzzu 2009-07-31
  • 打赏
  • 举报
回复
也属于资源整合方案的一部分, 不一定完全依赖数据库自带的功能工具, 也借鉴一下第三方工具
feixianxxx 2009-07-31
  • 打赏
  • 举报
回复
每天一定
claro 2009-07-31
  • 打赏
  • 举报
回复
。。。
bluesky395 2009-07-31
  • 打赏
  • 举报
回复
学习。。。
「已注销」 2009-07-31
  • 打赏
  • 举报
回复
我曾经写过一个存储过程,实现对不同表结构不同库的两个表进行数据复制,相当地麻烦,也不知还有其他的方法,不过能实现就好。呵
shirley_yue 2009-07-30
  • 打赏
  • 举报
回复
收藏
saynotono 2009-07-30
  • 打赏
  • 举报
回复
不错 的资料
cqhweb 2009-07-30
  • 打赏
  • 举报
回复
先收藏起来..
dj3688 2009-07-30
  • 打赏
  • 举报
回复
关注
zhxingway 2009-07-30
  • 打赏
  • 举报
回复
嗯嗯,暂时还没有使用过,,呵呵

先了解一下先了,谢谢楼主.
soft_wsx 2009-07-30
  • 打赏
  • 举报
回复
学习
feixianxxx 2009-07-30
  • 打赏
  • 举报
回复
每天一顶
stszd604 2009-07-29
  • 打赏
  • 举报
回复
这贴不顶 可惜了
staryjqwu 2009-07-29
  • 打赏
  • 举报
回复
关注学习中
加载更多回复(33)

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧

手机看
关注公众号

关注公众号

客服 返回
顶部