2012-06-07 2 views
0

은 MS의 SQL 서버 2008을 지원하지 않습니다 SQL 서버에서 지원되지 않습니다JDBC 드라이버 클래스 내 자바 코드 JDBC 드라이버 클래스 2008

"MY .sqlserver.jdbc.SQLServerDriver CODE는

import java.sql.*; 

    public class MysqlConnect{ 
    public static void main(String[] args) { 
    System.out.println("MySQL Connect Example."); 
    Connection conn = null; 
    String url = "jdbc:sqlserver://SQLSERVERIP:1433;"; 
    String dbName = "DatabaseName=DBNAME"; 
    String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; 
    String userName = "sa"; 
    String password = "password"; 
    try { 
    Class.forName(driver).newInstance(); 
    conn = DriverManager.getConnection(url+dbName,userName,password); 
    System.out.println("Connected to the database"); 
    conn.close(); 
    System.out.println("Disconnected from database"); 
    } catch (Exception e) { 
    e.printStackTrace(); 
    } 
} 
}  

제가 그것이 오류를 제공하고 연결을 시도하면서 IS

com.microsoft.sqlserver.jdbc.SQLServerException: Cannot open database "hj_cnb_ci 
" requested by the login. The login failed. 
     at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError 
(SQLServerException.java:197) 
     at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:246 
) 
     at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:83) 
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerC 
onnection.java:2529) 
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConne 
ction.java:1905) 
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServer 
Connection.java:41) 
     at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecu 
te(SQLServerConnection.java:1893) 
     at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4615) 
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLSe 
rverConnection.java:1400) 
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLSer 
verConnection.java:1045) 
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConne 
ction.java:817) 
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerCon 
nection.java:700) 
     at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver. 
java:842) 
     at java.sql.DriverManager.getConnection(Unknown Source) 
     at java.sql.DriverManager.getConnection(Unknown Source) 
     at MysqlConnect.main(MysqlConnect.java:14) 

plz이 문제를 해결할 수 있도록 도와주세요 ..

+1

왜 MySQL을 MS SQL과 혼합하고 있습니까? – Ewald

+0

연결 세부 정보를 포함하여 연결하는 코드를 표시 할 수 있습니까? –

답변

0

jdbc 드라이버 버전을 확인하십시오. "Microsoft JDBC Driver 4.0"은 Microsoft SQL Server 2008에 적합합니다.

+0

이미 내 컴퓨터에 sqljdbc4를 설치했습니다. –

0

SQL Server 2008을 사용하는 경우 드라이버 클래스를 - com.microsoft.jdbc.sqlserver.SQLServerDriver로 변경하십시오. 연결이 작동해야합니다.

+0

또한 올바른 jdbc jar를 사용하십시오. 그렇지 않으면 동일한 연결 오류가 발생합니다 – Aritra

+0

드라이버 클래스 com.microsoft.sqlserver.jdbc.SQLServerDriver가 아닌 com.microsoft.jdbc.sqlserver.SQLServerDriver –

0

점검 경우 "hj_cnb_ci"존재하거나 DBNAME은

+2

Welcome to Stack Overflow! 질문에 대답 할 때 다른 사람이 자신의 지식을 최대한 활용할 수 있도록 최대한 많은 것을 철자하는 것이 가장 좋습니다. 감사! – tmesser

0

데이터베이스 이름을 확인하시기 바랍니다 귀하의 DB 서버에 만들었습니다. 클래스를로드 할 때 newInstance()에 전화 할 필요가 없습니다. 정적 블록을 호출하고 드라이버 관리자 클래스의 registerDriver() 메서드를 호출하고 해당 참조를 매개 변수로 전달합니다.

이 메서드는 Driver 클래스의 개체를 전달합니다. 드라이버 관리자의 getConnection() 메쏘드를 호출하면, 그 객체의 도움을 받아 드라이버 클래스 메쏘드 연결을 호출 할 것입니다.

관련 문제