Utilisation de la base de données (SQL Server 2014) à partir d'un programme Java 04/01/2018

Connectez le programme Java et la base de données (SQL Server 2014)

environnement

Ce dont vous avez besoin pour utiliser DB à partir du programme Java

① 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

--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).

JDBCドライバ配置場所.png

Ecrire un programme pour la connexion SQL

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: 実行結果.png

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" SQLwhenError.png

Quand j'ai exécuté à nouveau le programme, il s'est exécuté avec succès!

Recommended Posts

Utilisation de la base de données (SQL Server 2014) à partir d'un programme Java 04/01/2018
[Java] Générez une liste restreinte à partir de plusieurs listes à l'aide de l'API Stream
Essayez d'accéder à l'ensemble de données depuis Java en utilisant JZOS
Connexion SSH à l'aide de SSHJ à partir de l'application Java 6
Création d'un exemple de programme en utilisant le problème d'un spécialiste des bases de données dans DDD Improvement 2
Placez le projet Java à l'aide de la base de données sur le serveur créé dans VPS jusqu'à présent
Création d'un exemple de programme en utilisant le problème d'un spécialiste des bases de données avec DDD Improvement 1
[Java] [SQL Server] Se connecter à SQL Server 2017 local à l'aide de JDBC pour SQL Server
3. Créez une base de données à laquelle accéder à partir du module Web
Comment passer d'Eclipse Java à un fichier SQL
J'ai essayé d'utiliser Log4j2 sur un serveur Java EE
Appeler un programme écrit en Swift depuis Processing (Java)
Utilisation de Docker depuis Java Gradle
Faire un diamant en utilisant Java
J'ai essayé d'utiliser le référentiel GitHub comme serveur de bibliothèque
JSON en Java et Jackson Partie 1 Renvoyer JSON à partir du serveur
[JDBC] J'ai essayé d'accéder à la base de données SQLite3 depuis Java.
Essayez de lancer un serveur WebAP sur le micro à l'aide d'Helidon
Création d'un MOB à l'aide du plug-in Minecraft Java Mythicmobs | Préparation 1
Créez un serveur Web simple avec la bibliothèque standard Java com.sun.net.httpserver
Télécharger des fichiers à l'aide de Java HttpURLConnection
Exécuter le fichier de commandes à partir de Java
Connexion à une base de données avec Java (partie 1) Peut-être la méthode de base
Accéder à Teradata depuis une application Java
Accédez à la grille de données en mémoire Apache Ignite à partir d'un client Java
AWS Elastic Beanstalk # 1 avec Java à partir de zéro - Création d'un environnement d'application Web Java à l'aide de l'interface de ligne de commande EB-
La route de JavaScript à Java
Exemple de code utilisant Minio de Java
[Gradle] Construisez un projet Java avec une configuration différente de la convention
[JDBC] J'ai essayé de faire de l'accès à la base de données SQLite3 depuis Java une méthode pour chaque instruction SQL.
J'ai essayé de créer un exemple de programme en utilisant le problème du spécialiste des bases de données dans la conception pilotée par domaine
Comment renvoyer une valeur du modèle au contrôleur en utilisant le protocole [Swift5]
[Java] Comment récupérer les paramètres passés du html côté serveur
Vérifiez le jeton d'ID obtenu de Firebase côté serveur (Java + SpringBoot)
[Java] Comment accéder au début d'une chaîne spécifique à l'aide de la classe String
Exemple de programme qui renvoie la valeur de hachage d'un fichier en Java
Traitement des données à l'aide de l'API de flux de Java 8
Formation des nouveaux arrivants à l'aide de la programmation Web-Basic à l'aide de Java-
Essayez d'utiliser l'API Stream en Java
[Introduction à Java] Comment écrire un programme Java
Accédez à l'API REST Salesforce depuis Java
Un programme qui calcule la puissance de 2 à 100
Connectez-vous de Java à MySQL à l'aide d'Eclipse
Essayez d'exécuter Kubernetes Job à partir de Java
Obtenir l'historique du serveur Zabbix en Java
Essayez d'utiliser l'API Emotion d'Android
Trouvez la différence à partir d'un multiple de 10
Essayez d'utiliser la télécommande Wii en Java
Si une personne de Java apprend PHP
J'ai créé un programme qui recherche la classe cible à partir du processus surchargé avec Java
[Note] Exécutez le programme java dans l'environnement de développement intégré Eclipse-J'ai essayé d'utiliser git
[Java] Obtenez et affichez la date 10 jours plus tard à l'aide de l'API Time ajoutée à partir de Java 8.
[Java] Exemple de programme qui acquiert les valeurs maximum et minimum d'un tableau
Jusqu'à ce que vous exécutiez un programme Java avec le SDK AWS local sur Windows
Apprenez à créer un serveur WEB Introduction au développement d'applications WEB à partir des bases
Accédez à Forec.com depuis Java en utilisant Axis2 Enterprise WSDL
GetInstance () à partir d'une classe @Singleton dans Groovy à partir de Java