Fehler "verzögerte Vorbereitung konnte nicht abgeschlossen werden" bei Verwendung der lokalen Datenbank als Verbindungsserver

8

Ich habe einen Linked Server von meinem lokalen Sql Server erstellt, wie in

angegeben

Ссылка

Wenn ich versuche, eine gespeicherte Prozedur in Linked Server auszuführen, wird jedoch Folgendes ausgelöst:

%Vor%

Fehler und ungültiger Objektname 'Tabellenname'

    
Anand B 01.03.2013, 12:40
quelle

4 Antworten

10

Haben Sie etwas in Ihrem Objektnamen vergessen? Es sollte immer wie Database.User.ObjectName (z. B. Northwind.dbo.Customers)

sein

Geben Sie den vollständigen Objektnamen ein, wenn Sie Abfragen über verknüpfte Server ausführen.

Die Abfrage für die gespeicherte Prozedur kann bei der Ausführung auf den Verbindungsservern so aussehen:

%Vor%

Überprüfen Sie Optionen wie SET FMTONLY OFF, wenn Sie Stored Procedure ausführen.

Folgen Sie diesem Link für OPENQUERY: Ссылка

    
Vishal Vaishya 08.03.2013, 04:14
quelle
1

Das gleiche Problem für mich: Ich habe es gelöst, indem ich nur das "Ziel" -Objekt repariert habe, das nicht korrekt benannt wurde.

In meinem Fall habe ich nach [testDb].[Business.Customer] table gesucht, aber der korrekte Name war [testDb].[Business].[Customer] ... der gleiche Fehler wie bei dir:

  

Il Provider OLE DB "SQLNCLI10" pro Servercollegato   "RIBOWEB10 \ SQLEXPRESS" ha restitituo il messaggio "Zurückgestellt vorbereiten   konnte nicht abgeschlossen werden. ".

Ich denke, dass SQL Server versucht, Namen dynamisch aufzulösen, die nicht direkt mit realen Objekten übereinstimmen, aber nicht sicher sind.

Ganz einfach, ich hoffe, das hilft:)

    
MAXE 28.04.2014 12:14
quelle
1

Auch wenn Sie in Ihrer Abfrage eine Spalte falsch benannt haben, wird dieser Fehler angezeigt. Beispiel:

%Vor%

und der Spaltenname ist column , nicht colunm .

Unter dem Strich wird die tatsächliche Abfrage, die zuerst an den Remote-Server gesendet werden soll, auf Korrektheit überprüft und dann in openquery umgebrochen und erneut getestet.

    
ajeh 11.05.2016 17:16
quelle
1

Ich hatte den gleichen Fehler beim Abfragen über einen Verbindungsserver. Ich habe jedoch eine Ansicht auf dem Zielserver abgefragt, keine gespeicherte Prozedur.

Die Ansicht des Zielservers wurde wie folgt erstellt:

%Vor%

Um das Problem zu beheben, habe ich eine alter-Ansicht erstellt und die beiden UNION-Anweisungen in eine Unterabfrage eingeschlossen, wie folgt:

%Vor%

Muss ein Metadatenproblem mit der ursprünglichen Ansicht sein.

Hoffe das hilft dir!

    
user3377487 06.03.2014 16:13
quelle