2015-08-12 9 views

Odpowiedz

3

Powinieneś być w stanie bezpośrednio zapytać połączonego serwera bezpośrednio.

select * from mylinkedserver.database.schema.mytable 

EDIT:

Spróbuj z trzema kropkami notacji jak zauważono w tym poście: 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

masz brakowało DatabaseName ...... –

+1

Kiedy wykonać SELECT * FROM [Linked_Server] .Database_name.DBO.Table_Name pojawia się następujący błąd: Nieprawidłowe użycie schematu lub katalogu dla dostawcy OLE DB " MSDASQL "dla połączonego serwera" Linked_Sever ". Dostarczono czteroczęściową nazwę, ale dostawca nie ujawnia niezbędnych interfejsów do korzystania z katalogu lub schematu. – Kevin

+0

Kiedy próbuję wybrać * z Linked_Server ... Table_Name. Otrzymuję Niepoprawny schemat lub katalog został określony dla dostawcy "MSDASQL" dla połączonego serwera "Linked_Server". – Kevin

10

znaleźć odpowiedź tutaj. Teraz mogę zapytać o notację z trzema kropkami. Dzięki

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

Przejdź do opcji dostawcy screenIn SQL Server 2005 można zobaczyć listę dostawców w folderze powyżej połączonego serwera (zakładając, że masz odpowiednie uprawnienia). Kliknij prawym przyciskiem myszy MSDASQL i przejdź do właściwości. W programie SQL Server 2000 przycisk opcji dostawcy znajduje się w oknie dialogowym, w którym tworzony jest połączony serwer. Zaznacz pole z napisem „Poziom zerowy tylko”

1

Spróbuj tak:

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

działa poprawnie, jednak istnieją problemy konwersji typów danych. Bezpieczniejsze i bardziej niezawodne w użyciu jest OPEQUERY.

SELECT * FROM OPENQUERY([Linked_Server], 'SELECT * FROM db_name.table_name') 
Powiązane problemy