私はバルーンでhanaに挿入したいと思っています。現在、私は結果セットから行ごとに挿入するためにJavaを使用しています。一度に複数の行を挿入する方法はありますか?それは可能ですか? (私は輸入のみの一括挿入をしたくない)私は全面的に検索し、良い答えを見つけることができませんでした。HANAでバルクインサートが可能ですか?
答えて
JAVA/JDBCコードの場合、いわゆるバッチインタフェースが存在します。ここ は、私がテストのために使われていた古い例です:
myDBconn.setAutoCommit(false);
PreparedStatement insStmt = myDBconn
.prepareStatement("INSERT INTO EFASHION.SHOP_FACTS_INS_DEMO VALUES"
+ " (?, ?, ?, ?, ?, ?, ?, ? )");
for (int i = 1; i <= LOOPCNT; i++) {
myfacts.createNewFact(); // create a JAVA object with new data
// prepare the new data for the batch
// note that this is a typed assignment.
insStmt.setInt(1, i);
insStmt.setInt(2, myfacts.article_id);
insStmt.setInt(3, myfacts.color_code);
insStmt.setInt(4, myfacts.week_id);
insStmt.setInt(5, myfacts.shop_id);
insStmt.setDouble(6, myfacts.margin);
insStmt.setDouble(7, myfacts.amount_sold);
insStmt.setInt(8, myfacts.quantity_sold);
// add the new data to the batch
insStmt.addBatch();
// limit the batch size, to prevent client side out of memory errors.
// but DON'T commit yet!
// Remember the data in the current batch is kept in client
// memory as long as we don't send it to the HANA server
if (i % BATCHSIZE == 0) {
// executeBatch returns the number of affected rows.
// if we want to use this in the application we just keep adding this up
affectedRows += insStmt.executeBatch();
}
}
// the final batch execution for whatever remained in the
// last batch
affectedRows += insStmt.executeBatch();
// finally commit
myDBconn.commit();
これをフォローする問題にはならないので、JDBCのドキュメンタリーに記載されているすべての。
備考:ARRAYデータ型は、(単一プリペアドステートメントのためにも、バッチのためでもない)はサポートされていません - ちょうどあなたがやりたいことである場合には...
@ Lars.Br次に、HANAに配列をアップロードするには?私は、クエリを実行し、結果セットの配列を取得しますが、 'insStmt.setArray(9、MyArrayという)以来、HANAにそれを挿入する方法を、私の挿入satementは' INSERT INTO EFASHION.SHOP_FACTS_INS_DEMOのVALUES llike探す場所 '「 +」を動作しませんでした(?????????、、、、、、、、ARRAY()) ");'しかし、私は手動で 'INSERT INTO EFASHION.SHOP_FACTS_INS_DEMOは、値のように挿入すると、"( + "を、??? 、?、?、?、?、ARRAY(1,2,3)) ");'うまく動作します。 – RKR
この上の既存の議論を確認してください:http://stackoverflow.com/questions/40102034/import-array-type-into-hana/40378906#40378906とhttp://stackoverflow.com/questions/41338263/upload-an -array・イン・花/ 41353326#41353326また –
:あなたは配列の挿入のために大量のデータのロードを求めません。そのような特定のレベルで尋ねるときは、適切な用語を使用してください。ありがとう。 –
- 1. バルクインサートでのクエリ3
- 2. Boost Hanaを使ってメソッドをイントロスペクトすることは可能ですか?
- 3. バルクインサートの照合
- 4. キャメルとバルクインサート
- 5. バルクインサートの改善
- 6. ダブルセカンダリナビゲーションが可能ですか?
- 7. SAP HANAデータベースからJava関数を呼び出すことは可能ですか
- 8. です。何が可能ですか?
- 9. バーニッシュでドーナツキャッシングが可能ですか?
- 10. C++ではopIndexAssignが可能ですか?
- 11. .NETではパッシブロギングが可能ですか?
- 12. GambasでWebスクレイピングが可能ですか?
- 13. Google+ APIでサークルカウントが可能ですか?
- 14. Cocos2Dでダイナミックタイルマップが可能ですか?
- 15. Javascriptではメタプログラミングが可能ですか?
- 16. cmdではshadowtypeが可能ですか?
- 17. Linuxではデータグラムパイプが可能ですか?
- 18. three.jsポインターロックコントロールでマウスオーバーが可能ですか?
- 19. LoadIcon()でメモリリークが可能ですか?
- 20. achartengineでハーフパイチャートが可能ですか?
- 21. R/ggplot2でビヘイビアグラフが可能ですか?
- 22. ビットバケットパイプラインでMavenマルチプロジェクトが可能ですか?
- 23. シュガーORMが動作しないバルクインサート
- 24. ハイブテーブルからスパークストリーミングが可能ですか?
- 25. バルクインサートでエラーが発生した行をスキップ
- 26. jwtで可能ですか?
- 27. hana :: tuple_tからhana :: tupleに行く
- 28. HANAでアレイをアップロード
- 29. SAP HANAでのデータパーティショニング
- 30. Gnuplotで可変透明が可能ですか?
は正確にあなたが何をしたいのかについて具体的にしてください、例えば使用する言語またはツールHANAは大量データの読み込みをサポートしています。すべてのデータは、使用する内容によって異なります。 –
私は結果セットからデータを挿入するためにJavaを使用しています。しかし、私は行ごとに挿入すると、より多くの時間を消費します。一括で挿入する方法はありますか? (一度に複数の行を挿入する) – RKR