|
以下のようなプログラムをつくり、テキストファイルのデータを1行づつSQLServer上のテーブルにINSERTしようとしています。
仮に、テキストファイルのデータが40行だとすると、40件のデータをINSERTした後 41件目に空データをINSERT使用としてエラーになります。
エラーメッセージは
「文字列''が終了していません。」
となっています。
エラーになった際に発行したSQL文をクエリアナライザで実行するとテーブルにINSERTすることができます。
一体どこがエラーになっているのか自分では分からなくてて・・・
ロジック等 どこがおかしいかお分かりでしたら教えてください。
お願いします。m(_ . _)m
------------------------------------------------------------------
'SQLServerとの接続は既に確立された状態
con.BeginTrans
Dim strDataFile as string
strDataFile = "D:\LOG.txt"
Dim pFileNo As Integer
pFileNo = FreeFile
'ファイルのオープン
Open strDataFile For Random As #pFileNo Len = 40
Do While Not EOF(pFileNo)
Get #pFileNo, , mKuni_kani
'SQL文生成
Dim sql as string
sql = "INSERT INTO (テーブル名) VALUES ((テキストファイルからとったデータ),(テキストファイルからとったデータ),(テキストファイルからとったデータ))"
On Error Resume Next
con.Execute sql
If (Err) Then
con.RollbackTrans
MsgBox Err.Description & vbCrLf & sql
Err.Clear
Exit Do
End If
Loop
Close #pFileNo
If (Err.Number = 0) then
con.CommitTrans
End If
On Error GoTo 0
|
|