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
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 105
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4471
3999 회원가입이 3명이상 안돼요.. 1 딩이 2010.07.08 7847
3998 회사 서버에 접속을 할려면 설정이 다른가요? 2 후니 2009.07.14 10578
3997 홈경로 databases.txt 질문드립니다 1 큐브리드드 2023.07.17 93
3996 홀따옴표 처리 문의 1 초보 2010.04.15 14680
3995 혼합형 데이터 정렬방법 1 큐키 2021.06.11 86
3994 혼합형 데이터 정렬 방법 1 큐키 2021.06.14 266
3993 혹시 큐브리드매니저 자동완성 끄는 기능 있나요 2 안지민 2012.09.05 6038
3992 혹시 큐브리드 매니져 기본글꼴을 고정폭으로 해주실 생각은 없으신가요... 1 안지민 2012.12.20 5769
3991 혹시 PHP5.3.0 버전에서 모듈 설치되신분 계신가요??? 4 senseplus 2009.07.13 9395
3990 혹시 MMDB 지원하나요? 1 tekkal 2009.01.31 17481
3989 호스트 추가시 발생되는 오류에 대해 문의 합니다. 1 거북이사촌 2015.01.06 5261
3988 호스트 추가 질문입니다. 7 몽유객 2010.12.21 13809
3987 호스트 추가 1 karay2k 2011.12.17 17929
3986 호스트 연결이 안됩니다. 3 file 미드소나 2013.01.01 7753
3985 호스트 연결이 안되요.(비밀번호오류) 2 양희종 2011.09.06 13921
3984 호스트 연결이 무한 로딩도네요 1 file 큐브리드사용자 2022.10.20 121
3983 호스트 연결이 되지 않습니다. 3 file Juooon 2013.07.24 9236
3982 호스트 연결 에러 3 secret PJEPJE 2016.01.28 10
3981 형변환 오류 문의 1 삽질중 2009.12.30 12970
3980 현재 큐브리드 7.1 을 사용하고 있는데요 1 헬리 2009.10.01 8771
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