「|(パイプ)」区切りで区切られたテキストファイルをSQL-SERVERのテーブルに書き込むにはどのようにしたらいいでしょうか?
教えていただけますでしょうか?
input関数を使ってみたのですが「,(カンマ)」区切りしか対応していないようなので・・・。
例
テキストファイル(test.txt)
AAAA|NNNN|CCC
BBB|PPP|OOOO
プログラムを作成する・・・と言う見地からですと、なんとでも
なる話ですが・・・
1. VB6としては、Line Input で、1行づつ読み込み、ADO経由で
SQL Serverにインサートしていく。
2. テキスト形式のデータとして、一旦、アクセスのMDBに
インポートして(区切り記号は、『|』と設定)、後、MDB
からSQL Serverにエキスポートさせる。
※ 何度も行う場合は、テーブル名の重複になりますので、
そこは、プログラム的に回避するとか・・・
1.はプログラム次第・・・
2.はテストしてみましたが、まわりくどいですが、これもOK
プログラムの醍醐味のところだと思いますが・・
ご検討下さい。
以上。
追伸・・・
1.のLine Input で読み出していく部分は、区切り記号である『|』
を文字列中から探し出して、トークンとして、各項目を切り出すと
言う手法が必要です。
文字列中から文字列を探し出すのは、InStr()ですネ!
頑張って下さい!
以上。
Split 関数を調べてみてください。
編集 削除岡田さん、okuさん レスありがとうございます。
Line Input で1行ずつ読み込み、読み込んだ値を、split関数を利用して1フィールドずつに分解し、テーブルへinsertしようとしたのですが、
そのあたりで、つまずいています。loopの考え方や、値のとり方についてももう少し詳しく教えていただけたら幸いです。
Split 関数は1次元配列に作成するので
配列の指定された次元で使用できる最小の添字から
配列の指定された次元で使用できる添字の最大値まで
For文で回せばいいかと
LBound 関数とUBound 関数を調べてみてください。
> 「|(パイプ)」区切りで区切られたテキストファイルをSQL-SERVERのテーブルに書き込むにはどのようにしたらいいでしょうか?
SQL Serverの場合は、「データ変換サービス(DTS)」を使うのが一般的でしょう。
管理ツールをインストールしてある場合は、スタートメニューから、
[プログラム]-[Microsoft SQL Server]-[データのインポートとエクスポート]を
選択してみてください。あとは、ウィザードの指示に従えばOKです。
プログラムから制御する場合は、下記を参照してみてください。
http://www.microsoft.com/japan/msdn/sqlserver/columns/dts/dts1.asp
みなさんありがとうございました
結果として、1行ずつ読み込み配列にいれ
それをLOOPでまわすようにしました。
ありがとうございました。これからもお願いします