Database
 sql >> Database >  >> RDS >> Database

Server collegati a Salesforce.com e sp_columns_ex

SQL Server fornisce la procedura memorizzata sp_columns_ex per fornire informazioni sulle colonne nelle tabelle rese disponibili tramite il meccanismo del server collegato. In teoria, puoi usare sp_columns_ex con un server collegato che utilizza ODBC per accedere a un archivio dati di terze parti (ad es. Salesforce.com tramite il driver ODBC Salesforce.com di Easysoft). In pratica, non puoi:sp_columns_ex restituisce un set di risultati vuoto se utilizzato con un server collegato ODBC e sebbene le tabelle rese disponibili dal server collegato siano visibili in SQL Server Management Studio, le colonne non lo sono.

Secondo Microsoft:

"sp_columns_ex restituisce un set di risultati vuoto se il provider OLE DB del server collegato specificato non supporta il set di righe COLUMNS dell'interfaccia IDBSchemaRowset"

Sebbene non vi sia alcuna affermazione definitiva sul fatto che il provider Microsoft OLE DB per i driver ODBC supporti questa particolare interfaccia, test approfonditi sia con i driver ODBC Easysoft che con i driver di altri fornitori suggeriscono che non è così.

Il problema risiede quindi nell'interfaccia OLE DB di Microsoft piuttosto che in un particolare driver ODBC o nel back-end del server collegato.

È tuttavia possibile creare una tabella SQL Server vuota in base alle colonne di una tabella Salesforce. Puoi usare questa tabella vuota per vedere come i metadati delle colonne Salesforce vengono convertiti nei metadati delle colonne di SQL Server. Questo esempio è per la tabella Account e presuppone che il server collegato sia denominato SALESFORCE :

select * into dbo.NewTable from openquery(SALESFORCE,'select * from Account')
where 1 = 0