0

--解決済み--Shareplow のインストールに問題があることが判明しました--試してくれてありがとうございます--

Java での MySQL Insert ステートメントのパフォーマンスに関する回答: バッチ モードのプリペアド ステートメントと複数の値を持つ単一の挿入 バルク インサートのプリペアド ステートメントを使用しようとしています。問題は、最初の行だけが挿入されていることです。

私のコードの関連部分

var sql2 = 'INSERT INTO ' + memtable2 + ' (' + locNameCol2 + ', ' + sectTypeCol + ', '
+ sectPathCol + ') VALUES ';
var cntr = 0;

for (var key in polyObj)//pass sub section paths in an object.
{
  if(cntr){
    sql2 += ',';
  }
  sql2 += '(?,?,?)';
  cntr = 1;
}

var s2 = con2.prepareStatement(sql2);
cntr = 0;
for (var key in polyObj)
{
  indxOffset = 3*cntr;
  s2.setString(indxOffset+1 , fieldNameVal);
  s2.setString(indxOffset+2 , 'Poly');
  s2.setString(indxOffset+3 , polyObj[key]);
  rval += 'index offset ' + indxOffset;
  cntr++;
}
s2.execute();

最初の行は正常に挿入されますが、後続の行は挿入されません。sql2 文字列をダンプすると、polyObj のプロパティの数に対して正しく構築されていることがわかります (と思います)。したがって、polyObj に 3 つのプロパティがある場合、SQL は次のようになり Insert into table (col1, col2, col3) values (?,?,?),(?,?,?),(?,?,?) ます。私は何か間違ったことをしているだけですか?完全に困惑した。

前もって感謝します。

4

1 に答える 1