FireBird Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
파이어버드 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
IBPhoenix
FireBird Main site
볼랜드포럼 광고 모집

FireBird Q&A
[4017] Embedded + JayBird 관련해서 질문 좀 드리겠습니다. ^^
박제홍 [dean3514] 2579 읽음    2011-01-24 17:56
3일째 이것만 보고 있는데, 참 안되네요 ^^;;

제목과 Embedded Firebird와 Jaybird를 이용해서 Data를 조회하는 코드를 작성하고 있습니다.

Embedded로 시도하기 전에 서버로 먼저 테스트를 했습니다.

Firebird의 일반 패키지를 깔고, 테이블을 생성했고, 아래와 같은 코드로 조회를 했더니 정상동작 합니다.


public static void main(String[] args) throws Exception {
       
        Connection conn = null;
        Statement  stmt = null;
        ResultSet rset = null;
       
        final String jdbcURL =  "jdbc:firebirdsql:localhost/3050:C:/Shared/Database/TEST.FDB";
        //final String jdbcURL =  "jdbc:firebirdsql:embedded:C:\\Shared\\Database\\TEST.FDB";

        final String qry     =   "SELECT * FROM TEST";
        try{
            Class.forName("org.firebirdsql.jdbc.FBDriver");
            conn = DriverManager.getConnection(jdbcURL, "test", "test");
           
            stmt = conn.createStatement();
            rset = stmt.executeQuery(qry);

            if(rset != null){
                while(rset.next()) {
                    System.out.println("ID : "+rset.getString("ID"));
                    System.out.println("NAME : "+rset.getString("NAME"));
                    System.out.println("AGE : "+rset.getString("AGE"));
                    System.out.println("================");
                }
            }

        }catch(Exception e){
            e.printStackTrace();
        }finally{
            if(rset != null)try{ rset.close();}catch(Exception ig){}
            if(stmt != null)try{ stmt.close();}catch(Exception ig){}
            if(conn != null)try{ conn.close();}catch(Exception ig){}
        }
    }

그래서, Embedded로 동작하기 위해서 소스 가운데 부분에 주석처리 된 부분을 활성화 시키고

(final String jdbcURL =  "jdbc:firebirdsql:embedded:C:\\Shared\\Database\\TEST.FDB"; 로 변경)

fbclient.dll, ib_util.dll, icu*.dll, firebird.conf,  firebird.msg 파일을 적절한 폴더에 옮겨야 되는데,

Root Directory에 옮기라고 되어 있더라구요.

저는 이클립스 3.6 Helios를 쓰고 있고, 폴더 경로가 C:\workspace\TestJayBird 입니다.

해당 폴더 안에, src와 bin 폴더가 있습니다.

Root Directory가 Workspace 폴더를 말하는 것인지, src 폴더인지, bin 폴더인지 잘 모르겠습니다.

3곳에 다 넣고 테스트를 해봐도, conn = DriverManager.getConnection(jdbcURL, "test", "test"); 에서

하기와 같은 오류가 발생합니다.

java.lang.RuntimeException: Failed to initilize Jaybird native library. This is most likley due to a failure to load the firebird client library.
at org.firebirdsql.gds.impl.jni.JniGDSImpl.attemptToLoadAClientLibraryFromList(JniGDSImpl.java:100)
at org.firebirdsql.gds.impl.jni.EmbeddedGDSImpl.<init>(EmbeddedGDSImpl.java:31)
at org.firebirdsql.gds.impl.jni.EmbeddedGDSImpl.<init>(EmbeddedGDSImpl.java:21)
at org.firebirdsql.gds.impl.jni.EmbeddedGDSFactoryPlugin.getGDS(EmbeddedGDSFactoryPlugin.java:40)
at org.firebirdsql.gds.impl.GDSFactory.getGDSForType(GDSFactory.java:219)

제가 생각하기에는 설정 문제라고 생각이 되는데, 아무리 이거저거 변경을 해봐도 동작을 안하네요..

조언 좀 부탁 드리겠습니다. ㅠ.ㅠ

+ -

관련 글 리스트
4017 Embedded + JayBird 관련해서 질문 좀 드리겠습니다. ^^ 박제홍 2579 2011/01/24
4019     Re:Embedded + JayBird 관련해서 질문 좀 드리겠습니다. ^^ (자답) 박제홍 2569 2011/01/25
4098         Re:Re:Embedded + JayBird 관련해서 질문 좀 드리겠습니다. ^^ (자답) 민연기 3014 2011/03/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.