2017-06-07 13 views
0

私の会社には、(リレーショナルではなく)階層データベースのデータを入力するSQL Serverデータベースがあります。私は既にリレーショナルデータベースにそのスキーマをマップするために.netアプリケーションを書いており、それをうまくやっています。しかし、私の問題は、ここで使用されている技術が古くてデータ転送の明白な方法がないことです。非従来のデータベースからSQL Serverにデータを転送することは可能ですか

しかし、私はこれをどうやって行うことができるかについていくつかのアイディアを持っています。これは、私の普通のデータベースにファイルスキャンを書き、ファイルをcsvとしてダンプする必要があります。その後、SQL Serverに一括アップロードします。一括アップロードを非常に頻繁に終了する無効なデータの要素があるので、私はこれを感謝しません。

私はサービスブローカーに関するオプションを探求したいと考えていました。レコードがデータベースで変更されていて、これを何らかの形で取り上げることができるライブトランザクションを破棄したいと思っていましたか?

2番目に、ライブや変更されたレコードをファイルに書き出す場合(ファイルを任意のフォーマットにフォーマットすることができます)、SQL Serverに取り込むことができるものを使用したいと考えていましたか?

ご協力いただければ幸いです。

よろしく、

Waqar

+1

データを抽出するシステムのタイプの詳細を追加してください。どのようなタイプのデータベースですか?それには名前がありますか? – iamdave

+0

どのバージョンのSQL Serverを使用していますか? SSISやXMLデータ型などの利用可能なオプションに影響を与えることがあるので、私は尋ねる。 – Jeremy

+0

使用しているデータベースの種類はRTMと呼ばれ、ZUG/ZOPLで書かれています。我々は、SQL Server 2008の標準版を使用している –

答えて

1

サービスブローカは、非常に強力なキュー/メッセージング管理システムです。なぜあなたはこれにこれを使用したいのか分かりません。

csvファイルのフォルダをチェックし続けるSSISジョブを設定し、新しいファイルを検出したときにSQL Serverに読み込んでからzipして別の場所にアーカイブすることができます。これは非常に一般的です。 SSISは、データ(素晴らしいETLツール)を処理するか、SQL Serverのプロシージャを呼び出してデータを処理します。 SSISは非常に高速で、めったに圧倒されないので、なぜService Brokerを使用しますか?

IMS(メインフレーム)タイプのデータをフラットテーブルに変換し、次にSQL Server用のcsvタイプのテキストテーブルとして読み込む必要がある場合。

SQLサーバーはXMLを処理するのに非常に優れており、2016年の時点ではJSON形式のデータであるため、データ型の場合はSQL Serverに直接インポートできます。

0

スキップ一括挿入。 SQL Server xmlのデータ型は、自分がやっていることに役立ちます。他のシステムのデータをXML形式に出力できる場合は、そのXMLをストアドプロシージャの引数に直接プッシュできます。

その後、functions for the XML typeを使用して、必要に応じてデータを反復処理できます。

関連する問題