① package java.sql --- Importez et utilisez. Aucune préparation spéciale requise. ② Pilote JDBC --- java DataBase Connector, bibliothèque. Il est constitué d'un seul fichier jar contenant des interfaces et des classes pour gérer la base de données. Dans ce cas, il sera utilisé dans le projet Web dynamique d'Eclipse, alors placez-le sous WEB-INF / lib (= automatiquement ajouté au chemin de classe).
--Installez le pilote JDBC pour le serveur SQL (choisissez la version japonaise). https://www.microsoft.com/en-us/download/details.aspx?id=55539
-Placé sous / (nom du package) / WebContent / WEB-INF / lib (ajouté cette fois est mssql-jdbc-6.2.2.jre8.jar).
http://www.codejava.net/java-se/jdbc/connect-to-microsoft-sql-server-via-jdbc En se référant à Lorsque j'essaie d'exécuter un programme qui se connecte avec l'authentification Windows `com.microsoft.sqlserver.jdbc.SQLServerException: l'utilisateur '' n'a pas pu se connecter. '' J'ai eu une erreur, donc quand j'ai essayé de me connecter avec l'authentification SQL, la connexion a réussi avec le code suivant.
package (nom du paquet);
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Practicing {
//Vérifiez si le pilote est chargé
// public static void main(String[] args) throws InstantiationException,
// IllegalAccessException {
// String msg = "";
// try {
// Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
// msg = "Le pilote a été chargé avec succès";
// } catch (ClassNotFoundException e){
// msg = "Échec du chargement du pilote";
// }
// System.out.println(msg);
// }
public static void main(String[] args) {
Connection conn = null;
try {
String dbURL = "jdbc:sqlserver://localhost\\sqlexpress";
String user = "sa";
String pass = "*****(Mot de passe défini lors de l'installation du serveur SQL)";
conn = DriverManager.getConnection(dbURL, user, pass);
if (conn != null) {
DatabaseMetaData dm = (DatabaseMetaData) conn.getMetaData();
System.out.println("Driver name: " + dm.getDriverName());
System.out.println("Driver version: " + dm.getDriverVersion());
System.out.println("Product name: " + dm.getDatabaseProductName());
System.out.println("Product version: " + dm.getDatabaseProductVersion());
}
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
try {
if (conn != null && !conn.isClosed()) {
conn.close();
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}
Résultat de l'exécution:
Post-scriptum: Quand j'exécute ce programme un jour, j'obtiens l'erreur suivante.
com.microsoft.sqlserver.jdbc.SQLServerException: The connection to the host localhost, named instance sqlexpress failed. Error: "java.net.SocketTimeoutException: Receive timed out". Verify the server and instance names and check that no firewall is blocking UDP traffic to port 1434. For SQL Server 2005 or later, verify that the SQL Server Browser Service is running on the host. at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:227) at com.microsoft.sqlserver.jdbc.SQLServerConnection.getInstancePort(SQLServerConnection.java:5241) at com.microsoft.sqlserver.jdbc.SQLServerConnection.primaryPermissionCheck(SQLServerConnection.java:1916) at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1669) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1528) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:866) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:569) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:247) at chkJDBC.ListPracticing.main(ListPracticing.java:34)
Si vous utilisez "Pour SQL Server 2005 ou version ultérieure, vérifiez que le service SQL Server Browser s'exécute sur l'hôte" dans ce message, SQL Server 2005 ou version ultérieure, SQL Server Browser est en cours d'exécution. Confirmez s'il-vous-plaît.
Assurez-vous que SQL Server (nom de l'instance, SQL EXPRESS dans ce cas) et SQL Server Browser sont en cours d'exécution dans le service. Le navigateur de serveur ne fonctionnait pas cette fois. Démarrer> Services> Applicable 2 ci-dessous, clic droit si ce n'est pas "En cours d'exécution", "Démarrer"
Quand j'ai exécuté à nouveau le programme, il s'est exécuté avec succès!
Recommended Posts