SELECT * FROM MySQL Linked server mit SQL server ohne OpenQuery

Ich versuche, einen MySQL verknüpften server mit SQL server abzufragen.

Die folgende Abfrage läuft ganz gut.

 SELECT * FROM OPENQUERY([Linked_server], 'SELECT * FROM Table_Name') 

Ist es möglich, die gleiche Abfrage OpenQuery ohne den OpenQuery Anruf zu verwenden?

Fand die Antwort hier Jetzt kann ich die drei Punkte Notation Abfrage. Vielen Dank

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

Gehen Sie zu den Provider-Optionen screenIn SQL server 2005 können Sie die list der Provider in einem Ordner über dem verknüpften server sehen (vorausgesetzt, Sie haben entsprechende permissions). Klicken Sie mit der rechten Maustaste auf MSDASQL und gehen Sie zu properties. In SQL server 2000 befindet sich die Schaltfläche Anbieteroptionen im Dialogfeld, in dem Sie den verknüpften server erstellen. Überprüfen Sie die Box, die sagt "Ebene Null nur"

Sie sollten in der Lage sein, den verknüpften server direkt direkt abzufragen.

 select * from mylinkedserver.database.schema.mytable 

BEARBEITEN:

Versuchen Sie mit der drei Punkte Notation wie in diesem Beitrag angegeben: http://www.ideaexcursion.com/2009/02/25/howto-setup-sql-server-linked-server-to-mysql/

 SELECT * FROM MYSQLAPP...tables 

Msg 7399, Ebene 16, Status 1, Zeile 1 Der OLE DB-Provider "MSDASQL" für den verknüpften server "MySQLApp" hat einen Fehler gemeldet. Der Anbieter hat keine Informationen über den Fehler gegeben. Msg 7312, Level 16, State 1, Line 1 Ungültige Verwendung von Schema oder Katalog für OLE DB Provider "MSDASQL" für den verknüpften server "MySQLApp". Ein vierteiliger Name wurde geliefert, aber der Anbieter stellt die notwendigen interfacen nicht frei, um einen Katalog oder ein Schema zu verwenden.

Dieser "Vier-teil-Name" -Fehler ist auf eine Einschränkung im MySQL-ODBC-Treiber zurückzuführen. Sie können Kataloge / Schemata nicht mit punktierter Notation umschalten. Stattdessen müssen Sie einen anderen DSN und Linked server für die verschiedenen Kataloge registrieren, auf die Sie zugreifen möchten. Seien Sie sicher und folgen Sie der in der Beispielabfrage angegebenen Dreipunkt-Notation.

Versuche es so:

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

Es funktioniert jedoch die Probleme beim Umwandeln von datatypen. Sicherer und zuverlässiger zu bedienen ist OPEQUERY.

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