Es gibt viele Möglichkeiten, mit Java eine Verbindung zur SQL Server2000-Datenbank herzustellen. Im Folgenden sind die beiden am häufigsten verwendeten Methoden aufgeführt (Verbindung zur Datenbank über den JDBC-Treiber).
1. Stellen Sie eine Verbindung über den JDBC-Treiber von Microsoft her. Dieser JDBC-Treiber verfügt über drei Dateien, nämlich mssqlserver.jar, msutil.jar und msbase.jar, die von der Microsoft-Website heruntergeladen werden können (://www.microsoft.com/downloads/details.aspx?FamilyId=07287B11-0502 -461A). -B138-2AA54BFDC03A&displaylang=en), wenn Sie setup.exe heruntergeladen haben, müssen Sie es auch installieren. Nach der Installation werden die oben genannten drei JAR-Dateien generiert. Dieser JDBC-Treiber implementiert JDBC 2.0.
Treibername: com.microsoft.jdbc.sqlserver.SQLServerDriver (d. h. classforname unten)
Datenbankverbindungs-URL: jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname (d. h. die folgende URL)
2. Stellen Sie über den JTDS-JDBC-Treiber eine Verbindung zur SQL Server-Datenbank her. Der Dateiname dieses Treibers lautet jtds-1.2.jar und der Downloadpfad lautet ( http://sourceforge.net/project/showfiles.php?group_id=33291 ). Dieser Treiber unterstützt Microsoft SQL Server (6.5, 7.0, 2000 und 2005) und Sybase sowie die Implementierung von JDBC3.0 und ist kostenlos.
Treibername: net.sourceforge.jtds.jdbc.Driver (d. h. classforname unten)
Datenbankverbindungs-URL: jdbc:jtds:sqlserver://localhost:1433/dbname (d. h. die folgende URL)
Es gibt viele Bean-Codes für JDBC, um eine Verbindung zu SQL Server-Datenbanken im Internet herzustellen. Hier ist ein Auszug aus einem Teil davon: (Bitte ändern Sie „localhost“ und „1433“ in die SQL Server-Serveradresse und die Portnummer in Ihrer tatsächlichen Anwendung dbname zu Ihrem tatsächlichen Datenbanknamen)
java.sql.* importieren;
öffentliche Klasse DatabaseConn {
private Verbindung conn;
private Aussage stmt;
private String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname";
private String classforname = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private String uid = "sa";
privater String pwd = "password";
öffentliche DatabaseConn(){}
/**
* <p>Stellen Sie eine Datenbankverbindung über den Microsoft JDBC-Treiber her</p>
* @return-Verbindung
* @Exception ClassNotFoundException, SQLException
*/
öffentliche Verbindung getConnection()
{
versuchen
{
Class.forName(classforname);
if (conn == null || conn.isClosed())
conn = DriverManager.getConnection(url, uid, pwd);
}
Catch (ClassNotFoundException ex)
Catch (SQLException ex)
Rücklaufverbindung;
}
}
Bevor Sie die oben genannten Arbeiten ausführen, müssen Sie natürlich zunächst prüfen, ob ein Problem mit Ihren SQL Server-Einstellungen vorliegt. Die Schritte sind wie folgt:
Öffnen Sie zunächst das „Befehlszeilenfenster“, das MS-Dos-Fenster, und geben Sie ein
telnet localhost 1433 (Ersetzen Sie localhost natürlich durch die Serveradresse, auf der sich SQL Server befindet, und ändern Sie den Port in den tatsächlichen Port von SQL Server. Der Standardwert ist 1433.)
Wenn dies erfolgreich ist, bedeutet dies, dass die Verbindung zu Ihrem SQL Server fehlschlägt (normalerweise für Win2003 oder WinXP SP2), rufen Sie bitte die Systemsteuerung auf, öffnen Sie „Dienste“ in „Verwaltung“ und starten Sie den Dienst „SQLSERVERAGENT“. Natürlich können Sie auch das SP3-Patchpaket von SQL Server anwenden und den oben genannten Vorgang fortsetzen, was erfolgreich sein sollte.
Überprüfen Sie zweitens, ob Sie sich mit Ihrem Benutzernamen und Passwort beim SQL Server-Server anmelden können. Der direkteste Weg besteht natürlich darin, den „Query Analyzer“ von SQL Server zu öffnen, den Benutzernamen und das Passwort einzugeben und auf OK zu klicken
Wenn dies erfolgreich ist, bedeutet dies, dass Ihre SQL Server-Anmeldeeinstellungen in Ordnung sind. Wenn dies fehlschlägt, öffnen Sie bitte den „Enterprise Manager“ von SQL Server und gehen Sie zu dem SQL Server-Server, den Sie registriert haben (d. h. den unter „SQL Server-Gruppe“). links Dongdong) Das heißt, klicken Sie mit der rechten Maustaste, wählen Sie „Eigenschaften“, wählen Sie „Sicherheit“ im Dialogfeld „SQL Server (Eigenschaften)-Konfiguration“ aus, stellen Sie die Authentifizierung auf „SQL Server und Windows(S)“ ein und dann Verwenden Sie die Abfrageanalyse. Testen Sie den Server einmal. Wenn Sie immer noch keine Verbindung herstellen können, überprüfen Sie, ob Ihr Benutzername und Ihr Passwort korrekt sind. Wiederholen Sie den Test bis zum Erfolg.
Wenn Sie Verbindungen in JSP verwenden, ist natürlich neben der direkten Verwendung von JDBC auch der Verbindungspool (Pool) am interessantesten. Hier konzentrieren wir uns auf verschiedene Verwendungszwecke des Verbindungspools.
Der Einfachheit halber stellen Sie den JSP-Container zunächst auf Tomcat ein, da ihn jeder häufiger verwendet
1. Globale Konfiguration (jede Webanwendung in Tomcat kann den konfigurierten Verbindungspool verwenden): Konfigurieren Sie den Verbindungspool in server.xml. Die Datei server.xml befindet sich im Verzeichnis $TOMCAT_HOME$/conf/. GlobalNamingResources> und fügen Sie vor dieser Zeile den folgenden Code ein:
<Ressource
name="jdbc/poolName"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
Benutzername="sa"
Passwort="Passwort"
DriverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=dbname"/>
Hinweis: Name ist der vollständige globale JNDI-Name des Verbindungspools, Benutzername ist der Benutzername und das Kennwort für die Datenbankverbindung, DriverClassName ist der Name des Datenbanktreibers und URL ist die Datenbankverbindungszeichenfolge. Bitte ändern Sie es entsprechend Ihrer tatsächlichen Konfiguration.
Die Konfiguration ist noch nicht abgeschlossen. Als nächstes müssen wir den Namen des globalen Zugriffs in context.xml festlegen.
Suchen Sie </Context> und fügen Sie den folgenden Code vor dieser Zeile ein:
<ResourceLink global="jdbc/poolName" name="jdbc/poolName" type="javax.sql.DataSource"/>
2. Teilkonfiguration: Erstellen Sie eine neue XML-Datei im Verzeichnis $TOMCAT_HOME$/conf/Catalina/localhost/. Die XML-Datei muss denselben Namen haben wie das Webanwendungsverzeichnis, das Sie veröffentlichen. Wenn es webappname.xml ist, fügen Sie Folgendes hinzu Inhalt (Konfiguration von Tomcat Das externe virtuelle Verzeichnis wird hier auch behandelt, ha!
<Context path="/webappname" docBase="d:/webappname" debug="0" reloadable="true" crossContext="true">
<Ressource
name="jdbc/poolName"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
Benutzername="sa"
Passwort="Passwort"
DriverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=dbname"/>
<ResourceLink global="jdbc/poolName" name="jdbc/poolName" type="javax.sql.DataSource"/>
</Kontext>
Für die ersten beiden Methoden lautet der Code zum Aufrufen des Verbindungspools wie folgt: (Die Debug.log()-Methode von com.yeno.util.Debug wird hauptsächlich zum Drucken von Debugging-Informationen verwendet und kann durch System.out.println ersetzt werden ())
java.sql.* importieren;
import javax.sql.DataSource;
import javax.naming.*;
import com.yeno.util.Debug;
/**
* <p>Datenbankbetriebsverwaltungsklasse implementiert nur Datenbankverbindung, Herunterfahren und Transaktionsverarbeitung</p>
* @Aurhor Yeno.hhr
* Erstellungsdatum 2005-12-9
*/
öffentliche Klasse DataPool {
öffentlicher DataPool(){}
/**
* <p>Stellen Sie eine Datenbankverbindung über den Tomcat-Verbindungspool her</p>
* @param Nr
* @return Connection-Datenbankverbindung
* @Exception NamingException,SQLException,Exception
*/
öffentliche Verbindung getConnect()
{
Verbindungsverbindung = null;
versuchen
{
Kontext intitCtx = new InitialContext();
Kontext envCtx = (Context)intitCtx.lookup("java:comp/env");
DataSource ds = (DataSource)envCtx.lookup("jdbc/poolName");
conn = ds.getConnection();
}
Catch(NamingException nex)
{
Debug.log(this,"getConnect()","Keine korrekte Umgebung!");
}
Catch(SQLException sqlex)
{
Debug.log(this,"getConnect()","Kann keine Verbindung herstellen!");
}
Rücklaufverbindung;
}
}
Bevor Sie den obigen Code verwenden, müssen Sie sicherstellen, dass die relevanten JAR-Dateien des JDBC-Treibers (mssqlserver.jar, msutil.jar und msbase.jar für Microsoft, jtds-1.2.jar für JTDS) korrekt konfiguriert wurden relevante JAR-Dateien in das Verzeichnis $TOMCAT_HOME $/common/lib/ kopieren oder in das Verzeichnis $WEB_ROOT$/WEB-INF/lib/ kopieren
Sie können den Verbindungspool auch mithilfe der Injektion aufrufen, d Code Es folgt ein Auszug:
<session-factory>
<!--
<property name="jndi.class"></property>
<property name="jndi.url"></property>
->
<property name="connection.datasource">java:comp/env/jdbc/poolName</property>
<property name="show_sql">false</property>
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
</session-factory>
Informationen zur spezifischen Nutzung von Hibernate finden Sie in den entsprechenden Details.