Il existe de nombreuses façons de se connecter à la base de données SQL Server2000 à l'aide de Java. Voici les deux méthodes les plus couramment utilisées (connexion à la base de données via le pilote JDBC).
1. Connectez-vous via le pilote JDBC de Microsoft. Ce pilote JDBC comporte trois fichiers, à savoir mssqlserver.jar, msutil.jar et msbase.jar, téléchargeables depuis le site Web de Microsoft (://www.microsoft.com/downloads/details.aspx?FamilyId=07287B11-0502 -461A -B138-2AA54BFDC03A&displaylang=en), si vous avez téléchargé setup.exe, vous devez également l'installer. Après l'installation, les trois fichiers jar ci-dessus seront générés. Ce pilote JDBC implémente JDBC 2.0.
Nom du pilote : com.microsoft.jdbc.sqlserver.SQLServerDriver (c'est-à-dire classforname ci-dessous)
URL de connexion à la base de données : jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname (c'est-à-dire l'URL suivante)
2. Connectez-vous à la base de données SQL Server via le pilote JTDS JDBC. Le nom de fichier de ce pilote est jtds-1.2.jar et le chemin de téléchargement est ( http://sourceforge.net/project/showfiles.php?group_id=33291. ). Ce pilote prend en charge Microsoft SQL Server (6.5, 7.0, 2000 et 2005) et Sybase, et la mise en œuvre de JDBC3.0 est gratuite.
Nom du pilote : net.sourceforge.jtds.jdbc.Driver (c'est-à-dire classforname ci-dessous)
URL de connexion à la base de données : jdbc:jtds:sqlserver://localhost:1433/dbname (c'est-à-dire l'url suivante)
Il existe de nombreux codes Bean permettant à JDBC de se connecter aux bases de données SQL Server sur Internet. Voici un extrait d'une partie d'entre eux : (Veuillez remplacer localhost et 1433 par l'adresse et le numéro de port du serveur SQL Server dans votre application actuelle, puis modifiez-les. dbname au nom réel de votre base de données)
importer java.sql.* ;
classe publique DatabaseConn {
connexion de connexion privée ;
Déclaration privée stmt ;
private String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname";
private String classforname = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
chaîne privée uid = "sa" ;
private String pwd = "mot de passe" ;
base de données publiqueConn(){}
/**
* <p>Obtenir une connexion à la base de données via le pilote Microsoft JDBC</p>
* @return Connexion
* @exception ClassNotFoundException, SQLException
*/
Connexion publique getConnection()
{
essayer
{
Class.forName(classforname);
si (conn == null || conn.isClosed())
conn = DriverManager.getConnection(url, uid, mot de passe);
}
attraper (ClassNotFoundException ex)
attraper (SQLException ex)
connexion de retour ;
}
}
Bien entendu, avant d'effectuer le travail ci-dessus, vous devez d'abord vérifier s'il y a un problème avec vos paramètres SQL Server. Les étapes sont les suivantes :
Ouvrez d'abord la "fenêtre de ligne de commande", qui est la fenêtre MS-Dos, et entrez
telnet localhost 1433 (Bien sûr, remplacez localhost par l'adresse du serveur où se trouve SQL Server et remplacez le port par le port réel de SQL Server. La valeur par défaut est 1433)
Si cela réussit, cela signifie que votre serveur SQL peut être connecté. En cas d'échec (généralement pour Win2003 ou WinXP SP2), veuillez entrer dans le panneau de configuration, ouvrez "Services" dans "Outils d'administration" et démarrez le service "SQLSERVERAGENT" ( Bien entendu, vous pouvez également appliquer le package de correctifs SP3 de SQL Server) et poursuivre l'opération ci-dessus, qui devrait réussir.
Deuxièmement, vérifiez si votre nom d'utilisateur et votre mot de passe peuvent vous connecter au serveur SQL Server. Bien entendu, le moyen le plus direct est d'ouvrir l'« Analyseur de requêtes » de SQL Server, de saisir le nom d'utilisateur et le mot de passe, puis de cliquer sur OK.
Si cela réussit, cela signifie que vos paramètres de connexion à SQL Server sont corrects. En cas d'échec, veuillez ouvrir le "Gestionnaire d'entreprise" de SQL Server et accédez au serveur SQL Server que vous avez enregistré (c'est-à-dire celui sous "Groupe SQL Server"). sur la gauche Dongdong) Autrement dit, faites un clic droit, sélectionnez "Propriétés", sélectionnez "Sécurité" dans la boîte de dialogue "Configuration SQL Server (Propriétés)", définissez l'authentification sur "SQL Server et Windows(S)", puis utiliser l'analyse des requêtes Testez le serveur une fois. Si vous ne parvenez toujours pas à vous connecter, vérifiez si votre nom d'utilisateur et votre mot de passe sont corrects. Répétez le test jusqu'à ce qu'il réussisse.
Si vous utilisez des connexions en JSP, bien sûr, en plus d'utiliser directement JDBC, tout le monde est plus intéressé par le pool de connexions (Pool). Ici, nous allons nous concentrer sur plusieurs utilisations du pool de connexions.
Pour plus de commodité, définissez d'abord le conteneur JSP sur Tomcat, car tout le monde l'utilise davantage
1. Configuration globale (n'importe quelle application Web dans Tomcat peut utiliser le pool de connexions configuré) : Configurez le pool de connexions dans server.xml. Le fichier server.xml se trouve dans le répertoire $TOMCAT_HOME$/conf/. Ouvrez-le et recherchez </. GlobalNamingResources> et insérez le code suivant avant cette ligne :
<Ressource
nom="jdbc/poolName"
auth="Conteneur"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
nom d'utilisateur = "sa"
mot de passe = "mot de passe"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=dbname"/>
Remarque : name est le nom JNDI global complet du pool de connexions, username est le nom d'utilisateur et le mot de passe de la connexion à la base de données, driverClassName est le nom du pilote de base de données et url est la chaîne de connexion à la base de données. Veuillez le modifier en fonction de votre configuration réelle.
La configuration n'est pas encore terminée. Ensuite, nous devons définir le nom de l'accès global dans context.xml. Les paramètres sont les suivants :
Recherchez </Context> et insérez le code suivant avant cette ligne :
<ResourceLink global="jdbc/poolName" name="jdbc/poolName" type="javax.sql.DataSource"/>
2. Configuration partielle : créez un nouveau fichier XML dans le répertoire $TOMCAT_HOME$/conf/Catalina/localhost/. Le fichier XML doit avoir le même nom que le répertoire de l'application Web que vous publiez. S'il s'agit de webappname.xml, ajoutez ce qui suit. contenu (configuration de Tomcat Le répertoire virtuel externe est également géré ici, ha !
<Context path="/webappname" docBase="d:/webappname" debug="0" reloadable="true" crossContext="true">
<Ressource
nom="jdbc/poolName"
auth="Conteneur"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
nom d'utilisateur = "sa"
mot de passe = "mot de passe"
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"/>
</Contexte>
Pour les deux premières méthodes, le code d'appel du pool de connexions est le suivant : (La méthode Debug.log() de com.yeno.util.Debug est principalement utilisée pour imprimer les informations de débogage et peut être remplacée par System.out.println ())
importer java.sql.* ;
importer javax.sql.DataSource ;
importer javax.naming.*;
importer com.yeno.util.Debug ;
/**
* <p>La classe de gestion des opérations de base de données implémente uniquement la connexion, l'arrêt et le traitement des transactions de base de données</p>
* @Aurhor Yeno.hhr
* Date de création 2005-12-9
*/
classe publique DataPool {
Pool de données public(){}
/**
* <p>Obtenir une connexion à la base de données via le pool de connexions Tomcat</p>
* @param non
* Connexion à la base de données @return Connection
* @exception NamingException,SQLException,Exception
*/
Connexion publique getConnect()
{
Connexion de connexion = null ;
essayer
{
Contexte intitCtx = new InitialContext();
Contexte envCtx = (Context)intitCtx.lookup("java:comp/env");
DataSource ds = (DataSource)envCtx.lookup("jdbc/poolName");
conn = ds.getConnection();
}
catch (NamingException suivant)
{
Debug.log(this,"getConnect()","Aucun environnement correct !");
}
capture (SQLException sqlex)
{
Debug.log(this,"getConnect()","Impossible d'obtenir la connexion !");
}
connexion de retour ;
}
}
Avant d'utiliser le code ci-dessus, vous devez vous assurer que les fichiers JAR pertinents du pilote JDBC (mssqlserver.jar, msutil.jar et msbase.jar pour Microsoft, jtds-1.2.jar pour JTDS) ont été correctement configurés. Vous pouvez copier le. fichiers JAR pertinents dans le répertoire $TOMCAT_HOME $/common/lib/, ou vous pouvez le copier dans le répertoire $WEB_ROOT$/WEB-INF/lib/
Vous pouvez également utiliser l'injection pour appeler le pool de connexions, c'est-à-dire l'appeler dans le fichier de configuration Hibernate hibernate.cfg.xml. Après avoir configuré le pool de connexions dans le conteneur JSP, appelez les paramètres du pool de connexions système dans le fichier de configuration Hibernate. code Un extrait suit :
<usine-de-session>
<!--
<property name="jndi.class"></property>
<nom de la propriété="jndi.url"></property>
-->
<property name="connection.datasource">java:comp/env/jdbc/poolName</property>
<property name="show_sql">faux</property>
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
</usine-de-session>
Pour une utilisation spécifique d’Hibernate, veuillez vérifier les détails pertinents.