Condividi tramite


Funzione SQLGetTranslator

Conformità
Versione introdotta: ODBC 2.0

Riepilogo
SQLGetTranslator visualizza una finestra di dialogo da cui un utente può selezionare un traduttore.

Sintassi

  
BOOL SQLGetTranslator(  
     HWND      hwndParent,  
     LPSTR     lpszName,  
     WORD      cbNameMax,  
     WORD *    pcbNameOut,  
     LPSTR     lpszPath,  
     WORD      cbPathMax,  
     WORD *    pcbPathOut,  
     DWORD *   pvOption);  

Argomenti

hwndParent
[Input] Handle della finestra padre.

lpszName
[Input/Output] Nome del traduttore dalle informazioni di sistema.

cbNameMax
[Input] Lunghezza massima del buffer lpszName .

pcbNameOut
[Input/Output] Numero totale di byte (escluso il byte di terminazione Null) passato o restituito in lpszName. Se il numero di byte disponibili per restituire è maggiore o uguale a cbNameMax, il nome del traduttore in lpszName viene troncato a cbNameMax meno il carattere di terminazione null. L'argomento pcbNameOut può essere un puntatore Null.

lpszPath
[Output] Percorso completo della DLL di traduzione.

cbPathMax
[Input] Lunghezza massima del buffer lpszPath .

pcbPathOut
[Output] Numero totale di byte (escluso il byte di terminazione Null) restituito in lpszPath. Se il numero di byte disponibili per la restituzione è maggiore o uguale a cbPathMax, il percorso della DLL di conversione in lpszPath viene troncato a cbPathMax meno il carattere di terminazione null. L'argomento pcbPathOut può essere un puntatore Null.

pvOption
[Output] Opzione di conversione a 32 bit.

Resi

La funzione restituisce TRUE se ha esito positivo, FALSE se ha esito negativo o se l'utente annulla la finestra di dialogo.

Diagnostica

Quando SQLGetTranslator restituisce FALSE, è possibile ottenere un valore *pfErrorCode associato chiamando SQLInstallerError. Nella tabella seguente sono elencati i valori *pfErrorCode che possono essere restituiti da SQLInstallerError e spiega ognuno nel contesto di questa funzione.

*pfErrorCode Errore Descrizione
ODBC_ERROR_GENERAL_ERR Errore generale del programma di installazione Si è verificato un errore per il quale non si è verificato un errore specifico del programma di installazione.
ODBC_ERROR_INVALID_BUFF_LEN Lunghezza del buffer non valida L'argomento cbNameMax o cbPathMax è minore o uguale a 0.
ODBC_ERROR_INVALID_HWND Handle di finestra non valido L'argomento hwndParent non è valido o NULL.
ODBC_ERROR_INVALID_NAME Driver o nome traduttore non valido L'argomento lpszName non è valido. Non è stato trovato nel Registro di sistema.
ODBC_ERROR_LOAD_LIBRARY_FAILED Impossibile caricare il driver o la libreria di installazione del traduttore Impossibile caricare la libreria di traduzione.
ODBC_ERROR_INVALID_OPTION Opzione di transazione non valida L'argomento pvOption contiene un valore non valido.
ODBC_ERROR_OUT_OF_MEM Memoria insufficiente Il programma di installazione non è riuscito a eseguire la funzione a causa di una mancanza di memoria.

Commenti

Se hwndParent è null o se lpszName, lpszPath o pvOption è un puntatore Null, SQLGetTranslator restituisce FALSE. In caso contrario, viene visualizzato l'elenco dei traduttori installati nella finestra di dialogo seguente.

Select Translator dialog box

Se lpszName contiene un nome di traduttore valido, viene selezionato. In caso contrario, <non è selezionato Alcun traduttore> .

Se l'utente sceglie <No Translator>, il contenuto di lpszName, lpszPath e pvOption non viene toccato. SQLGetTranslator imposta pcbNameOut e pcbPathOut su 0 e restituisce TRUE.

Se l'utente sceglie un traduttore, SQLGetTranslator chiama ConfigTranslator nella DLL di installazione del traduttore. Se ConfigTranslator restituisce FALSE, SQLGetTranslator torna alla relativa finestra di dialogo. Se ConfigTranslator restituisce TRUE, SQLGetTranslator restituisce TRUE, insieme all'opzione di traduzione, percorso e traduzione selezionata.

Per informazioni su Vedere
Configurazione di un traduttore ConfigTranslator
Recupero di un attributo di traduzione SQLGetConnectAttr
Impostazione di un attributo di conversione SQLSetConnectAttr