Background Image

FORUM

조회 수 481 추천 수 0 댓글 6
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS

Window10 64bit

CUBRID Ver.
[cubrid_rel] 수행 결과
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
android studio

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
q&a 찾다보니 어떤 분이 올려주신 다음과 같은 코드가 있어서 실행해보았습니다.


package com.example.cse.dbcubrid;

import android.os.Bundle;

import android.view.View;
import android.widget.Button;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;

import java.sql.Statement;



import android.app.*;
import android.util.*;

public class MainActivity extends Activity{

Button btn;

Connection conn = null;
Statement stmt = null;
ResultSet rs = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

c();
btn = (Button) findViewById(R.id.btn_test);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
s();
}
});
}

void c() {
try {
Class.forName("cubrid.jdbc.driver.CUBRIDDriver");

conn = DriverManager
.getConnection(
"jdbc:cubrid:localhost:30000:demodb:::?charset=UTF-8",
"dba", "");
conn.setAutoCommit(false);
} catch (Exception e) {
e.printStackTrace();
}
}

void s() {
try {
String sql = "select f_name from code";
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);


while (rs.next()) {
Log.e("rs.getString(1)", "" + rs.getString(1));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}



07-18 07:09:33.859    3524-3524/? W/System.err﹕ android.os.NetworkOnMainThreadException
07-18 07:09:33.859    3524-3524/? W/System.err﹕ at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1147)
07-18 07:09:33.859    3524-3524/? W/System.err﹕ at java.net.InetAddress.lookupHostByName(InetAddress.java:418)
07-18 07:09:33.859    3524-3524/? W/System.err﹕ at java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
07-18 07:09:33.859    3524-3524/? W/System.err﹕ at java.net.InetAddress.getByName(InetAddress.java:305)
07-18 07:09:33.859    3524-3524/? W/System.err﹕ at java.net.InetSocketAddress.<init>(InetSocketAddress.java:105)
07-18 07:09:33.859    3524-3524/? W/System.err﹕ at java.net.InetSocketAddress.<init>(InetSocketAddress.java:90)
07-18 07:09:33.859    3524-3524/? W/System.err﹕ at cubrid.jdbc.net.BrokerHandler.connectBroker(BrokerHandler.java:28)
07-18 07:09:33.859    3524-3524/? W/System.err﹕ at cubrid.jdbc.jci.UConnection.reconnectWorker(UConnection.java:1822)
07-18 07:09:33.859    3524-3524/? W/System.err﹕ at cubrid.jdbc.jci.UConnection.reconnect(UConnection.java:1923)
07-18 07:09:33.859    3524-3524/? W/System.err﹕ at cubrid.jdbc.jci.UConnection.checkReconnect(UConnection.java:2095)
07-18 07:09:33.859    3524-3524/? W/System.err﹕ at cubrid.jdbc.jci.UConnection.tryConnect(UConnection.java:329)
07-18 07:09:33.860    3524-3524/? W/System.err﹕ at cubrid.jdbc.driver.CUBRIDDriver.connect(CUBRIDDriver.java:241)
07-18 07:09:33.860    3524-3524/? W/System.err﹕ at java.sql.DriverManager.getConnection(DriverManager.java:179)
07-18 07:09:33.860    3524-3524/? W/System.err﹕ at java.sql.DriverManager.getConnection(DriverManager.java:213)
07-18 07:09:33.860    3524-3524/? W/System.err﹕ at com.example.cse.dbcubrid.MainActivity.c(MainActivity.java:48)
07-18 07:09:33.860    3524-3524/? W/System.err﹕ at com.example.cse.dbcubrid.MainActivity.onCreate(MainActivity.java:32)
07-18 07:09:33.860    3524-3524/? W/System.err﹕ at android.app.Activity.performCreate(Activity.java:5990)
07-18 07:09:33.860    3524-3524/? W/System.err﹕ at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
07-18 07:09:33.860    3524-3524/? W/System.err﹕ at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
07-18 07:09:33.860    3524-3524/? W/System.err﹕ at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)
07-18 07:09:33.860    3524-3524/? W/System.err﹕ at android.app.ActivityThread.access$800(ActivityThread.java:151)
07-18 07:09:33.860    3524-3524/? W/System.err﹕ at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
07-18 07:09:33.860    3524-3524/? W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:102)
07-18 07:09:33.860    3524-3524/? W/System.err﹕ at android.os.Looper.loop(Looper.java:135)
07-18 07:09:33.860    3524-3524/? W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:5257)
07-18 07:09:33.860    3524-3524/? W/System.err﹕ at java.lang.reflect.Method.invoke(Native Method)
07-18 07:09:33.860    3524-3524/? W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:372)
07-18 07:09:33.860    3524-3524/? W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
07-18 07:09:33.860    3524-3524/? W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
과 같은 에러가 발생합니다.
어떤 부분을 수정해야할까요??? 안드로이드 연동은 자료가 많이 없어서 하는게 너무 힘드네요ㅠㅠㅠ
참고로 에러 로그에 MainActivity.java:48은 conn = DriverManager.getConnection("jdbc:cubrid:localhost:30000:demodb:::?charset=UTF-8","dba", ""); 이거구요.
 MainActivity.java:32는 c();입니다.

  • ?
    오명환 2017.07.19 01:39

    코드를 보면, connection string내에 cubrid가 동작하는 서버인 localhost로 되어 있습니다. (사용하시는 장비가 안드로이드이면, cubrid를 안드로이드에 구동하지 않을 것 같습니다.)

    cubrid가  구동되는 ip address를 넣으시고 다시 한번 시도 해보세요.

    예를들어서, cubrid가 동작하는 서버의 ip가 192.0.0.1 이면 다음과 같이 해 보세요.

    "jdbc:cubrid:192.0.0.1:30000:demodb:::?charset=UTF-8",
  • ?
    고래밥 2017.07.27 02:23

    말해주신 대로 수정을 했는데요. 


    07-26 08:17:07.921 32650-32677/com.example.s0woo.dbcubrid W/System.err: cubrid.jdbc.driver.CUBRIDException: Cannot connect to a broker[CAS INFO-127.0.0.1:30000,0],[SESSION-0],[URL-jdbc:cubrid:127.0.0.1:30000:demodb:dba:********:?charset=UTF-8].

    07-26 08:17:07.922 32650-32677/com.example.s0woo.dbcubrid W/System.err:     at java.net.PlainSocketImpl.socketConnect(Native Method)

    07-26 08:17:07.922 32650-32677/com.example.s0woo.dbcubrid W/System.err:     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:334)

    07-26 08:17:07.922 32650-32677/com.example.s0woo.dbcubrid W/System.err:     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)

    07-26 08:17:07.922 32650-32677/com.example.s0woo.dbcubrid W/System.err:     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)

    07-26 08:17:07.922 32650-32677/com.example.s0woo.dbcubrid W/System.err:     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)

    07-26 08:17:07.922 32650-32677/com.example.s0woo.dbcubrid W/System.err:     at java.net.Socket.connect(Socket.java:605)

    07-26 08:17:07.922 32650-32677/com.example.s0woo.dbcubrid W/System.err:     at cubrid.jdbc.net.BrokerHandler.connectBroker(BrokerHandler.java:32)

    07-26 08:17:07.922 32650-32677/com.example.s0woo.dbcubrid W/System.err:     at cubrid.jdbc.jci.UConnection.reconnectWorker(UConnection.java:1822)

    07-26 08:17:07.922 32650-32677/com.example.s0woo.dbcubrid W/System.err:     at cubrid.jdbc.jci.UConnection.reconnect(UConnection.java:1923)

    07-26 08:17:07.922 32650-32677/com.example.s0woo.dbcubrid W/System.err:     at cubrid.jdbc.jci.UConnection.checkReconnect(UConnection.java:2095)

    07-26 08:17:07.922 32650-32677/com.example.s0woo.dbcubrid W/System.err:     at cubrid.jdbc.jci.UConnection.tryConnect(UConnection.java:329)

    07-26 08:17:07.923 32650-32677/com.example.s0woo.dbcubrid W/System.err:     at cubrid.jdbc.driver.CUBRIDDriver.connect(CUBRIDDriver.java:241)

    07-26 08:17:07.923 32650-32677/com.example.s0woo.dbcubrid W/System.err:     at java.sql.DriverManager.getConnection(DriverManager.java:569)

    07-26 08:17:07.924 32650-32677/com.example.s0woo.dbcubrid W/System.err:     at java.sql.DriverManager.getConnection(DriverManager.java:219)

    07-26 08:17:07.924 32650-32677/com.example.s0woo.dbcubrid W/System.err:     at com.example.s0woo.dbcubrid.MainActivity$2.run(MainActivity.java:52)

    07-26 08:17:07.924 32650-32677/com.example.s0woo.dbcubrid W/System.err:     at java.lang.Thread.run(Thread.java:761)


    과 같은 에러가 발생합니다. 

    큐브리드 매니저에서 JDBC URL를 받아와서 그대로 했는데도 다음과 같은 에러가 발생하네요. 어떤 걸 더 수정해야 할까요ㅠㅠ? 

    방화벽은 broker는 30000-30040, 33000-33040, manager server는 8001, 8002, server는 1523 이렇게 오픈해놓았습니다. 

  • ?
    오명환 2017.08.01 01:57

    우선, ip address가 127.0.0.1는 localhost를 가리키는 것입니다.

    cubrid가 설치되어 있는 장비의 ip address를 찾는 것이 관건인 것 같습니다.

    linux인 경우에는 ifconfig -a 명령어를 이용해서 ip address를 찾아보시고, window에서는 command창에서 ipconfig /all 명령어를 이용해서 ip address를 찾아보셔야 합니다.


    만약, 안드로이드 장비를 사용하지 않고, emulator를 사용하시는 경우에도 127.0.0.1를 connection URL를 주시면, 안드로이드 emulator도 linux 기반이기 때문에 안드로이드 내부를 가르키게 됩니다.

  • ?
    주현 2017.07.27 02:48

    cubrid.jdbc.driver.CUBRIDException: Cannot connect to a broker[CAS INFO-127.0.0.1:30000,0],[SESSION-0],[URL-jdbc:cubrid:127.0.0.1:30000:demodb:dba:********:?charset=UTF-8].

    위 에러는 127.0.0.1 의 30000포트로 접속이 안 되는 경우 발생하는 에러입니다.


    포트 오픈이 정상적으로 이루어지지 않은 것 같습니다. 이를 다시 확인해보세요

    양방향으로 설정되어 있는지 확인 해보세요


    감사합니다.

  • ?
    고래밥 2017.07.31 03:37

    포트오픈이 양방향으로 되어있는지 확인을 어디서하나요ㅠㅠㅠ??

    방화벽 인바운드 아웃바운드 모두 열면 되는거 아닌가요???

    cmd로 확인했을때 broker 제대로 동작중이거든요..

  • ?
    주현 2017.07.31 19:20

    결국, 작성자님의 서버 환경에서 DB서버와이 통신이 안 되어 발생하는 것입니다.

    127.0.0.1로 ping은 되시나요??

    네트워크 부분부터 천천히 점검해 보시기 바랍니다.


    테스트 프로그램을 DB서버에서 수행해 보셔서 확인해 보는 것도 괜찮을 듯 합니다.

    아래 예제는 java코드 입니다. connection부분만 작성하여 수행테스트 해보세요

    http://www.cubrid.com/manual/newest/api/jdbc.html#id7


    감사합니다.






List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4444
1207 언로드 후, 로드 시 데이터 정렬 순서가 역방향으로 바뀌는 것 관련해서... 1 file 차오이 2012.09.24 7123
1206 언로드 후, 로드가 안되는데 어떤 사항을 체크해 봐야 할까요? 2 secret 차오이 2011.08.23 18
1205 언어별 대표적인 orm 플러그인 개발 계획은 없으신지요? 1 서치 2014.05.05 9165
1204 엄청난 DB 생성 소요 시간 4 쭈난 2010.01.16 10070
1203 업그레이드 후 쿼리 수행시간이 길어졌습니다. 4 secret 노랑배 2011.12.22 12
1202 업데이트 보완 문제 해결요청 1 가라 가라~ 2009.01.20 17592
1201 에고 일일히 답변 달아주셨네요;; 1 송효진 2009.04.07 12995
1200 에러 내용 문의 2 yonggi 2021.09.01 155
1199 에러 로그 첨부 합니다. 5 file Philip Park 2020.10.15 166
1198 에러 메세지에 대해서 분석좀 부탁 드리겠습니다. 1 특수요원 2015.11.03 5064
1197 에러 메시지 문의드립니다. 4 file dashbell 2014.10.27 4065
1196 에러 문의 1 시나브로 2016.04.19 10438
1195 에러 질문 : cci_glo_load? 1 sugarkane 2010.11.15 8190
1194 에러 질문 드립니다.!! 1 file 마리오네트 2020.01.22 98
1193 에러 코드 관련 다시 질문 드립니다 1 kkckc 2009.03.18 11506
1192 에러 코드 조회 3 kkckc 2009.03.05 11839
1191 에러 코드 질문 드립니다. 1 빵돌이 2009.05.02 19970
1190 에러 코드 확인 부탁드립니다. 4 duaeoddl 2015.08.25 8466
1189 에러 한번 봐주세요 6 file Philip Park 2020.03.26 199
1188 에러가 왜 날까요... 잘 입력 되다가 이런 에러가 나네요.. 파이선 사용자입니다. 4 오션나인 2021.05.27 897
Board Pagination Prev 1 ... 135 136 137 138 139 140 141 142 143 144 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales