加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – MS SQL Server 2008:如何将所有表导出为CSV?

发布时间:2020-12-12 16:57:17 所属栏目:MsSql教程 来源:网络整理
导读:我必须从MS SQL Server迁移,现在创建一个新的ORACLE数据库,其中部分数据来自我的旧表. 为此我需要从几十个表中获取数据作为unicode CSV或TXT文件,字段用“|”分隔. 不好的是MS SQL Server的默认导出主机一次只能导出单个表,并且为每个表配置导出选项需要相当
我必须从MS SQL Server迁移,现在创建一个新的ORACLE数据库,其中部分数据来自我的旧表.

为此我需要从几十个表中获取数据作为unicode CSV或TXT文件,字段用“|”分隔.

不好的是MS SQL Server的默认导出主机一次只能导出单个表,并且为每个表配置导出选项需要相当长的时间.我开始手动导出它们但是我在第10桌上受到了神经的攻击.

你知道如何从SQL服务器将所有表导出到csv或txt吗?

解决方法

更强大的解决方案是使用Oracle Migration Workbench.这曾经是Oracle的独立实用程序,但现在包含在 Oracle SQL Developer中.如果你和CLOB / BLOB数据类型那么这就是你要走的路.您还应该阅读有关如何迁移的Oracle documentation,因为SQL Developer迁移界面不是很直观.

如果你想要将所有表导出到csv,你可以使用BCP或SSIS.在simple-talk有一篇非常好的文章,关于使用一些t-sql并为数据库中的所有表生成bcp export命令.您还可以创建简单的SSIS包,以使用平面文件目标任务将所有表导出到csv.

这里有快速的东西脏,将为您生成BCP命令.在SSMS中运行它,在命令提示符下运行输出.

USE AdventureWorks
SELECT 'bcp ' +
            QUOTENAME(DB_NAME())
            + '.'
            +QUOTENAME(SCHEMA_NAME(schema_id))
            + '.'
            +QUOTENAME(name)
            + ' '+'out'+' '
            + name + '.csv -w -t"|" -E -S '
            + @@servername
            + ' -T'
    FROM sys.objects
    WHERE TYPE='u'
        AND is_ms_shipped=0

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读