0

要使用 Sybase 从数据仓库中的所有数据集市中获取所有表的列表,我们使用

select * from sysobjects where type = 'U'

但是,我想从特定数据集市(“DM”)中获取和导出所有表。我对 Sybase 比较陌生,所以我的直觉告诉我要按照以下几行做一些事情:

select * from DM.sysobjects where type = 'U'

这显然行不通,否则我不会在这里:)。有人可以指出我正确的方向吗?

4

1 回答 1

0

根据您提到的表格,您似乎正在使用 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表示它是字符模式或纯文本文件。还有其他用于更改分隔符的选项,等等,但这应该可以帮助您入门。

这个答案有更多关于使用的细节bcp

于 2015-07-15T20:00:54.120 回答