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 4443
3907 cubrid 9.3.1 설치해서 원격으로 접속하고자 설치했는데 에러가 뜹니다 3 file Xstar 2023.10.27 97
3906 loaddb 실행 중 발생하는 오류에 대해서 문의 드립니다. 1 file 뚜벅뚜벅 2023.10.19 102
3905 큐브리드 매니서 실행 문의 1 마리오 2023.10.19 96
3904 큐브리드 DB가 실행되지 않는 것 같습니다. 4 file 뚜벅뚜벅 2023.10.18 123
3903 ===<ResultofSELECTCommandinLine1>=== 등의 출력 없이 결과값만 반환받고 싶습니다. 3 f0081 2023.10.18 93
3902 가로 데이터 세로로 조회 6 Ggyak 2023.10.18 120
3901 테이블별 row 개수를 조회하는 쿼리 6 cncn 2023.10.18 110
3900 [ADO.NET] Syntax error: unexpected 6 tree1891 2023.10.17 152
3899 큐브리드매니저 패스워드 변경 문의건 1 file yurrrr 2023.10.16 102
3898 Db프로시져 스케쥴 실행 성공 리포트나 로그 결과른 보고싶습니다 2 Roy 2023.10.16 105
3897 db 데이터용량을 조회하는 쿼리 2 cncn 2023.10.11 116
3896 특정 값 우선 정렬 3 drunkenascii 2023.10.11 66
3895 이기종간 DB Link 문의 드립니다. 6 kikiki767 2023.09.26 102
3894 jdbc 오류 1 file 대청댐 2023.09.22 104
3893 javasp start fail이 발생합니다. 1 유수부쟁선 2023.09.22 62
3892 자연조인문제 1 dfahwh 2023.09.17 71
3891 killtran 관련하여 문의 드립니다. 1 후루숑 2023.09.06 143
3890 Cubrid 물리명 길이 제한 값이 어떻게되나요? 3 엘L 2023.09.05 109
3889 쿼리속도문제 3 Ggyak 2023.09.01 160
3888 dbtimezone 1 sj.han 2023.08.30 93
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 200 Next
/ 200

Contact Cubrid

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