2015-08-12 4 views

Antwort

3

Sie sollten in der Lage sein, den Verbindungsserver direkt abzufragen.

select * from mylinkedserver.database.schema.mytable 

EDIT:

Versuchen mit den drei Punktnotation wie in diesem Beitrag nicht bemerkt: http://www.ideaexcursion.com/2009/02/25/howto-setup-sql-server-linked-server-to-mysql/

SELECT * FROM MYSQLAPP...tables 

Msg 7399, Level 16, State 1, Line 1 The OLE DB provider "MSDASQL" for linked server "MySQLApp" reported an error. The provider did not give any information about the error. Msg 7312, Level 16, State 1, Line 1 Invalid use of schema or catalog for OLE DB provider "MSDASQL" for linked server "MySQLApp". A four-part name was supplied, but the provider does not expose the necessary interfaces to use a catalog or schema.

This “four-part name” error is due to a limitation in the MySQL ODBC driver. You cannot switch catalogs/schemas using dotted notation. Instead, you will have to register another DSN and Linked Server for the different catalogs you want to access. Be sure and follow the three-dot notation noted in the example query.

+1

Sie die Database verpasst haben ...... –

+1

Wenn ich SELECT * FROM [Linked_Server] ausführen .Database_name.DBO.Table_Name bekomme ich folgende Fehlermeldung: Ungültige Verwendung des Schemas oder Katalogs für OLE DB-Provider " MSDASQL "für den Verbindungsserver" Linked_Sever ". Ein vierteiliger Name wurde angegeben, aber der Anbieter stellt die erforderlichen Schnittstellen zur Verwendung eines Katalogs oder Schemas nicht bereit. – Kevin

+0

Wenn ich versuche, * aus Linked_Server ... Table_Name auszuwählen. Ich bekomme ein ungültiges Schema oder Katalog wurde für den Provider "MSDASQL" für den Verbindungsserver "Linked_Server" angegeben. – Kevin

10

hier die Antwort gefunden. Jetzt kann ich die Dreipunktnotation abfragen. Dank

http://www.sparkalyn.com/2008/12/invalid-schema-error/

Zum Anbieter Optionen screenIn SQL Server 2005 Sie die Liste der Anbieter in einem Ordner über dem Verbindungsserver (vorausgesetzt, Sie haben die entsprechenden Berechtigungen) sehen können. Klicken Sie mit der rechten Maustaste auf MSDASQL und gehen Sie zu den Eigenschaften. In SQL Server 2000 befindet sich die Schaltfläche Provideroptionen in dem Dialogfeld, in dem Sie den Verbindungsserver erstellen. Markieren Sie das Kästchen, das „Null-Pegel nur“

1

wie dies sagt Versuchen:

SELECT * FROM [Linked_Server]...[db_name.table_name] 

richtig funktioniert, aber es gibt die Probleme der Datentypen zu konvertieren. Sicherer und zuverlässiger zu verwenden ist OPEQUERY.

SELECT * FROM OPENQUERY([Linked_Server], 'SELECT * FROM db_name.table_name')