SQL Server express 2005, XP, JDBC
A la demande d'un client je dois passer de MySql à SQL Server, je cherche à faire un appel local (interne au PC mais via TCP/IP).
Test en MySql : install + MySql admion + chargement des bases 17 min
Test SQL Server : galère car truffé de limitations MS.
1) J'ai téléchargé MS Sql Server et appliqué tous les Service Pack (SP2)
2) J'ai activé TCPIP et Named Pipes (canaux nommés) dans la configuration.
--> Le service tourne et pas d'erreur dans le log
3) Comme je ne parvenais pas à me connecter j'ai téléchargé "MS SQL Management Studio Express"
Depuis le management studio express je peux me connecter mais uniquement avec l'authentification WINDOWS).
-> Jai créé un compte avec authentification SQL Server et j'ai aussi changé le mot de passe du compte 'sa'
--> J'essaie de me connecter via:
JDBC :
[Echec] jdbc:sqlserver://localhost:1433;databaseName=mabase;integratedSecurity=true;
[Echec] jdbc:sqlserver://localhost:1433;databaseName=mabase;
avec user et password fourni
[Echec] jdbc:sqlserver://localhost;databaseName=mabase;
avec user et password fourni
Code:
1 2 3 4
| An error occured while establishing the connection.
Type: com.microsoft.sqlserver.jdbc.SQLServerException Error Code: 0 SQL State: 08S01
Message:
Échec de la connexion TCP/IP à l'hôte . java.net.ConnectException: Connection refused: connect |
avec management studio express cela marche toujours en authentification windows mais pas via
authentification SQL Server.
En absence d'idée je commence à pencher pour un pb avec les limitations de la express edition même en appel local
via TCPIP ?
Code:
1 2 3 4 5 6 7 8 9 10
|
TITLE: Connect to Server
------------------------------
Cannot connect to Machine224\SQLEXPRESS.
------------------------------
ADDITIONAL INFORMATION:
Échec de l'ouverture de session de l'utilisateur 'sa'. L'utilisateur n'est pas associé à une connexion SQL Server approuvée. (Microsoft SQL Server, Error: 18452) |
1er élément : activation du TCPIP
J'ai trouvé un premier point : il ne suffit pas d'activer TCPIP, il faut cliquer sur 'properties' et mettre manuellement le port 1433 (que je croyais être celui par défaut) et ensuite mettre 0 dans IpAll pour les ports dynamiques.
Maintenant JDBC peut se connecter mais : c'est au niveau du compte que cela pêche toujours , même erreur que dans le management studio express mais dans JDBC cette fois.
Au moins c'est cohérent !:
Code:
1 2 3 4 5
|
An error occured while establishing the connection.
Type: com.microsoft.sqlserver.jdbc.SQLServerException Error Code: 18452 SQL State: S0001
Message:
Échec de l'ouverture de session de l'utilisateur 'nbo'. L'utilisateur n'est pas associé à une connexion SQL Server approuvée. |
Problème SQL SERVER : yura : Solution trouvé !
les gars, le bug est lié à SQL SERVER 2000 (avec lequel je travail), le problème vient du fait que vous avez changé votre adresse IP après l'installation de SQL SERVER 2000, parce ce fameux SGBD " apprend cette adresse par coeur " et la reprends dans ces fichiers installés sans avoir la possibilité de la réctifier.
Alors solution:
1) redonner l'adresse IP initiale si vous en souvenez et fixer là
OU
2) sauvegardez votre Base de données et désinstaller complètement SQL SERVER 2000 et le réinstaller puis réstaurer de nouveau votre BD et ça va marcher comme sur des roulettes.
moi, j'ai opté pour la deuxième solution et ça marche Nickel....
Bonne chance tout le monde.
Citation:
Envoyé par
fastlock
Ultra pénible mais ca marche :
1) dans outil de configuration j'avais en outre paramétré la "surface d'exposition du serveur' pour autoriser les identifications mixtes mais ca ne marche pas.
Il faut le faire commce cela :
Dans SQL Server Management Studio Express :
Faire un clic droit sur le serveur,
Sélectionner "Propriétés",
Dans la page "Sécurité",
Sélectionner "Mode d'authentification SQL Server et Windows"
Cliquer sur OK.
Faire un clic droit sur le serveur,
Un message demande le redémarrage du serveur.
Faire un clic droit sur le serveur,
Sélectionner "Redémarrer".
2) ENFIN, si vous avez de la chance car au redémarrage j'ai eu un superbe :
Code:
1 2
|
sql server Server TCP provider failed to listen on [ 'any' <ipv4> 1433]. Tcp port is already in use. |
Alors j'ai refais la manip de mon post précédent avec un autre port et OUF ca marche . Une config par défaut qui marche ils ne connaissent pas chez MS,
le mot "express" est quand même assez exagéré !