2

J'essaie d'utiliser une application de niveau de données impliquant un serveur lié et se heurtant à un problème étrange.Projets de niveau de données et serveurs liés

Voici ce que j'ai:

1) Une solution VS2010 qui comprend un projet de niveau de données.

2) Le projet Data-Tier cible un serveur SQL 2008 R2.

3) Le serveur SQL a une connexion de serveur liée fonctionnelle à une base de données Oracle.

4) Vues dans le projet de niveau de données de référence du serveur lié à l'aide OPENQUERY

La connexion du serveur lié est valide, l'exécution de requêtes contre sur le travail serveur bien, et créer les vues directement sur le serveur fonctionne très bien ainsi que.

Cependant, chaque fois que je tente de construire mon application Niveau de données Je reçois l'erreur suivante:

SQL03006: View: [dbo].[vwMyExampleView] has an unresolved reference to object [MyExampleLinkedServer]. 

Répondre

1

Essentiellement, le problème est que le projet de base de données SQL Server ne dispose pas d'un moyen de résoudre le lien vers les tables de la base de données Oracle.

J'ai rencontré un problème similaire lorsque j'essayais de référencer une table dans une base de données différente sur le même serveur. Dans mon cas, j'utilisais SQL Server pour les deux bases de données et créais un projet de base de données pour l'autre base de données, l'ajoutais à la solution pour le premier projet, puis créais une référence au second projet à partir du premier. J'ai également utilisé des variables SQLCMD dans les synonymes pour pouvoir modifier le synonyme, et toutes mes références proc et view n'auraient pas besoin d'être mises à jour.

Je ne suis pas sûr que cela fonctionnera entre SQL Server et Oracle puisque l'édition de la base de données Visual Studio prend uniquement en charge SQL Server. (AFAIK) Vous pouvez peut-être trouver une solution en créant un fichier .dbschema et en ajoutant la référence de base de données à votre projet SQL Server.

Plus de détails sont disponibles sur ce lien:

http://msdn.microsoft.com/en-us/library/bb386242.aspx

1

Dans SQL 2012, il suffit d'ajouter de nouveaux objets item-> Serveur -> linkserver, ajoutez le code sp qui crée serveur de liens, vous êtes bon aller

+0

La même chose fonctionne pour LOGINs. Beaucoup plus facile que 2008. – Graeme

Questions connexes