0
SQL 서버에서 MongoDB로 내 차원을 가져 오려고하는데, 이렇게 할 수는 있지만 시간이 많이 걸리는 차원마다 코드를 작성해야합니다. 코드의 일부 조각 :SQL 서버 차원에서 mongoDB로 데이터를 가져 오는 방법
Mongo mongo = new Mongo();
DB db = mongo.getDB("Nelly");
DBCollection facil = db.getCollection("Facilities");
while (r.next()) {
BasicDBObject facObj = new BasicDBObject();
String faccKey = (r.getString("dim_Facilities_dKey"));
if (faccKey != null && !faccKey.trim().isEmpty()
&& faccKey.length() != 0)
facObj.append("dKey", faccKey);
facil.insert(facObj);
하지만 난 루프 및 목록의 일종으로 빨리 할 수있을 싶어하지만 난 그것이 내가 모든 것을 시도 해결하는 방법을 알아낼 질수!
while(r.next()){
for (int i = 1; i < columnCount + 1; i++) {
HashMap<String, ArrayList<String>> hashmap = new HashMap<String, ArrayList<String>>();
ArrayList<String> arr=new ArrayList<String>();
arr.add(r.getString(i));
BasicDBObject facObj = new BasicDBObject();
String name = rsmd.getColumnName(i);
int varde=1;
String data =r.getString(varde);
varde++;
arr.add(data);
hashmap.put(name, arr);
facObj.append(name, hashmap.values().toString());
facil.insert(facObj);
이동 방법에 대해 조언 해 줄 수 있습니까? 나는 그것을 해결 사전
에
감사 : 작업의 종류는 일반적으로 그것을 할 수 있도록 설계되었습니다, 당신에게 더 나은 성능과 관리 성을 제공 할 수있는 ETL 툴에 의해 수행
ResultSet r = s.executeQuery();
ResultSetMetaData rsmd = s.getMetaData();
int columnCount = rsmd.getColumnCount();
while (r.next()) {
BasicDBObject facObj = new BasicDBObject();
for (int i = 1; i < columnCount + 1; i++) {
String name = rsmd.getColumnName(i);
String faccKey = (r.getString(i));
if (faccKey != null && !faccKey.trim().isEmpty() && faccKey.length()!= 0)
facObj.append(name, faccKey);
}
facil.insert(facObj);}
감사 Moacy. 데이터를 구조화하는 철학은 근본적으로 다릅니다. – Philipp
코드 스 니펫에서 변수'r'은 정확히 무엇입니까? 일부 반복자, 나는 presssume을 반복하지만 정확히 iterating 무엇입니까? – Philipp
ResultSet r = s.executeQuery(); – glaring