2015-08-12 17 views

cevap

3

Doğrudan bağlantılı sunucuyu sorgulamanız gerekir.

select * from mylinkedserver.database.schema.mytable 

DÜZENLEME: Bu mesajda belirtildiği gibi

üç nokta gösterimi ile deneyin: Burada cevabı Bulundu 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

ben [linked_server] SELECT * yürütmek zaman veritabanı adı ...... –

+1

kaçırmış aşağıdaki hatayı alıyorum .Database_name.DBO.Table_Name: OLE DB sağlayıcısı için şema veya katalog geçersiz kullanımı " MSDASQL "bağlantılı sunucu için" Linked_Sever ". Dört bölümlü bir ad verilmiştir, ancak sağlayıcı katalog veya şema kullanmak için gerekli arabirimleri göstermez. – Kevin

+0

Linked_Server ... Table_Name'dan * öğesini seçmeyi denediğimde. Geçersiz bir şema veya bağlantılı sunucu "Linked_Server" için sağlayıcı "MSDASQL" için katalog belirtildi. – Kevin

10

. Şimdi üç nokta notasyon sorgusu yapabilirim. Bağlantılı bir sunucu üzerinde bir klasörde sağlayıcıların listesini görebilirsiniz Git sağlayıcı seçenekleri taranmasında SQL Server 2005 sayesinde

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

(uygun izinlere sahip varsayarak). MSDASQL'i sağ tıklayın ve özelliklerine gidin. SQL Server 2000'de, sağlayıcı seçenekleri düğmesini, bağlı sunucuyu oluşturduğunuz iletişim kutusunda bulunur. diyor kutuyu işaretleyin “seviye sıfır sadece”

1

böyle deneyin:

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

düzgün çalışarak, ancak veri türleri dönüştürme sorunlar var. Daha güvenli ve daha güvenilir kullanım OPEQUERY.

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