Équivalent chaîne de connexion jdbc pour sql server
Je suis en train d'utiliser la chaîne de connexion suivante pour vous connecter à une base de données (la base de données sur le même serveur que le ServerIP):
String constr = "Data Source=ServerIP,1433;Network Library=DBMSSOCN;Initial
Catalog=dbName;User ID=dbUserID;Password=dbUserPassword";
Ce connecte normalement dans asp.net. (J'ai créé manuellement dbUserId et lui a attribué dbUserPassword à partir de sql server management studio. dbUserId est le propriétaire de la base de données "dbName")
J'ai une application java swing sur un autre pc, où j'ai besoin de vous connecter à la même base de données. Je suis à l'aide d'sqljdbc4.jar qui se trouve dans C:. Mon chemin de classe a, à l'entrée ".;C:\sqljdbc4.jar". Pour réaliser la connexion, je suis en utilisant les lignes de code suivantes:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://ServerIP:1433;databaseName=dbName";
String user = "dbUserID";
String pass = "dbUserPassword";
Connection connection = DriverManager.getConnection(url, user, pass);
Cependant, j'obtiens une exception sur la ligne "Connexion connexion =DriverManager.getConnection(url, user, pass);" : "La connexion TCP/IP à l'hôte "ServerIP", le port 1433 a échoué. Erreur: "connexion timed out. Vérifiez les propriétés de la connexion. Assurez-vous qu'une instance de SQL Server est en cours d'exécution sur l'hôte et d'accepter les connexions TCP/IP sur le port. Assurez-vous que les connexions TCP vers le port n'est pas bloqué par un pare-feu."
J'ai vérifié que le pare-feu windows est désactivé (Et il a aussi l'exception ajouté pour MSSQLSERVER port tcp 1433 sur les deux à la maison et les réseaux publics). À partir de sql server management studio, j'ai activé le protocole TCP/IP pour sql server et sql server express.
Quelqu'un peut-il m'indiquer ce qui ne va pas avec la chaîne de connexion ou sql server paramètres de connexion?
Ping l'IP et également de vérifier si le POrt est ouvert , peut-être à l'aide de certains des renifleurs de réseau
Je suis capable de ping de l'IP. Enfaite je suis en utilisant le serveur à distance à partir de mon ordinateur qui exécute l'application java. Aussi, netstat -aon donne la ligne suivante: TCP 0.0.0.0:1433 0.0.0.0:0 LISTENING 5584
Confus... Est
ServerIP
le nom de la zone ou est-ce juste quelque chose que vous avez écrit au lieu de x.x.x.x
dans la question?C'est quelque chose que j'ai écrit à la place de x.x.x.x
OriginalL'auteur user720694 | 2013-05-31
Vous devez vous connecter pour publier un commentaire.
Enfin trouvé la cause. Le problème n'était pas avec java chaîne de connexion, adresse IP ou le port. Il a été avec le réseau. Le serverIP et l'IP de la machine qui exécute l'application java ont été sur des sous-réseaux différents. Par conséquent, le mécanisme de commutation entre ces deux sous-réseaux a été le blocage de la circulation sur le port 1433. Donc je recevais des délais d'attente sur le pc exécutant l'application java, tandis que le asp.net l'application web a très bien fonctionné (que le trafic n'a pas dépassé le commutateur interconneting la sous-réseaux)
J'espère que cela s'avère utile pour quelqu'un qui cherche à atteindre quelque chose de semblable dans l'avenir.
J'ai juste veillé à ce que l'application java et la base de données sql server résidé sur des machines qui ont été dans le même sous-réseau que mentionné ci-dessus. Je sais que d'autres informations avez-vous besoin?
Je pense que je suis également confronté à la même question. Mon serveur sql est d'avoir le nom d'hôte *.uss.net et serveur linux est d'avoir *.privatecloud.locaux. Sont-ils dans les différents sous-réseaux? Pouvez-vous m'aider?
OriginalL'auteur user720694
Avez-vous essayé avec
jtds.jar
. Je suis l'aide de la suite c'est de travailler pour moi.OriginalL'auteur Prabhakar Manthena