1

私がやろうとしているのは、ビュー/テーブルを Sybase ASE 12.0 から CSV ファイルにエクスポートすることですが、それには多くの困難があります。

IDEAまたは MS-Accessにインポートしたいと考えています。これらのプログラムが動作する方法は、テキスト フィールドのカプセル化文字とフィールド セパレータ文字を使用し、改行をレコード セパレータとして使用します (これを変更することはできません)。

まあ、bcpそれをエクスポートするために使用することは、組み込みのオプションでは最終的に無益です. テキスト フィールドのカプセル化文字を定義することはできません (私が知る限り)。そのため、新しい行を持つフィールド (フィールド) を連結する他のビュー/テーブルから読み取る別のビューを作成しようとしましたがtext、フィールドを強制的varcharに8000 文字/バイト、使用される最大フィールドは 16000 です (したがって、切り捨てが確実にあります)。

そこで、新しいビューにテキスト フィールドの区切り記号を持つ列を作成することにしました。ただし、ビューの列数は 320 になり、ASE 12.0 の 250 列制限よりも 70 増えています。

bcp既存のテーブルとビューでしか機能しないので、このデータをエクスポートするにはどうすればよいでしょうか? 私たちは何に対してもオープンです。

4

3 に答える 3

1

問題を引き起こしているのが唯一の改行文字である場合は、単に置換を行うことはできません

create new view as
select field1, field2, replace(text_field_with_char, 'new line char,' ' ')
from old_view

2つのファイルとしてエクスポートし、2つのテーブルとしてターゲットにインポートしてから、ターゲットでそれらを再度結合することを検討する必要がある場合があります。両方のファイルに主キーがある場合、これは簡単です。

于 2011-03-01T18:11:48.783 に答える
0

それはbcpの権利のように聞こえますが、awkまたはperlを介して出力を処理します。しかし、あなたが持っていて知っているものはありますか?それはあなたにとって少しオーバーヘッドかもしれません。Windowsを使用している場合は、Active Perlを無料で入手でき、すぐに利用できます。

何かのようなもの:

perl -F、-lane'print "\" $ F [0] \ "、$ F [1]、\" $ F [2] \ "、$ F [3] \ n";' bcp-出力ファイル

どのようだ?$Fはフィールドの配列です。\"で囲んだテキスト

于 2011-03-08T22:26:55.940 に答える