2017-08-15 11 views
1

顧客の一部がデータをファイルにエクスポートできるようにし、そのデータをデータベースの空のコピーにインポートするジョブを作成しますロケーション。注:DBAは関与しません。これは、アプリケーション内の関数です。SQL Server - サーバーを接続できないテーブル間でデータをコピーする

テーブルのスキーマの違いを無視することができますが、それらは一致します。我々は対処すべき異なるテーブルを持っている。私はその後、select * from myspecialstoragetableを実行して、私たちは、その後にインポートするために、いくつかのjob/sqlスクリプトを使用することができ、彼らはその後、私に出荷することができ.sqlファイルを取得

insert into myspecialstoragetable select * from source_table 
insert into myspecialstoragetable select * from source_table_2 
insert into myspecialstoragetable select * from source_table_3 

:よう

だから、顧客側の機能はsomethiugを走っただろう私たちのdbのコピー。

私はXMLを何とか使うことができると思っていますが、少し失われています。

おかげ

答えて

1

あなたは、バルク・コピー・ユーティリティbcpで見たことがありますか?あまり洗練されていないユーザーにとっては、独自のプログラムで簡単にまとめられるようにすることができます。

0

これはアプリケーション内の関数なので、アプリケーションフロントエンドはどの言語で書かれていますか? .NETの場合は、SQL Serverのデータ変換サービスを使用してサンプルエクスポートを実行できます。最後のステップでは、ステップをVB/.NETモジュールに保存することができます。必要に応じて、このファイルを変更してテーブル名などを変更します。このDTSモジュールをアプリケーションに統合します。サンプルのエクスポートを実行している間に、.CSV、.Excelなどの適切なフォーマットにエクスポートします。フォーマットは空のデータベースにインポートすることができます。

ユーザーはエクスポートを行うたびに、アプリケーションに統合されたDTSモジュールを呼び出すボタンをクリックする必要があります。このボタンは、データを目的の形式にダンプします。彼はあなたにそのようなファイルを郵送することができます。

アプリケーションが.NETで書かれていない場合は、どの言語で書かれていても、SQL Serverからデータを読み込み、デリミタ付き.CSVまたはテキストファイルにダンプするオプションがあります。プリミティブ言語の場合は、レコードをループしてファイルに書き込むことで、すべてのレコードのフィールドを連結する必要があります。

これはあまりにも遠いので、これは不可能ではありません。最後に、XMLファイルを解析して自分の場所にインポートする機能が必要です。また、XMLは、のレコードが大きすぎます。

MySqlのように、おそらく.sqlファイルがあると思います。 SQL Serverでは、SQL Serverのインターフェイスの 'Generate Scripts'関数によって生成される.sqlファイルは、各レコードのハード値の挿入ステートメントの生成ではなく、テーブル構造/ DDLに使用されます。

+0

詳細な回答ありがとうございます。ランタイム、ライセンスなどをすべて含める必要があるため、DTS(おそらくあなたはSSISを意味する)を使用しないことをお勧めします。また、明確にするために、実際に.SQLファイル(実際には任意のファイル)をINSERTステートメントで埋めることができます。 –

+0

私はSQL ServerのインターフェイスのGenerate Scriptsメニュー項目で生成された.sqlファイルを意味しました。あなたのコメントに基づいて、同じことを明確にするために答えを編集しました。 –

関連する問題