0

私はしばらくMongo-SQLコードに苦労してきましたが、まだあなたの助けが必要です:)

SQL サーバー データベースから MongoDB にデータを転送する際に問題が発生しました。私の問題は、MongoDB に文字列として保存したため、データのようAVERAGE()な計算を実行できないことです。SUM()以下のコードを使用して整数として格納されているSQLサーバーデータベースから数値を取得したため、数値は整数になると思いました。値を取得するときに使用することがわかりgetString()ました。MongoDB で数値が文字列になっているのはそのためですか? それらを整数として取得するにはどうすればよいですか? それらを数値として操作できるようになりたいです!また、SQL サーバーの一部の値は日時であるため、MongoDB ですべての型を正しく取得するには、多数の「if」ステートメントとさまざまな「get」メソッドが必要になります。誰でもこの問題の良い解決策を持っていますか?

StringBuilder orderstatus = new StringBuilder();
orderstatus.append("SELECT * FROM dbo.fact_orderstatus");
PreparedStatement t = connect.prepareStatement(orderstatus.toString());  

DBCollection orderstat = db.getCollection("Orderstatus");

ResultSet v = t.executeQuery();
ResultSetMetaData rsm = t.getMetaData();
int column = rsm.getColumnCount();

while (v.next()) {
BasicDBObject orderObj = new BasicDBObject();
for(int x=1; x<column +1; x++){
String namn= rsm.getColumnName(x);

String custNum = (v.getString(x));
if (custNum != null && !custNum.trim().isEmpty()
&& custNum.length() != 0)
orderObj.append(namn, custNum);

}


orderstat.insert(orderObj)
4

1 に答える 1

0

結果セットで getColumnType() メソッドを利用できます。

SQL サーバーを使用しているため、最初にこれを読むことをお勧めします: http://msdn.microsoft.com/en-us/library/ms378668.aspx

この SO の質問/回答も役立つ可能性があります: ResultSet から JSON への変換が最も効率的ですか?

于 2013-05-03T15:42:56.833 に答える