从特定数据集市导出表数据?
Posted
技术标签:
【中文标题】从特定数据集市导出表数据?【英文标题】:Export table data from a particular data mart? 【发布时间】:2015-07-15 13:14:21 【问题描述】:要使用 Sybase 从数据仓库中的所有数据集市中获取所有表的列表,我们使用
select * from sysobjects where type = 'U'
但是,我想从特定数据集市(“DM”)抓取并导出所有表。我对 Sybase 比较陌生,所以我的直觉告诉我要按照以下思路做一些事情:
select * from DM.sysobjects where type = 'U'
这显然行不通,否则我不会在这里:)。有人能指出我正确的方向吗?
【问题讨论】:
Sybase 是一家公司,而不是数据库。您能指定您使用的产品/版本吗? (ASE、IQ、SQL Anywhere 等)答案会因您使用的内容而异。 【参考方案1】:根据您提到的表,您似乎正在使用 Sybase ASE。
Sybase ASE 不支持通过数据库转储以外的任何方法一次自动导出所有表。要获取数据库中的所有表,您需要创建一个脚本,该脚本将遍历数据库中的所有表(您称之为数据集市)。
有很多不同的方法可以解决这个问题,根据你是在 *nix 还是 windows 平台上,它可能会有所不同,但这至少会给你一个想法。
set nocount on
select "bcp "+ name + " out " + name + ".bcp -Uusername -Sservername -Ppassword -c
from sysobjects where type = 'U'
go
这将为您提供一个易于在服务器上运行的脚本文件。 -c
表示它是 字符模式 或纯文本文件。还有其他用于更改分隔符的选项等等,但这应该可以帮助您入门。
This answer 有更多关于使用bcp
的细节
【讨论】:
以上是关于从特定数据集市导出表数据?的主要内容,如果未能解决你的问题,请参考以下文章