>>김일형 님께서 쓰시길<<
:: 코드를 보니 일단 드라이버가 올라오는 것으로 봐서는 CLASSPATH자체에는 이상이 없는 듯합니다.
::
:: 그런데 의심이 가는 한부분은 Connection을 가져오는 부분인데요...
::
:: DriverManager.getConnection ("jdbc:postgresql:template1", "kms","kms");
::
:: getConnection의 첫 파라매터는 url인데요, Postgresql의 url 형식은 다음과 같습니다.
:: jdbc:posrgresql://xxx.xxx.xxx.xxx/dbname
::
:: 입니다.
:: 여기서 xxx.xxx.xxx.xxx 는 Postgres가 있는 컴퓨터의 ip 또는 domain name입니다.
:: 만일 db server와 web server가 같은 장치에 있다면 이부분을 127.0.0.1 또는 localhost라고 써주면
:: 되구요,
:: 그 뒤의 dbname은 접근하시고자 하는 database 이름입니다.
::
:: 그리고 아래의 예에서 보면, template1 db에 대한 "kms" 유저는 접근권한을 가지고 있어야 하거든요.
::
::
:: 위의 두가지를 확인해 보십시요.
::
:: 김일형.
::
::
::
::
::
:: >>김명수 님께서 쓰시길<<
::
:: :: 환경은 터보리눅스이고, postgres는 리눅스 setting 때 옵션으로 깔았습니다.
:: :: jdbc드라이버를 compile할려고 하니 'src/interfaces/jdbc'디렉토리가 없더군요.
:: :: 그래서 여기 자료실에 가서 'postgressql.jar'을 다운받아
:: :: /var/lib/pqsql/jdbc디레토리를 만들고 .bash_profile에 classpath를 잡았습니다.
:: :: 'CLASSPATH=/var/lib/pgsql/jdbc/postgresql.jar:.'
:: ::
:: :: 소스코드인 postJdbcTest.jsp입니다. 좀 봐주십시요.드라이버 로드는 되는데
:: :: connection이 안 맺어지더라구요.
:: :: System.out.println으로 프린트 해보니
:: :: System.out.println("1");은 프린트 되는데,
:: :: System.out.println("1");는 안되더라구요...
:: ::
:: :: <%@ page contentType="text/html; charset=EUC-KR" %>
:: :: <%@ page language="java" import="java.util.*, java.sql.*, java.io.*" %>
:: ::
:: :: <html>
:: :: <head>
:: :: <title>:::::포스트그레스 Connection Test:::::</title>
:: :: <meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
:: :: </head>
:: :: <body>
:: :: <br>
:: :: <%
:: :: Connection conn = null;
:: ::
:: :: try{
:: :: // Class.forName("org.postgresql.Driver");
:: :: DriverManager.registerDriver(new org.postgresql.Driver());
:: :: System.out.println("1");
:: ::
:: :: conn = DriverManager.getConnection ("jdbc:postgresql:template1", "kms","kms");
:: ::
:: ::
:: :: // conn = DriverManager.getConnection("jdbc");
:: :: System.out.println("2");
:: ::
:: :: if(conn != null){
:: :: out.println("PostgreSql DB Connection Success!!!");
:: :: }
:: ::
:: :: if(conn == null){
:: :: out.println("PostgreSql DB Connection Failed!!!");
:: :: }
:: ::
:: :: conn.close();
:: ::
:: :: // }catch(ClassNotFoundException e) {
:: :: // conn.close();
:: :: // out.println(e.getMessage());
:: :: }catch(SQLException ex){
:: :: conn.close();
:: :: out.println(ex.getMessage());
:: :: }catch(Exception e){
:: :: System.out.println("1"+e.getMessage());
:: :: }finally{
:: :: if(conn != null){
:: :: try{
:: :: conn.close();
:: :: }catch(Exception ex) {}
:: :: }
:: :: }
:: :: %>
:: ::
:: :: </body>
:: :: </html>
:: ::
:: ::
답변에 정말 감사 드립니다.
저번에도 답변을 해 주시더니...정말 많은 도움이 됩니다.
몇가지만 더 여쭈어 보겠습니다.
db server와 web server가 같은 장소에 있을 경우 그 서버의 ip를 써주면 안되나요?
그리고 접근 권한이라고 하셨는 데 ..계정을 만들때 어떻게 해야 되는지
좀 자세히 알려주시면 감사하겠습니다...
|