Requête à partir de Deux BD

Résolu
cs_naindjardin Messages postés 12 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 14 janvier 2011 - 11 déc. 2008 à 16:16
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 11 déc. 2008 à 19:43
Bonjour,

J'aimerais savoir s'il est possible de faire une requête sur deux db à la fois:

Mon site possède la Base de Donnée ASPNETDB (contenant les utilisateurs) et une autre BD, db, contenant des commandes.

J'aimerais faire une Vue ou une Requete me retournant les commandes en affichant le

UserName de la personne associé à la fiche.

J'ai essayé ça :

SELECT c.*, u.UserName
FROM db.dbo.commandes AS c

INNER
JOIN ASPNETDB.dbo.aspnet_Users AS u

ON
c.UserId = u.UserId

Et il me met: db.dbo.commandes et ASPNETDB.dbo.aspnet_Users sont des noms d'objets non reconnus.

Il n'y a pas d'erreur dans les noms et les bases de données sont toutes les deux sur le même serveur.

J'utilise Visual Web Developer 2008 Express Edition et je crois que le problème vient de là car dans SQL Server Management Studio Express cette vue fonctionne très bien.

Y a-t-il un moyen pour parvenir à mes fins ?

Je me connecte des deux côtés avec l'authentification Windows. Le problème vient-il de là ?

D'avance, merci.

4 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
11 déc. 2008 à 17:23
Salut

dbo.dbo n'est pas un utilisateur connu sur SQL serveur (erreur de syntaxe)

SELECT c.*, u.UserName
FROM dbo.commandes AS c

INNERJOIN ASPNETDB.dbo.aspnet_Users AS u

ON c.UserId = u.UserId

peut focntionner.

Pour info, il est possible de mettre les user de
ASPNETDB
dans ta deuxieme base les script sont fournis dans le répertoire de sdk dotnet
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

Tu as les fichiers SQL
3
cs_naindjardin Messages postés 12 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 14 janvier 2011
11 déc. 2008 à 17:48
Je viens de  relire ta réponse, que veux-tu dire par :
"
dbo.dbo n'est pas un utilisateur connu sur SQL serveur (erreur de syntaxe)"
?

(si c'est parce que dans ma requête SQL j'avais écris "db.dbo.commandes", "db" était juste le nom de ma première base de donnée.

Y a-t-il quand même moyen de faire ma requête sur mes deux bases de données séparées ?

Merci d'avance.
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
11 déc. 2008 à 19:43
Oups j'ai mal lu?

J'ai cru voir un o Désolé

Pour la fusion

Ca dépend de ce que tu utilises
user
user + role
user + role + profil

Ensuite il faut configurer la chaine de connexion
pour les providers.

Il faut peut etre ouvrir les deux connaexions pour faire les requetes sur les 2 bases par programmation.
3
cs_naindjardin Messages postés 12 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 14 janvier 2011
11 déc. 2008 à 17:36
Merci pour ta réponse,

Je ne vois pas tout à fait la différence entre nos deux requêtes, mais c'est pas grave ta solution de rassembler les deux DB m'interresse beaucoup.

Les fichiers dont tu parles, sont-ils les fichiers InstallCommon, InstallMembership, InstallPersistSqlState, InstallPersonalization, InstallProfile, InstallRoles, InstallSqlState et InstallSqlStateTemplate ?

Faut-il les installer tous pour ravoir les mêmes fonctionnalités qu'avec la base de données ASPNETDB ?

Que faut-il rajouter pour que le CreateUserWizard fonctionne toujours ?
Un membershipProvider dans le fichier Web.config avec la chaîne de connexion de ma base ?

D'avance, merci.
0
Rejoignez-nous