è necessario un file TDC che specifica una particolare opzione di stringa di connessione ODBC per risolvere il problema.
La guida di Vertica consisteva nell'aggiungere un parametro ODBC Connect String con il valore "ResultBufferSize = 0". Ciò sembra forzare il buffer dei risultati ad essere illimitato, prevenendo l'errore. Questo è abbastanza semplice da realizzare quando si costruisce una stringa di connessione manualmente o si lavora con un DSN, ma Vertica è uno dei connettori nativi di Tableau. Quindi, come si dice al connettore nativo di fare qualcos'altro con la sua connessione?
Connessioni nativi a Tableau possono essere personalizzate utilizzando i file TDC
“connettori nativi” ancora connettersi tramite driver ODBC del fornitore, e possono essere personalizzati proprio come un “altro database” collegamento/ODBC. Nei file TDC stessi, le connessioni "ODBC" sono denominate "ODBC generico", che è un modo molto più accurato di pensare alla differenza.
La guida completa alle personalizzazioni TDC, con tutte le opzioni, è disponibile qui anche se è una lettura piuttosto densa. Una cosa che non viene fornita è un esempio di personalizzazione di un "connettore nativo". La struttura di base di un file TDC è questo
<?xml version='1.0' encoding='utf-8' ?>
<connection-customization class='genericodbc' enabled='true' version='7.7'>
<vendor name='' />
<driver name='' />
<customizations>
</customizations>
</connection-customization>
Quando si utilizza “ODBC generico”, la classe è “genericodbc” e poi il nome del fornitore e il driver deve essere specificata in modo che Tableau può sapere quando il file PMS dovrebbe essere applicato. È molto più semplice per un connettore nativo: basta usare il nome del connettore nativo in tutte e tre le posizioni. La grande lista di nomi di connettori nativi è alla fine di questo articolo. Fortunatamente per noi, Vertica viene semplicemente definita "vertica". Così il nostro quadro Vertica TDC sarà simile:
<?xml version='1.0' encoding='utf-8' ?>
<connection-customization class='vertica' enabled='true' version='7.7'>
<vendor name='vertica' />
<driver name='vertica' />
<customizations>
</customizations>
</connection-customization>
Questo è un buon inizio, ma abbiamo bisogno di alcuni tag di personalizzazione effettivi per provocare qualsiasi cosa accada. Per la documentazione, per aggiungere ulteriori elementi alla stringa di connessione ODBC, usiamo un tag chiamato 'odbc-connect-string-extras'.Sembrerebbe
<customization name='odbc-connect-string-extras' value='ResultBufferSize=0;' />
Una cosa importante che abbiamo scoperto è che tutti gli extra di connessione ODBC devono essere in questo tag singolo. Poiché volevamo attivare il bilanciamento del carico nel cluster Vertica, era consigliato un secondo parametro: ConnectionLoadBalance = 1. Per ottenere entrambi questi parametri nel luogo, il metodo modo corretto è
<customization name='odbc-connect-string-extras' value='ResultBufferSize=0;ConnectionLoadBalance=1;' />
ci sono tutta una serie di altre personalizzazioni si può mettere a posto per vedere come influenzano le prestazioni. Assicurati di aver compreso il modo in cui è stata formulata l'opzione di personalizzazione, se inizia con "SUPRESS", quindi il valore "sì" disattiverà la funzione; altre volte si desidera impostare il valore su "no" per disattivare la funzione. Alcune delle altre quelle che abbiamo provato erano
<customization name='CAP_SUPPRESS_DISCOVERY_QUERIES' value='yes' />
<customization name='CAP_ODBC_METADATA_SUPPRESS_PREPARED_QUERY' value='yes' />
<customization name='CAP_ODBC_METADATA_SUPPRESS_SELECT_STAR' value='yes' />
<customization name='CAP_ODBC_METADATA_SUPPRESS_EXECUTED_QUERY' value='yes' />
<customization name='CAP_ODBC_METADATA_SUPRESS_SQLSTATISTICS_API' value='yes' />
<customization name= 'CAP_CREATE_TEMP_TABLES' value='no' />
<customization name= 'CAP_SELECT_INTO' value='no' />
<customization name= 'CAP_SELECT_TOP_INTO' value='no' />
La prima serie erano per lo più di ridurre il numero di query per il rilevamento dei metadati, mentre la seconda serie dire Tableau di non utilizzare le tabelle TEMP.
Il modo migliore per vedere i risultati di queste personalizzazioni è modificare il file TDC e riavviare Tableau Desktop Una volta che si è soddisfatti delle modifiche, spostare il file TDC sul server Tableau e riavviarlo.
Dove mettere i file TDC
Per la documentazione”
Per Tableau desktop su Windows: Documenti \ Tableau repository \ Datasources Per Tableau Server: Program Files \ Tableau \ Tableau Server \ \ bin Nota: il file deve essere salvato con un'estensione .tdc, ma il nome non ha importanza “
Se si esegue un cluster Tableau Server, il file .tdc deve essere posizionato su ogni nodo dei lavoratori in. bin folde r in modo che il processo vizqlserver possa trovarlo. Ho anche evidenziato il problema più grande di tutti: dovresti modificarli usando un vero editor di testo come Notepad ++ o SublimeText anziché Notepad, perché a Blocco note piace salvare le cose con un finale .TXT nascosto e il file TDC verrà riconosciuto solo se il finale è veramente .tdc, non .tdc.txt.
Solo un pensiero: se non mi sbaglio, tableau usa ODBC, e c'è un parametro Threading nella configurazione ODBC (almeno sotto Linux). Se esiste, potrebbe aiutare a impostarlo? – Guillaume
Non sono sicuro, la mia comprensione è stata se la connessione dati non è elencata in connessioni native tableau, quindi possiamo usare ODBC per connettere datastore SQL. Per favore correggimi se ho sbagliato questo. Ma lasciatemi provare anche questo come menzionato [collegamento] (http://kb.tableausoftware.com/articles/knowledgebase/customizing-odbc-connections) – roy
Qualsiasi aiuto su questo per favore? – roy