import java.lang.*;
import java.io.*;
import java.sql.*;
public class DBCon2 {
static public void main(String args[]) {
String urls =
"jdbc:informix-sqli://ngoo:1526/msdb:INFORMIXSERVER=msdbs";
try {
Class.forName("com.informix.jdbc.IfxDriver")
;
Connection conn = DriverManager.getConnection(
urls, "msuser", "pasms" ); // --- 1 -- 이렇게 user, password
줄때
//Connection conn = DriverManager.getConnection(
urls ); // --- 2 -- 이렇게 user, password 안줄때
Statement stmt = conn.createStatement();
String sql = "select first 5 * from cpginfotbl"
;
ResultSet rs = stmt.executeQuery( sql ) ;
if( rs != null ) {
while( rs.next() ) {
System.out.println( rs.getString(1)
) ;
System.out.println( rs.getString(2)
) ;
System.out.println( rs.getString(3)
) ;
System.out.println( rs.getString(4)
) ;
System.out.println( rs.getString(5)
) ;
System.out.println( rs.getString(6)
) ;
System.out.println( rs.getString(7)
) ;
}
rs.close() ;
}
stmt.close() ;
conn.close() ;
} catch(Exception e) {
e.printStackTrace();
}
}
}
jdbc 로 리모트 인포믹스 서버에 접속하려는데(sun -->
linux)
위 코드를 실행할때 2번과 같이 user, password 를 안주고 리모트
서버의 사용자 계정과 같은 사용자 계정으로
실행할때는 쿼리를 잘해옵니다
그런데
1번 처럼 user, password 를 주고 실행하면 아래처럼 에러가
납니다
java.sql.SQLException: User
(com.informix.asf.IfxASFRemoteException: )'s password is not
correct for
the database server.
at
com.informix.jdbc.IfxSqliConnect.<init>(IfxSqliConnect.java:821)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:
39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorIm
pl.java:27)
at
java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at
com.informix.jdbc.IfxDriver.connect(IfxDriver.java:251)
at
java.sql.DriverManager.getConnection(DriverManager.java:512)
at
java.sql.DriverManager.getConnection(DriverManager.java:171)
at DBCon2.main(DBCon2.java:14)
리모트 리눅스 서버의 사용자 계정/패스워드/DB 권한 이 같은 사용자
계정인데, 두 호스트 간에 rlogin 도 되는 상태이구요.
위처럼 패스워드 에러가 나는 이유가 뭔지 모르겠습니다
고수님들의 답변 부탁드립니다
|