1

Sybase ASE に 60 列以上の巨大なテーブルがあり、12 列を bcp で出力したいと考えています。マニュアルの構文をチェックしていましたが、列名を記載する方法が見つかりませんでした。

また、データを取得する際に、次のようなロジックを追加したいと考えています。

convt = case when A.isConvertible='0' then 'N' else 'Y'  end

主に、SQL Server bcp で利用できる queryout のようなものを探しています。

Sybase 側でオブジェクトを作成できません。それは私にとっては SELECT しかできないソースです。

4

2 に答える 2

1

これは、必要な列と値だけを含むビューを作成することで、かなり簡単に実行できます。その後、bcpを使用してビューからデータを取得できます。

問題のデータベースにオブジェクトを作成できないため、bcpは完全なオブジェクトのエクスポートしかサポートしていないため、事態は複雑になります。

問題のデータベースに対する選択権限のみを持つことを回避する 1 つの方法は、tempdbでビューを作成することです。データサーバーの再起動間で永続的ではありませんが、必要な列をbcpで出力できます。

2 番目の回避策は、ローカル システムに ASE のインスタンスをインストールし、CIS (コンポーネント統合サービス) を介してリモート テーブルをマウントすることです。その時点で、必要なビューを作成し、ローカル システムから bcp を実行できるはずです。

于 2013-01-13T19:43:45.103 に答える