Problème de connexion entre SQL Server et une base mixte Access/SQL

Problème de connexion entre SQL Server et une base mixte Access/SQL - SQL/NoSQL - Programmation

Marsh Posté le 25-11-2003 à 11:05:20    

Voir ce topic : http://forum.hardware.fr/forum2.ph [...] =1#t578451
 
Was :  

Citation :


 
J'ai un serveur sur lequel est installé SQL Server 7 et une base de données SQL qui l'utilise.
 
J'aimerai migrer cette base et SQL Server sur un nouveau serveur plus performant, mais pas moyen de trouver les paramètres de connexion à cette base :/
 
Y a t-il un moyen de les retrouver ? :??:
 
Accessoirement, si je passe à SQL Server 2000, y aura t-il des modifs à faire dans la base ?  
 
:hello:


Message édité par rpgman le 28-11-2003 à 17:19:44
Reply

Marsh Posté le 25-11-2003 à 11:05:20   

Reply

Marsh Posté le 25-11-2003 à 14:34:31    

:bounce:

Reply

Marsh Posté le 25-11-2003 à 14:37:29    

Ben ... trouver qui à fixé le mot de passe et lui demander.


---------------
Les Vers Solitaires, on aime ... ou pas !
Reply

Marsh Posté le 25-11-2003 à 16:01:07    

El_gringo a écrit :

Ben ... trouver qui à fixé le mot de passe et lui demander.


 
:/ Ouais... et si la personne est morte ? :D

Reply

Marsh Posté le 25-11-2003 à 16:05:17    

bah alors tu réinstalles la DB...

Reply

Marsh Posté le 25-11-2003 à 16:14:35    

ouais sinon ca serait trop simple d'aceder a une BdD et donc le mot de passe serait inutile   ;)

Reply

Marsh Posté le 25-11-2003 à 17:20:11    

rpgman a écrit :


 
:/ Ouais... et si la personne est morte ? :D


 
Si c la seule personne qui connaissait le mot de passe. A moins de faire du spiritisme, tu l'as dans l'cul! :D


---------------
Les Vers Solitaires, on aime ... ou pas !
Reply

Marsh Posté le 25-11-2003 à 17:27:00    

mais nan tu fais comme dans les films, t'essaye un peu au pif, a tout les coups c'est le nom de son chat

Reply

Marsh Posté le 25-11-2003 à 17:44:18    

chrisbk a écrit :

mais nan tu fais comme dans les films, t'essaye un peu au pif, a tout les coups c'est le nom de son chat  

pas que dans les films :)
 
Une DB regroupant des references par millier sur la plus grand biblioteck de je_sais_plus_ou (danemark je croit) a fait apelle aux plus grand hacker pour retrouver le pass de cette grande base de donnée suite a la mort du seul connaisseur de ce dernier.
 
Une des hacker a trouver le mdp en saisissant le nom de decédé a l'envers :lol:
 
bon c'est sur qu'en danois ca donne n'importe quoi


Message édité par Profil supprimé le 25-11-2003 à 17:44:44
Reply

Marsh Posté le 25-11-2003 à 18:17:05    

El_gringo a écrit :


 
Si c la seule personne qui connaissait le mot de passe. A moins de faire du spiritisme, tu l'as dans l'cul! :D


 
Pas con tiens le spiritisme :D

Reply

Marsh Posté le 25-11-2003 à 18:17:05   

Reply

Marsh Posté le 25-11-2003 à 18:23:05    

Il n'y a aucune appli qui exploite cette base ? sinon, ds la chaine de connexion (si bien sur appli il y a ...)
 

Reply

Marsh Posté le 25-11-2003 à 19:20:37    

alien_nan a écrit :

Il n'y a aucune appli qui exploite cette base ? sinon, ds la chaine de connexion (si bien sur appli il y a ...)


 
tu donnes des droits d'admin sur la DB à une appli toi?

Reply

Marsh Posté le 25-11-2003 à 19:39:54    

rpgman a écrit :

J'ai un serveur sur lequel est installé SQL Server 7 et une base de données SQL qui l'utilise.
 
J'aimerai migrer cette base et SQL Server sur un nouveau serveur plus performant, mais pas moyen de trouver les paramètres de connexion à cette base :/
 
Y a t-il un moyen de les retrouver ? :??:
 
Accessoirement, si je passe à SQL Server 2000, y aura t-il des modifs à faire dans la base ?  
 
:hello:


si tu te logues en administrateur sur le serveur, tu pourras entrer dans entreprise manager et shooter le mot de pass de "sa" afin de le réinitialiser.


Message édité par MagicBuzz le 25-11-2003 à 19:40:07
Reply

Marsh Posté le 25-11-2003 à 19:41:56    

MagicBuzz a écrit :


si tu te logues en administrateur sur le serveur, tu pourras entrer dans entreprise manager et shooter le mot de pass de "sa" afin de le réinitialiser.


PS: et si t'as pas le mot de pass du serveur, bah s'il est dans le domaine, le pass admin du domaine marchera.

Reply

Marsh Posté le 26-11-2003 à 09:04:44    

MagicBuzz a écrit :


PS: et si t'as pas le mot de pass du serveur, bah s'il est dans le domaine, le pass admin du domaine marchera.


 
Si, j'ai le mot de passe du serveur, mais où trouves t-on "enterprise manager" ? :??:

Reply

Marsh Posté le 26-11-2003 à 19:46:41    

Bah c'est pourtant pas compliqué...
 
Logue-toi en tant qu'admin sur la machine.
Ensuite, menu démarrer > programmes > sql server > et là t'as une MMC nommée "Entreprise Manager"
 
J'ai SQL Server 2000, mais sur le 7.0 c'est quasiement la même interface :
 
http://magicbuzz.multimania.com/files/sqlpass1.PNG
 
http://magicbuzz.multimania.com/files/sqlpass2.PNG
 
http://magicbuzz.multimania.com/files/sqlpass3.PNG
 
Attention : Si la personne qui a installé le serveur a désactivé l'authentification Windows, alors tu ne pourras pas faire cette action. C'est du moins le cas avec SQL Server 2000 SP3. N'ayant jamais rencontré ce problème avant, je pense que c'est une nouveauté du SP3, parcequ'avant, il me semble que même quand je désactivais l'authentification Windows, en local je pouvais toujours me loguer avec mon compte NT.
 
Si tu es bloqué, alors il doit y avoir des softs pour cracker le pass de SQL Server, certainement même des softs officiels. Cherche sur le CD de SQL Server et dans la MSDN. C'est fourni pour NT, y'a pas de raison que ce ne soit pas fournis pour SQL Server.
 
Mais normalement, cette méthode doit fonctionner.
 
Sinon, pour ta question à propos des modifications de la base, non, tu ne devrais pas avoir à la modifier. Le seul truc qui peut bloquer c'est les procédures stockées/fonctions utilisateur, mais il me semble que SQL Server fait la conversion automatiquement.
 
Par contre, SQL Server 2000 étant bien plus puissant que le 7.0, il y a de grandes chances pour que tu puisses améliorer ta base une fois passé sous 2000.
 
Là où ça risque d'être chiant, c'est au niveau des appli qui utilisent la base... Tu risque d'avoir des mises à jours à faire au niveau de certains requêtes, la syntaxe de SQL Server ayant évolué (mais à priori, pour la plupart des requêtes, ça reste compatible)

Reply

Marsh Posté le 28-11-2003 à 11:38:49    

Merci beaucoup, MagicBuzz ! :jap:
Voilà une explication claire, et avec les screenshots en + :jap: :hello:

Reply

Marsh Posté le 28-11-2003 à 15:41:58    

Bon, j'ai fait migrer les données sur le nouveau serveur avec SQL Server 2000 installé.
J'ai du mal à paramétrer la connexion avec la base (qui est un fichier mixte Access 97/SQL en *.mde)


Message édité par rpgman le 28-11-2003 à 15:44:14
Reply

Marsh Posté le 28-11-2003 à 16:04:47    

Je galère... :(
Comment peut-on faire pour récupérer tous les paramètres de connexion à SQL à partir de la base de données Access ? :??:

Reply

Marsh Posté le 28-11-2003 à 16:17:22    

De tête...
 
A priori, c'est une base access, avec des tables liées dans la base SQL Server, c'est ça ?
 
Alors...
 
1) Copie la base Access (le fichier *.mdb) sous un autre nom, histoire de pas tout casser.
2) Ouvre la base avec Access.
3) Sur chaque table liée (normalement, c'est une icône table, avec une flèche dessus, ou un truc du genre) fait propriétés. Normalement, là dedans, tu devrais avoir la connection.
3.1) Si c'est une connection ODBC, alors ne touche à rien. Vas dans le panneau de configuration, dans "Sources de données 32 bits" (ou "Sources de données ODBC" ). Dedans, cherche le pont ODBC qui correspond à celui utilisé dans Access (soit dans "User DSN" soit dans "System DSN" ). Ouvre-le. Modifie le nom du serveur et de la base de données, ainsi que les log/pass.
3.2) Si c'est un lien OLEDB, alors dans les propriétés, change directement le nom du serveur, de la base et de l'utilisateur.
 
Si c'est pas comme ça, alors je sais pas. Faudrait que j'aie l'appli sous les yeux.

Reply

Marsh Posté le 28-11-2003 à 16:42:53    

J'ai trouvé la base .mdb originale qui a servi à la création de la .mde
En examinant le code d'ouverture, j'ai vu qu'il va chercher les paramètres de la connexion SQL dans une table "paramètres", tout simplement !
 
Voici les éléments :

Citation :

ODBC;DRIVER=SQL Server;SERVER=newserveur;UID=sa;PWD=;DATABASE=saisie;LANGUAGE=Français


 
Le serveur s'appelle bien newserveur, pas de souçis, je suis donc allé dans Enterprise manager, puis j'ai crée une base de données nommée saisie et utilisant le fichier .mde, et ça ne fonctionne toujours pas.
 
J'essaye comme tu m'as dis avec l'OBDC, on verra ce que ça donne :hello:

Reply

Marsh Posté le 28-11-2003 à 16:47:10    

zarb la connection, parceque c'est "ODBC", mais y'a pas de "source name"... En fait c'est une connection OLE DB...
 
Anyway. Change simplement les paramètres là-dedans, et c'est bon, ton appli ne passe pas par un pont ODBC (et normalement, ça devrait pas marcher, elle est fausse la chaîne de connection)

Reply

Marsh Posté le 28-11-2003 à 16:47:55    

Pour info, cette chaîne contenait le mot de pass SA de ton serveur SQL Server 7.0
 
Il était vide... Comment t'as galèré comme un gland pour rien toi :D

Reply

Marsh Posté le 28-11-2003 à 16:59:34    

Bon je suis allé dans l'OBDC (qui est un vieux, celui de Windows NT) et j'ai créé une connexion Access nommée saisie vers le fichier .mde, dans "Source de données systèmes" et "Source de données utilisateur".  
Je ne sais pas trop si ça correspond à ce que tu m'as dis car les noms d'onglets sont différents.
 
En tout cas ça ne fonctionne pas :/
 
D'après toi, l'appli se connecte directement à SQL server ?
Mais quand tu dis que je dois changer les paramètres, que dois-je faire exactement ? (et c'est bizarre, la base fonctionnait parfaitement sur l'ancien serveur).
 
Voici le code qui appelle les paramètres stockés dans la table parametre à ligne référencée 200.
 

Code :
  1. 'récupération de la chaine de connexion dans la table parametre
  2.     qdf.Connect = parametre(200)
  3.    
  4.     qdf.SQL = chaineSQL
  5.     qdf.ReturnsRecords = False
  6.     'Execution requete
  7.     qdf.Execute
  8.     'Effacement requete
  9.     bds.QueryDefs.Delete qdf.Name
  10.     qdf.Close
  11.    
  12.     'Nouvel interogation utilisateur sur base
  13.     chaineSQL = "SELECT id_source, source FROM dbo_source WHERE operateur = '" & utilisateur & "';"
  14.     Set rst = bds.OpenRecordset(chaineSQL, dbOpenSnapshot, dbReadOnly)


 
Et voilà la fonction "parametre" :
 

Code :
  1. Function parametre(nb As Integer)
  2. '**************************************************************************
  3. 'Recuperation des paramétres dans la table parametre. Cela permet de changer
  4. 'certaines options pour l'ensemble du programme sans avoir à changer toutes les
  5. 'entrées. La fonction renvoie une chaine de caractéres en fonction du numéro
  6. 'de parametre demandé
  7. '****************************************************************************
  8. 'Declaration des variables locales à la fonction
  9. Dim bds As Database
  10. Dim rst As Recordset
  11. Dim chaineSQL As String
  12. 'Requete dans la table parametre
  13. Set bds = CurrentDb()
  14. chaineSQL = "SELECT valeur FROM parametres WHERE ref=" & nb & ";"
  15. Set rst = bds.OpenRecordset(chaineSQL, dbOpenSnapshot, dbReadOnly)
  16. parametre = rst![valeur]
  17. rst.Close
  18. bds.Close
  19. End Function


Message édité par rpgman le 28-11-2003 à 17:05:41
Reply

Marsh Posté le 28-11-2003 à 17:00:17    

MagicBuzz a écrit :

Pour info, cette chaîne contenait le mot de pass SA de ton serveur SQL Server 7.0
 
Il était vide... Comment t'as galèré comme un gland pour rien toi :D


 
Oui, j'ai vu :D :/

Reply

Marsh Posté le 28-11-2003 à 17:03:03    

Pour info, quand je clique sur "propriétés" sur une table liée (donc normalement SQL), tout ce qu'il m'indique c'est "Table:Linked ODBC"

Reply

Marsh Posté le 28-11-2003 à 17:06:00    

rpgman a écrit :

Pour info, quand je clique sur "propriétés" sur une table liée (donc normalement SQL), tout ce qu'il m'indique c'est "Table:Linked ODBC"


et y'a lien pour voir le link ? ça doit être dans un coin normalement. peut-être dans les propriétés de la base. j'ai fait ça qu'une fois, sous access 97, y'a au moins 4 ans, alors je sais vraiment plus où c'était...

Reply

Marsh Posté le 28-11-2003 à 17:08:40    

MagicBuzz a écrit :


et y'a lien pour voir le link ? ça doit être dans un coin normalement. peut-être dans les propriétés de la base. j'ai fait ça qu'une fois, sous access 97, y'a au moins 4 ans, alors je sais vraiment plus où c'était...


 
En ouvrant une table en modification et en ouvrant les propriétés, voilà ce que j'ai dans Description :

Code :
  1. ODBC;DRIVER={SQL Server};SERVER=newserveur;UID=sa;APP=Microsoft® Query;WSID=INTERNET;LANGUAGE=francais;DATABASE=saisie;TABLE=dbo.agregory_Recherche

Reply

Marsh Posté le 28-11-2003 à 17:11:22    

bah voilà. c'est ça qu'il faut changer, pour taper dans la nouvelle base.

Reply

Marsh Posté le 28-11-2003 à 17:14:57    

MagicBuzz a écrit :

bah voilà. c'est ça qu'il faut changer, pour taper dans la nouvelle base.


 
Donc je met ça dans la table paramètres ? :??:

Reply

Marsh Posté le 28-11-2003 à 18:01:07    

Bon, en fait, je pense qu'il faut déjà que je retrouve la base SQL en elle-même, qui doit être stockée sur l'ancien serveur, sans doute dans le dossier c:\SQL7 ou quelque chose dans le genre.
 
Et ensuite, que je crée une base 'saisie' dans Enterprise Manager qui pointe vers ce fichier.
 
ça devrait fonctionner...

Reply

Marsh Posté le 28-11-2003 à 19:20:39    

C'est bon, j'ai réussi !
Il y avait un répertoire Database sur l'ancien serveur, qui contenait la base SQL.
Je l'ai donc importée, puis j'ai configuré l'authentification en mode SQL/Windows et ça marche ! :)
 
Merci à tous :hello: :jap:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed