Se connecter à une base de données SQL Server
bonjour,:D
J'ai un code qui ouvre la connexion à la base de donnée; Ce code est issue du code c++ qui marchait. Je vous donne le code et le message d'erreur.Le problème semble venir de la connectionString, je l'ai allégé pour garder les éléments obligatoire. Que faut il mettre pour se connecter?
Code:
1 2 3 4 5 6 7 8 9
|
try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver" ).newInstance();
String connectionString ="Timeout=15;Type System Version=SQL Server 2014;database=COHERENCE;server=Xantia\\SQLEXPRESS";
connection = DriverManager.getConnection( connectionString);
stmt = connection.createStatement();
Data.m_bServerConnected = true;
} |
ce code provoque une exception qui est documenté à suivre:
Code:
1 2 3 4 5 6 7 8 9 10
|
java.sql.SQLException: No suitable driver found for Timeout=15;Type System Version=SQL Server 2014;database=COHERENCE;server=Xantia\SQLEXPRESS
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.all4tec.matelo.linguistique.wizards.InterbaseManager.ConnectServer(InterbaseManager.java:29)
at com.all4tec.matelo.linguistique.wizards.InterbaseManager.ExecuteSelectRequest(InterbaseManager.java:56)
at com.all4tec.matelo.linguistique.wizards.MissionDatabaseManager.ReadWork(MissionDatabaseManager.java:74)
at com.all4tec.matelo.linguistique.wizards.LinguistiqueImportWizard.RecupereNomDesFichier(LinguistiqueImportWizard.java:60)
at com.all4tec.matelo.linguistique.wizards.LinguistiqueImportWizard$1.run(LinguistiqueImportWizard.java:86)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121) |
Celui qui m'amènera vers la solution sera :ccool:
le class.forName se passe bien
et donc les liens que vous m'avez indiqués ne sont pas applicables
ca semble moin mal marcher
bonjour:D
J'ai suivi vos conseils; Le résultat est que je sort toujours en erreur, mais à l'issue du time-out.
Je vous met le code en question:
Code:
1 2 3 4 5 6
|
//Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver" ).newInstance();
String url = "jdbc:sqlserver://host:1433;";
String connectionString ="database = COHERENCE;server = xantia\\SQLEXPRESS";
connection = DriverManager.getConnection( url + connectionString);
stmt = connection.createStatement(); |
d'ailleurs le message d'erreur a changé:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
com.microsoft.sqlserver.jdbc.SQLServerException: Échec de la connexion TCP/IP à l'hôte xantia, port 1433. Erreur*: «*Connection refused: connect. Vérifiez les propriétés de connexion, assurez-vous qu'une instance de SQL Server est en cours d'exécution sur l'hôte et accepte les connexions TCP/IP au port, et vérifiez qu'aucun pare-feu ne bloque les connexions TCP au port.*».
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:171)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1033)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:817)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:700)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:842)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.all4tec.matelo.linguistique.wizards.InterbaseManager.ConnectServer(InterbaseManager.java:31)
at com.all4tec.matelo.linguistique.wizards.InterbaseManager.ExecuteSelectRequest(InterbaseManager.java:58)
at com.all4tec.matelo.linguistique.wizards.MissionDatabaseManager.ReadWork(MissionDatabaseManager.java:74)
at com.all4tec.matelo.linguistique.wizards.LinguistiqueImportWizard.RecupereNomDesFichier(LinguistiqueImportWizard.java:60)
at com.all4tec.matelo.linguistique.wizards.LinguistiqueImportWizard$1.run(LinguistiqueImportWizard.java:86)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121) |
J'ai vérifié que le serveur était en cours d'exécution par deux processus d'abord il figure dans la liste des processus en cours, de plus il accepte la connexion de SSMS
Comment vérifier le port 1433
Je ne sait pas comment vérifier?