Requête à partir de Deux BD [Résolu]

Signaler
Messages postés
12
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
14 janvier 2011
-
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
-
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

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
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
Messages postés
12
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
14 janvier 2011

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.
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
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.
Messages postés
12
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
14 janvier 2011

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.