首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用bcp.exe和mysqldump在不同服务器之间进行数据库表数据传输

使用bcp.exe和mysqldump在不同服务器之间进行数据库表数据传输
EN

Database Administration用户
提问于 2012-08-18 03:29:52
回答 2查看 4.5K关注 0票数 1

我有两个服务器,都是另一个的精确克隆,一个是生产现场使用,另一个是严格为后端DATAENTRY。

在两个不同的服务器上使用MSSQL,我使用以下命令行在服务器之间传输表数据.

从DATAENTRY:

导出表数据:

代码语言:javascript
复制
bcp.exe "SELECT * from database.dbo.table WHERE Modified > '{MM/DD/YYYY} 00:00:00.000'" queryout C:\export\dbtabledump.bcp -n -U{username} -P{password}

##FTP上传文件: dbtabledump.bcp到PRODUCTION##

将表数据导入生产:

代码语言:javascript
复制
bcp.exe database.dbo.table in "C:\import\dbtabledump.bcp" -n -U{username} -P{password}

现在,我想将DATAENTRY服务器精简到基本的部分,使用LAMP而不是当前的WIN/IIS/MSSQL组合。两个平台上的数据库架构将是相同的。

以下是我的问题:

  • 在MYSQL中,MYSQL BCP.EXE的等效性是什么?

目前,我已经找到了mysqldump命令

  • 导出的mysqldump文件是否与MSSQL BCP.EXE兼容?
  • 如果没有,如何准备MYSQL表数据转储文件以供MSSQL BCP.EXE导入?
  • 我愿意接受任何其他的想法,我的工作流程是否有一个更优雅的解决方案?
EN

回答 2

Database Administration用户

回答已采纳

发布于 2012-08-26 18:03:29

我按照mrdenny关于使用sqlcmd的提示解决了这个问题。由于BCP格式不能从MySQL导出,所以我使用CSV格式。

这些步骤是:

  1. 从MySQL导出CSV文件
  2. 使用sqlcmd将CSV文件导入MSSQL中的临时表中。
  3. 在temp表中,如果在导入过程中出现任何奇怪的字符串问题,则对数据进行按摩。
  4. 将临时表中的数据行重新插入到最终目标表中。
  5. 放置临时表
票数 0
EN

Database Administration用户

发布于 2012-08-18 04:42:34

不,不能将mysqldump的输出与bcp一起使用。Mysqldump创建一个SQL脚本,然后可以运行该脚本。如果模式相同,则可能只需使用sqlcmd运行输出脚本即可。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/22709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档