SQL Server poskytuje uloženou proceduru sp_columns_ex
poskytnout informace o sloupcích v tabulkách zpřístupněných prostřednictvím mechanismu propojeného serveru. Teoreticky můžete použít sp_columns_ex
s propojeným serverem, který používá ODBC pro přístup k datovému úložišti třetí strany (např. Salesforce.com prostřednictvím ovladače ODBC Salesforce.com společnosti Easysoft). V praxi nemůžete:sp_columns_ex
vrátí prázdnou sadu výsledků při použití s propojeným serverem ODBC a ačkoli tabulky zpřístupněné propojeným serverem jsou viditelné v SQL Server Management Studio, sloupce nikoli.
Podle Microsoftu:
"sp_columns_ex vrátí prázdnou sadu výsledků, pokud poskytovatel OLE DB zadaného propojeného serveru nepodporuje sadu řádků COLUMNS rozhraní IDBSchemaRowset"
Ačkoli neexistuje žádné definitivní prohlášení, zda poskytovatel Microsoft OLE DB Provider pro ovladače ODBC podporuje toto konkrétní rozhraní, rozsáhlé testování s ovladači Easysoft ODBC i ovladači od jiných výrobců naznačuje, že nikoli.
Problém tedy spočívá spíše v rozhraní OLE DB společnosti Microsoft než v konkrétním ovladači ODBC nebo back-endu propojeného serveru.
Můžete však vytvořit prázdnou tabulku SQL Server na základě sloupců v tabulce Salesforce. Pomocí této prázdné tabulky můžete zjistit, jak se metadata sloupců Salesforce převádějí na metadata sloupců SQL Server. Tento příklad je pro tabulku Účet a předpokládá, že propojený server se jmenuje SALESFORCE
:
select * into dbo.NewTable from openquery(SALESFORCE,'select * from Account') where 1 = 0