簡體   English   中英

sql server 2008不支持JDBC驅動程序類

[英]JDBC driver class not supported with sql server 2008

在我的Java代碼中,ms sql server 2008不支持JDBC驅動程序類,盡管它與ms sql server 2005完美兼容

我把jdbc驅動程序類“ com.microsoft.sqlserver.jdbc.SQLServerDriver”

我的代碼是

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();
  }
 }
}    

當我嘗試連接時出現錯誤

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)

請幫助我解決這個問題。

請檢查您的jdbc驅動程序版本。 “ Microsoft JDBC驅動程序4.0”適合您的ms sql server 2008。

如果您使用的是SQL Server 2008,請將驅動程序類更改為-com.microsoft.jdbc.sqlserver.SQLServerDriver。連接應正常工作。

檢查是否存在“ hj_cnb_ci”或DBName在您的數據庫服務器上創建了它

請檢查您的數據庫名稱。 加載類時無需調用newInstance() 它會調用其靜態塊並調用Driver Manager類的registerDriver()方法,並將其引用作為參數傳遞。

此方法帶有Driver類的對象。 調用驅動程序管理器的getConnection()方法時,它將在該對象的幫助下調用驅動程序類方法連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM