質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

Q&A

解決済

1回答

4887閲覧

VBS insert文のバインド変数にCSVファイルの各カラムデータをパラメータとして設定する

Kiri_Tanpo

総合スコア13

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

0グッド

0クリップ

投稿2018/03/13 00:20

前提・実現したいこと

insert文のバインド変数にCSVファイルの各カラムデータをパラメータとして設定したい。
バインド変数が?の場合の代入方法を教えていただきたいです。

発生している問題

バインド変数への値の代入の方法がイメージできない。
:[バインド変数名]での代入をしているものは見かけるのですが、?に代入しているものを見つけられず、どうやって代入しているのかわかりません。insert文はiniファイルで設定しているため、?から変更をすることも出来ず、詰まっています。

該当のソースコード

使用言語:VBScript

INSERT INTO テーブル名 (ora_col1, ora_col2, ora_col3,・・・) values (?, ?, TO_DATE(?), ・・・)

補足情報

使用DBはOracleです。
Sql発行までの流れは、csvファイル名を元にiniファイルより、insert文を取得し、csvファイルのデータをバインド変数に代入後、Sql実行をループで繰り返すという形です。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/03/13 01:28

VBSからOracleDBに接続するのにどういう方法を採っていますか? 質問文に追記してください。
guest

回答1

0

自己解決

自己解決しました。
以下、ソースコード抜粋です。

VBScript

1 2 Dim aryCsvResult 'CSVファイル各行のカラムデータ配列 3 4 objCMD.CommandText = strInsertSql 5 For i = 0 To UBound(aryDataResult) + 1 6 aryCsvResult = Split(aryDataResult(i), ",") 7 8 For j = 0 To UBound(aryCsvResult) + 1 9 'バインド変数設定 10 objCMD.Parameters(j).Value = aryCsvResult(j) 11 j = j + 1 12 Next j 13 '処理の実行 14 objCMD.ExecuteNonQuery() 15 i = i + 1 16 Next i

抜粋コードに宣言が載っていない変数は以下の通りです。
aryDataResultは、CSVファイル読込時の各行毎の配列になっています。
objCMDは、CreateObject("ADODB.RecordSet")をセットした変数です。
strInsertSqlにINSERT INTO テーブル名 (ora_col1, ora_col2, ora_col3,・・・) values (?, ?, TO_DATE(?), ・・・) が代入されています。

投稿2018/03/13 04:10

Kiri_Tanpo

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問