Postup: Začínáme s Microsoft JDBC

Souhrn

Tento článek popisuje, jak se připojit k serveru SQL Server 2000 pomocí ovladače Microsoft SQL Server 2000 pro JDBC.


Poznámka: pokyny k instalaci Microsoft SQL Server 2000 ovladač pro JDBC, naleznete v tématu Microsoft SQL Server 2000 ovladač pro JDBC Installation Guide.

Po instalaci ovladače Microsoft SQL Server 2000 pro JDBC, můžete z aplikace připojit k databázi dvěma způsoby: pomocí adresy URL připojení nebo se zdrojem dat JNDI. Tento článek popisuje postup při konfiguraci a testování připojení k databázi pomocí adresy URL připojení.

Jedním ze způsobů připojení k databázi je prostřednictvím Správce ovladačů JDBC pomocí metody getConnection třídy DriverManager . Nejjednodušší způsob použití této metody přebírá parametr řetězec, který obsahuje adresu URL, uživatelské jméno a heslo. V následujících částech tohoto článku popisují, jak načíst ovladač Microsoft SQL Server 2000 pro JDBC z programu JDBC.

Nastavení proměnné CLASSPATH

Ovladač Microsoft SQL Server 2000 pro JDBC .jar soubory musí být uvedena do vaší proměnné CLASSPATH. Proměnné CLASSPATH je vyhledávací řetězec, který používá Java Virtual Machine (JVM) k vyhledání JDBC ovladače v počítači. Pokud ovladače nejsou uvedeny do vaší proměnné CLASSPATH, zobrazí se následující chybová zpráva při pokusu o načtení ovladače:

java.lang.ClassNotFoundException: com/microsoft/jdbc/sqlserver/SQLServerDriver
Nastavení proměnné CLASSPATH váš systém obsahoval následující položky:

  • \ \Lib\Msbase.jarInstalační cesta
  • \ \Lib\Msutil.jarInstalační cesta
  • \ \Lib\Mssqlserver.jarInstalační cesta
Toto je příklad nakonfigurované proměnné CLASSPATH:

CESTY PRO TŘÍDY =.; c:\Program files\Microsoft SQL Server 2000 ovladač pro JDBC\lib\msbase.jar;c:\program files\Microsoft SQL Server 2000 ovladač pro JDBC\lib\msutil.jar;c:\program files\Microsoft SQL Server 2000 ovladač pro JDBC\lib\mssqlserver.jar

Registrovat ovladač

Registrace ovladače pokyn správce ovladačů JDBC ovladač, který chcete načíst. Při načítání ovladače pomocí funkce class.forName , je nutné zadat název ovladače. Toto je název ovladače pro Microsoft SQL Server 2000 ovladač pro JDBC:

com.microsoft.jdbc.sqlserver.SQLServerDriver
Následující ukázkový kód ukazuje, jak registrovat ovladač:

Driver d = (Driver)Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

K předání adresy URL připojení

Musí předat informace o připojení databáze ve formě URL připojení. Toto je adresa URL šablony pro Microsoft SQL Server 2000 ovladač pro JDBC. Nahraďte hodnoty pro databázi:

jdbc:microsoft:sqlserver://servername:1433
Následující ukázkový kód ukazuje, jak zadat adresu URL připojení:

con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433", "userName", "password");


Hodnoty název serveru může být adresa IP nebo název hostitele (za předpokladu, že síť překládá názvy hostitelů na adresy IP). Toto můžete otestovat pomocí příkazu ping název hostitele a ověření, že obdržíte odpověď s správnou adresu IP.

Číselná hodnota za názvem serveru je číslo portu, na kterém je databáze přijímá. Hodnoty, které jsou uvedeny výše v tomto článku jsou vzorové výchozí hodnoty. Přesvědčte se, zda nahradit číslo portu, který používá databázi.

Úplný seznam parametrů adresy URL připojení viz Microsoft SQL Server 2000 ovladač pro JDBC nápovědy HTML nebo v příručce Příručka Online. Naleznete v části "Vlastnosti řetězce připojení".


Ukázkový kód otestujte připojení

Následující ukázkový kód pokusí připojit k databázi a zobrazí název databáze, verze a katalogy k dispozici. Vlastnosti serveru nahraďte hodnoty pro server:

import java.*;public class Connect{
private java.sql.Connection con = null;
private final String url = "jdbc:microsoft:sqlserver://";
private final String serverName= "localhost";
private final String portNumber = "1433";
private final String databaseName= "pubs";
private final String userName = "user";
private final String password = "password";
// Informs the driver to use server a side-cursor,
// which permits more than one active statement
// on a connection.
private final String selectMethod = "cursor";

// Constructor
public Connect(){}

private String getConnectionUrl(){
return url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";
}

private java.sql.Connection getConnection(){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);
if(con!=null) System.out.println("Connection Successful!");
}catch(Exception e){
e.printStackTrace();
System.out.println("Error Trace in getConnection() : " + e.getMessage());
}
return con;
}

/*
Display the driver properties, database details
*/

public void displayDbProperties(){
java.sql.DatabaseMetaData dm = null;
java.sql.ResultSet rs = null;
try{
con= this.getConnection();
if(con!=null){
dm = con.getMetaData();
System.out.println("Driver Information");
System.out.println("\tDriver Name: "+ dm.getDriverName());
System.out.println("\tDriver Version: "+ dm.getDriverVersion ());
System.out.println("\nDatabase Information ");
System.out.println("\tDatabase Name: "+ dm.getDatabaseProductName());
System.out.println("\tDatabase Version: "+ dm.getDatabaseProductVersion());
System.out.println("Avalilable Catalogs ");
rs = dm.getCatalogs();
while(rs.next()){
System.out.println("\tcatalog: "+ rs.getString(1));
}
rs.close();
rs = null;
closeConnection();
}else System.out.println("Error: No active Connection");
}catch(Exception e){
e.printStackTrace();
}
dm=null;
}

private void closeConnection(){
try{
if(con!=null)
con.close();
con=null;
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception
{
Connect myDbTest = new Connect();
myDbTest.displayDbProperties();
}
}


Pokud tento kód je úspěšný, výstup je podobná následující:

Connection Successful!
Driver Information
Driver Name: SQLServer
Driver Version: 2.2.0022

Database Information
Database Name: Microsoft SQL Server
Database Version: Microsoft SQL Server 2000 - 8.00.384 (Intel X86)
May 23 2001 00:02:52
Copyright (c) 1988-2000 Microsoft Corporation
Desktop Engine on Windows NT 5.1 (Build 2600: )

Avalilable Catalogs
catalog: master
catalog: msdb
catalog: pubs
catalog: tempdb

Poradce při potížích s připojením k základní

Jedná se o běžné chybové zprávy, které mohou nastat při pokusu o připojení k serveru SQL server:

java.sql.SQLException: [Microsoft] [SQLServer 2000 ovladač pro JDBC] [SQLServer] přihlášení se nezdařilo pro uživatele 'uživatel'. Důvod: Chybí přidružení s důvěryhodným připojením SQL Server.
Tato chybová zpráva se zobrazí, pokud je režim ověřování serveru SQL Server 2000 je nastavena na režim ověřování systému Windows. Ovladač Microsoft SQL Server 2000 pro JDBC nepodporuje připojení pomocí ověřování systému Windows NT. Režim ověřování serveru SQL Server musí nastavena na kombinovaný režim, který umožňuje ověřování systému Windows a ověřování serveru SQL Server.
java.sql.SQLException: [Microsoft] [SQLServer 2000 ovladač pro JDBC] tuto verzi JDBC ovladač podporuje pouze Microsoft SQL Server 2000. Můžete upgradovat na SQL Server 2000 nebo případně vyhledejte jinou verzi ovladače.
Tato chybová zpráva se zobrazí, že pokusíte připojit k serveru SQL Server verze starší než SQL Server 2000. Ovladač Microsoft SQL Server 2000 pro JDBC podporuje připojení pouze k serveru SQL Server 2000.
Vlastnosti

ID článku: 313100 - Poslední kontrola: 20. 1. 2017 - Revize: 1

Váš názor