要件は、サーバー A の account というテーブルをサーバー B のテーブル account_two にコピーすることです。このようなテーブルが多数あり、それぞれ数千の行があります。
そのためのBCPを試してみたい。問題は、account_two が account よりも列数が少ない可能性があることです。このようなシナリオでは、フォーマット ファイルまたは一時テーブルのいずれかを使用できることを理解しています。
問題は、サーバー A のテーブルを所有していないことです。また、誰かが col の順序と番号を変更した場合、bcp は失敗します。
Sybase では queryout が機能していません。残っている唯一のオプションは、サーバー A のアカウントから A 、 B を選択し、この出力をファイルに書き込み、このファイルを BCP IN の日付ファイルとして使用することです。
ただし、膨大なデータであるため、これを行う便利な方法を見つけることができません。
while ( $my row = $isth->fetchrow_arrayref) {
print FILE JOIN ("\t",@$row),"\n";
}
しかし、このパフォーマンスを使用するとヒットします。
dump_results() またはダンパーを使用できません。数千行のデータを bcp データ ファイル形式に変換するのは追加のタスクです。
誰かが最善のアプローチを決定するのを手伝ってくれるなら。
PS: 私は PERL を初めて使用します。申し訳ありませんが、これに対する明白な答えがあれば。