Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Conformità
Versione introdotta: Conformità agli standard ODBC 3.0: ISO 92
Sommario
SQLGetEnvAttr restituisce l'impostazione corrente di un attributo dell'ambiente.
Sintassi
SQLRETURN SQLGetEnvAttr(
SQLHENV EnvironmentHandle,
SQLINTEGER Attribute,
SQLPOINTER ValuePtr,
SQLINTEGER BufferLength,
SQLINTEGER * StringLengthPtr);
Arguments
EnvironmentHandle
[Input] Controllo ambientale.
Attributo
[Input] Attribuisce per recuperare.
ValuePtr
[Output] Puntatore a un buffer in cui restituire il valore corrente dell'attributo specificato da Attributo.
Se ValuePtr è NULL, StringLengthPtr restituirà comunque il numero totale di byte (escluso il carattere di null-termination per i dati del carattere) disponibili nel buffer indicato da ValuePtr.
BufferLength
[Input] Se ValuePtr punta a una stringa di caratteri, questo argomento dovrebbe essere della lunghezza di *ValuePtr. Se *ValuePtr è un intero, BufferLength viene ignorato. Se *ValuePtr è una stringa Unicode (quando si chiama SQLGetEnvAttrW), l'argomento BufferLength deve essere un numero pari. Se il valore dell'attributo non è una stringa di carattere, BufferLength non viene utilizzato.
StringLengthPtr
[Output] Un puntatore a un buffer in cui restituire il numero totale di byte (escluso il carattere di terminazione nulla) disponibili da restituire in *ValuePtr. Se il valore dell'attributo è una stringa di caratteri e il numero di byte disponibili da restituire è maggiore o uguale a BufferLength, i dati in *ValuePtr vengono troncati a BufferLength meno la lunghezza di un carattere di null-termination e vengono terminati null dal driver.
Returns
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_NO_DATA, SQL_ERROR o SQL_INVALID_HANDLE.
Diagnostica
Quando SQLGetEnvAttr restituisce SQL_ERROR o SQL_SUCCESS_WITH_INFO, un valore SQLSTATE associato può essere ottenuto chiamando SQLGetDiagRec con un HandleType di SQL_HANDLE_ENV e un Handle di EnvironmentHandle. La tabella seguente elenca i valori SQLSTATE comunemente restituiti da SQLGetEnvAttr e spiega ciascuno nel contesto di questa funzione; la notazione "(DM)" precede le descrizioni degli stati SQL restituite dal Driver Manager. Il codice restituito associato a ogni valore SQLSTATE è SQL_ERROR, a meno che non sia specificato diversamente.
| SQLSTATE | Error | Description |
|---|---|---|
| 01000 | Avviso generale | Messaggio informativo specifico del driver. (La funzione restituisce SQL_SUCCESS_WITH_INFO. |
| 01004 | Dati stringa, troncati a destra | I dati restituiti in *ValuePtr sono stati troncati per essere BufferLength meno il carattere di terminazione nulla. La lunghezza del valore della stringa non runcata viene restituita in *StringLongPtr. (La funzione restituisce SQL_SUCCESS_WITH_INFO. |
| HY000 | Errore generale | Si è verificato un errore per il quale non è stato specificato SQLSTATE e per il quale non è stato definito alcun SQLSTATE specifico dell'implementazione. Il messaggio di errore restituito da SQLGetDiagRec nel buffer *MessageText descrive l'errore e la relativa causa. |
| HY001 | Errore di allocazione della memoria | Il driver non è riuscito ad allocare memoria necessaria per supportare l'esecuzione o il completamento della funzione. |
| HY010 | Errore della sequenza di funzioni | (DM) SQL_ATTR_ODBC_VERSION non è ancora stato impostato tramite SQLSetEnvAttr. Non è necessario impostare SQL_ATTR_ODBC_VERSION esplicitamente se si usa SQLAllocHandleStd. |
| HY013 | Errore di gestione della memoria | Impossibile elaborare la chiamata di funzione perché non è stato possibile accedere agli oggetti di memoria sottostanti, probabilmente a causa di condizioni di memoria insufficiente. |
| HY092 | Identificatore di attributo/opzione invalido | Il valore specificato per l'argomento Attributo non era valido per la versione di ODBC supportata dal driver. |
| HY117 | La connessione viene sospesa a causa dello stato sconosciuto della transazione. Sono consentite solo funzioni disconnesse e di sola lettura. | (DM) Per altre informazioni sullo stato sospeso, vedere Funzione SQLEndTran. |
| HYC00 | Funzionalità facoltativa non implementata | Il valore specificato per l'attributo dell'argomento Attributo era valido per l'ambiente ODBC per la versione di ODBC supportata dal driver ma non supportata dal driver. |
| IM001 | Il driver non supporta questa funzione | (DM) Il driver corrispondente all'EnvironmentHandle non supporta la funzione. |
Comments
Per un elenco di attributi, vedi SQLSetEnvAttr. Non ci sono attributi ambientali specifici per il conducente. Se Attribute specifica un attributo che restituisce una stringa, ValuePtr deve essere un puntatore a un buffer in cui restituire la stringa. La lunghezza massima della stringa, incluso il byte di terminazione nulla, sarà byte BufferLength .
SQLGetEnvAttr può essere chiamato in qualsiasi momento tra l'allocazione e il liberamento di un handle di ambiente. Tutti gli attributi dell'ambiente impostati con successo dall'applicazione per l'ambiente persistono fino a quando SQLFreeHandle viene chiamato sull'EnvironmentHandle con un HandleType di SQL_HANDLE_ENV. In ODBC 3*.x*, più handle di ambiente possono essere allocati simultaneamente. Un attributo di ambiente su un ambiente non è influenzato quando un altro ambiente è stato assegnato.
Note
L'attributo SQL_ATTR_OUTPUT_NTS ambiente è supportato da applicazioni conformi agli standard. Quando SQLGetEnvAttr viene chiamato, il Driver Manager ODBC 3*.x* restituisce sempre SQL_TRUE per questo attributo. SQL_ATTR_OUTPUT_NTS può essere impostato per SQL_TRUE solo tramite una chiamata a SQLSetEnvAttr.
Funzioni correlate
| Per informazioni su | Vedi |
|---|---|
| Restituzione dell'impostazione di un attributo di connessione | Funzione SQLGetConnectAttr |
| Restituzione dell'impostazione di un attributo di istruzione | Funzione SQLGetStmtAttr |
| Impostazione di un attributo di connessione | Funzione SQLSetConnectAttr |
| Impostazione di un attributo ambiente | Funzione SQLSetEnvAttr |
| Impostazione di un attributo di istruzione | Funzione SQLSetStmtAttr |