私はテキストファイル(~100,000 +行)を持っています。各行は固定長で、SQL Serverデータベーステーブルに入れる必要があります。各クライアントはこのデータを取得する必要がありますが、各テキストファイルはわずかに異なりますので、手動でSQLストアドプロシージャの文字間隔を調整して調整する必要があります。固定長テキストファイルからSQLデータテーブル
私たちが代わりにXML/XSD/XSLTを使用することができる方法がある場合、私は思っていました。このようにして、ストアドプロシージャを手動で編集する必要はありません。
Name [12 Characters]
Employer [20 Characters]
Income [7 Characters]
Year-Qtr [5 Characters]
JIM JONES HOMERS HOUSE OF HOSE100000 20113
:
一つのクライアントのテキストファイルには、次のだろう...
明確にするため1.) SQL server stored procedure reads a text file from the disk
2.) Each record is split into an XML element and dumped into a temporary table
3.) Using SQL Server's string manipulation, each element is parsed
4.) Each column is dumped into
、ここでは例のカップルです:
は私たちが現在やっていることはこれです
Year-Qtr [5 Characters]
Income [7 Characters]
Name [12 Characters]
Employer [20 Characters]
20113100000 JIM JONES HOMERS HOUSE OF HOSE
:別のクライアントのテキストファイルには、以下を持っているでしょう
彼らは基本的にすべて同じフィールドを持っていますが、いくつかはもっとカップルが少なく、ちょうど異なる注文になっています。固定長テキストファイルをインポートするには、SQL ServerのXML処理機能を使用して
テキストファイルの違いを実証できますか?多分それが解決策を洗い流すのに役立つでしょう。 –
これがうまくいくかどうかは分かりませんが、 'BULK INSERT'コマンドを調べましたか? http://msdn.microsoft.com/en-us/library/aa225968%28v=sql.80%29。ASPX –
は、私たちは、BULK INSERTを使用するために使用されるが、それはITは、データベース、ファイルやフォルダを移動することを決めたときに時々見落とさなるだろう権限の束を必要と。 – Jim