2 Stimmen

Data-Tier Projekte und Linked Server

Ich versuche, eine Data-Tier-Anwendung zu verwenden, die einen verknüpften Server einbezieht, und stoße auf ein seltsames Problem.

Hier ist, was ich habe:

1) Eine VS2010-Lösung, die ein Data-Tier-Projekt enthält.

2) Das Data-Tier-Projekt zielt auf einen SQL 2008 R2-Server ab.

3) Der SQL-Server hat eine funktionierende verknüpfte Serververbindung zu einer Oracle-Datenbank.

4) Ansichten innerhalb des Data-Tier-Projekts verweisen auf den verknüpften Server unter Verwendung von OPENQUERY.

Die Verbindung zum verknüpften Server ist gültig, Abfragen gegen ihn auf dem Server funktionieren einwandfrei, und das Erstellen der Ansichten direkt auf dem Server funktioniert ebenfalls einwandfrei.

Jedoch erhalte ich jedes Mal, wenn ich versuche, meine Data-Tier-Anwendung zu erstellen, den folgenden Fehler:

SQL03006: Ansicht: [dbo].[vwMyExampleView] weist einen ungelösten Verweis auf das Objekt [MyExampleLinkedServer] auf.

1voto

yanigisawa Punkte 701

Im Wesentlichen liegt das Problem darin, dass das SQL Server-Datenbankprojekt keine Möglichkeit bietet, den Link zu den Tabellen der Oracle-Datenbank aufzulösen.

Ich hatte ein ähnliches Problem, als ich versuchte, auf eine Tabelle in einer anderen Datenbank auf demselben Server zu verweisen. In meinem Fall verwendete ich SQL Server für beide Datenbanken, erstellte ein Datenbankprojekt für die andere Datenbank, fügte es der Lösung für das erste Projekt hinzu und erstellte dann eine Referenz zum zweiten Projekt aus dem ersten. Ich verwendete auch SQLCMD-Variablen in Synonymen, damit ich das Synonym ändern konnte und alle meine Verweise auf Prozeduren und Ansichten nicht aktualisiert werden mussten.

Ich bin mir nicht sicher, ob dies zwischen SQL Server und Oracle funktionieren wird, da die Visual Studio-Datenbankedition nur SQL Server unterstützt. (Soweit ich weiß) Möglicherweise finden Sie eine Lösung, indem Sie eine .dbschema-Datei erstellen und die Datenbankreferenz zu Ihrem SQL Server-Projekt hinzufügen.

Weitere Details finden Sie unter diesem Link:

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

1voto

kannan Punkte 77

In SQL 2012, fügen Sie einfach ein neues Element hinzu -> Serverobjekte -> Verbindungsserver hinzu, fügen Sie den SP-Code hinzu, der den Verbindungsserver erstellt, und Sie sind startklar

0 Stimmen

Das Gleiche gilt für ANMELDUNGEN. Viel einfacher als 2008.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X