2015-07-15 6 views
0

Чтобы получить список всех таблиц из всех витрин данных в хранилище данных с использованием Sybase, мы используемЭкспортировать данные таблицы из определенного хранилища данных?

select * from sysobjects where type = 'U' 

Однако, я хочу, чтобы захватить и экспортировать все таблицы из определенной витрины данных («DM»). Я относительно новым для Sybase, так что моя кишка говорит мне что-то сделать по следующим направлениям:

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

Очевидно, что это не работает, иначе я бы здесь не было :). Может ли кто-нибудь указать мне в правильном направлении?

+0

Sybase была компания, а не базы данных. Можете ли вы указать, какой продукт/версию вы используете? (ASE, IQ, SQL Anywhere и т. Д.) Ответы будут зависеть от того, что вы используете. –

ответ

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 означает, что это символьный режим или текстовый файл. Существуют и другие варианты изменения разделителей, и многое другое, но это должно помочь вам начать работу.

This answer имеет более подробную информацию об использовании bcp

Смежные вопросы