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.
Compatibilità della piattaforma
Conversioni delle pagine codice
Il provider di dati supporta una combinazione di set di caratteri a byte singolo (SBCS), set di caratteri a byte misti (MBCS) set di caratteri a byte doppio (DBCS) e Unicode - UTF8 [1208], ovvero un formato di trasformazione Unicode a 8 bit.
Host CCSID
Il provider di dati richiede un valore per il CCSID dell'host (Identificatore del set di caratteri codificati) con cui eseguire conversioni di pagina di codice sui dati stringa. Il valore CCSID host predefinito è Unicode - UTF8 [1208]. In genere, i server di database IBM Informix utilizzano Unicode.
Tabella codici PC
Il provider di dati richiede un valore per il codice pagina del PC con cui eseguire conversioni del codice pagina sui dati stringa. La tabella codici pc predefinita è Unicode - UTF8 [1208]. In genere, i server di database IBM Informix utilizzano Unicode.
Elabora dati binari come caratteri
Il provider di dati effettua automaticamente la conversione tra tipi di dati binari (CCSID 65535) e stringhe di caratteri, a seconda del tipo di dati Informix e del tipo di dati utilizzato dal sistema Windows. La codifica Informix è determinata dal CCSID host. La codifica di Windows è determinata dalla tabella codici del PC.
Mapping dei tipi di dati
In questo argomento vengono descritti tutti i mapping dei tipi di dati ai tipi di dati OLE DB.
Associamento dei tipi di dati Informix a OLE DB
Nella tabella seguente vengono descritti i mapping dei tipi di dati Informix ai tipi di dati OLE DB.
| Tipo di dati OLE DB | Tipo di dati Informix | Descrizione |
|---|---|---|
| DBTYPE_I8 | bigint | Un numero intero grande è un intero binario a 8 byte. |
| DBTYPE_UI8 | bigserial | Intero binario senza segno a 8 byte. |
| DBTYPE_Bytes | massa amorfa | Un oggetto binario di grandi dimensioni è una stringa di lunghezza variabile usata per archiviare dati non testuali o binari. |
| DBTYPE_BOOL | boolean | Un valore booleano è un singolo file binario di byte per archiviare un valore true o false. |
| DBTYPE_Bytes | byte | Un oggetto binario di grandi dimensioni è una stringa di lunghezza variabile usata per archiviare dati non testuali o binari. |
| DBTYPE_STR | Char | Un carattere è una stringa SBCS o MBCS a lunghezza fissa. |
| DBTYPE_STR | Clob | Un oggetto grande carattere di lunghezza variabile è una stringa di lunghezza variabile. |
| DBTYPE_DBDate | date | Una data è una stringa a 10 byte. |
| DBTYPE_DBTimesStamp | datetime | Un timestamp è una stringa a 32 byte che rappresenta la data, l'ora e i microsecondi. |
| DBTYPE_Decimal | decimale | Numero decimale. |
| DBTYPE_R8 | galleggiare | Un float è un numero a virgola mobile a precisione doppia a 8 byte. |
| DBTYPE_I8 | int8 | Un numero intero 8 è un intero binario a 8 byte. |
| DBTYPE_I4 | numero intero | Un numero intero è un intero binario a 4 byte. |
| DBTYPE_DBTimesStamp | interval | Un timestamp è una stringa a 32 byte che rappresenta la data, l'ora e i microsecondi. |
| DBTYPE_STR | lvarchar | Un carattere variabile è una stringa di caratteri di lunghezza variabile. |
| DBTYPE_WSTR | nchar | Stringa Unicode a lunghezza fissa. |
| DBTYPE_WSTR | nvarchar | Stringa Unicode di lunghezza variabile. |
| DBTYPE_R4 | autentico | Un float è un numero a virgola mobile a precisione doppia a 4 byte. |
| DBTYPE_UI4 | seriale | Intero binario senza segno a 4 byte. |
| DBTYPE_UI8 | serial8 | Intero binario senza segno a 8 byte. |
| DBTYPE_R4 | smallfloat | Un numero reale è un numero a virgola mobile a precisione singola con 4 byte. |
| DBTYPE_I2 | SMALLINT | Intero binario a due byte. |
| DBTYPE_STR | text | Un oggetto grande carattere di lunghezza variabile è una stringa di lunghezza variabile. |
| DBTYPE_STR | varchar | Un carattere variabile è una stringa di caratteri di lunghezza variabile. |
Le informazioni sullo schema in OLE DB vengono recuperate usando set di righe dello schema predefiniti con IDBSchemaRowset::GetRowset. Il provider di dati ha esposto il set di righe PROVIDER_TYPES per indicare il supporto del tipo di dati Informix a OLE DB (tipi, mapping, limiti) in base alla versione IBM Informix.
Informix V11
Il provider di dati supporta l'accesso a questi tipi di dati quando si è connessi a Informix V11.
| Informix Type_name | OLE DB tipo di dati | Column_size | Scala_minima | Scala_massima |
|---|---|---|---|---|
| BIGINT | DBTYPE_I8 | 20 | ||
| INT8 | DBTYPE_I8 | 20 | ||
| SERIAL8 | DBTYPE_UI8 | 20 | ||
| BIGSERIAL | DBTYPE_UI8 | 20 | ||
| BOOLEAN | DBTYPE_BOOL | 1 | ||
| BYTE | DBTYPE_BYTES | 2147483647 | ||
| BLOB | DBTYPE_BYTES | 2147483647 | ||
| CHAR | DBTYPE_STR | 32767 | ||
| TESTO | DBTYPE_STR | 2147483647 | ||
| CLOB | DBTYPE_STR | 2147483647 | ||
| DATTERO | DBTYPE_DBDATE | 10 | ||
| DECIMALE | DBTYPE_DECIMAL | 32 | 0 | 32 |
| FLOAT | DBTYPE_R8 | 53 | ||
| NCHAR | DBTYPE_WSTR | 32767 | ||
| INTEGER | DBTYPE_I4 | 10 | ||
| SERIALE | DBTYPE_UI4 | 10 | ||
| SMALLFLOAT | DBTYPE_R4 | 24 | ||
| REALE | DBTYPE_R4 | 24 | ||
| SMALLINT | DBTYPE_I2 | 5 | ||
| DATETIME | DBTYPE_DBTIMESTAMP | 32 | 0 | 12 |
| INTERVAL | DBTYPE_DBTIMESTAMP | 32 | 0 | 12 |
| VARCHAR | DBTYPE_STR | 255 | ||
| LVARCHAR | DBTYPE_STR | 32739 | ||
| NVARCHAR | DBTYPE_WSTR | 255 |
Prestazioni
Questo argomento contiene le sezioni seguenti che consentono di ottimizzare le prestazioni quando si usa il provider di dati per Informix.
Configurazione per le prestazioni
Configurazione per le prestazioni
Per migliorare le prestazioni, configurare i provider nei modi seguenti.
Risorse del provider di pool per ridurre il tempo di avvio della connessione
Il pool di connessioni è un'ottimizzazione lato client che riduce il tempo di avvio della connessione, riducendo al contempo l'utilizzo della memoria nel computer client. Il provider OLE DB supporta il pool di connessioni. È possibile specificare il pooling tramite la stringa di inizializzazione dell'origine dati OLE DB (Connection Pooling=True). È anche possibile configurare il pooling utilizzando la finestra di dialogo Avanzate della Creazione guidata origine dati e la finestra di dialogo Tutti dei collegamenti dati.
Il provider gestisce una cache di connessioni, in base a una proprietà Max Pool Size. La dimensione predefinita del pool è pari a 100 connessioni (Dimensione massima del pool=100), che è possibile modificare usando la finestra di dialogo Tutte della Creazione guidata dell'origine dati o dei collegamenti di dati. Non esiste alcun limite massimo per la proprietà Max Pool Size. Se si configura un valore minore di 0 per la proprietà Max Pool Size, viene utilizzato il valore predefinito 100.
Facoltativamente, è possibile specificare un numero di secondi per indicare al provider di dati di attendere di stabilire connessioni usando il pool lato client. Quando tutte le connessioni in un pool sono in uso e il periodo di timeout scade, il provider di dati restituirà un errore al consumer di dati ("connessione non disponibile"). Il valore predefinito è 15 secondi (Connect Timeout=15), che è possibile modificare usando la finestra di dialogo Tutte della Creazione guidata delle origini dati o collegamenti dati. Non esiste alcun limite massimo per la proprietà Connect Timeout. Specificare -1 per indicare al provider di dati di attendere per un periodo illimitato per una connessione aperta nel pool di connessioni lato client.
Ottimizzare la cache dei set di righe durante il recupero dei dati
La proprietà RowsetCacheSize indica al provider di dati di pre-recuperare righe da Informix durante l'elaborazione simultanea e la restituzione di righe al consumer di dati. Questa funzionalità può migliorare le prestazioni nelle operazioni di sola lettura su larga scala su computer multiprocessore o multicore. Il valore predefinito per questa proprietà è 0 ( RowsetCacheSize=0 ), che indica che la funzionalità di prelettura facoltativa è "off". È consigliabile impostare un valore compreso tra 10 e 100, con un valore consigliato iniziale pari a 10, che è possibile modificare usando la finestra di dialogo Tutte della Creazione guidata origine dati o dei collegamenti dati. Questa proprietà indica al provider di dati di eseguire il pre-recupero fino al numero specificato di batch di righe, archiviati nella cache del set di righe del provider di dati. Le dimensioni dei batch di righe vengono determinate automaticamente in base al valore per cRows nell'interfaccia IRowset::GetNextRows OLE DB specificata dal consumer.
Rinviare la preparazione dei comandi con parametri fino all'esecuzione
Defer Prepare indica al provider di dati di ottimizzare l'elaborazione dei comandi INSERT, UPDATE, DELETE e SELECT con parametri. È possibile specificare questa opzione usando la stringa di inizializzazione dell'origine dati OLE DB ( Defer Prepare=True ). È anche possibile configurare il pooling utilizzando la finestra di dialogo Avanzate della Creazione guidata origine dati e la finestra di dialogo Tutti dei collegamenti dati. Per i comandi INSERT, UPDATE e DELETE, il provider di dati combina i comandi prepare, execute e commit in un flusso di rete al database remoto. Per il comando SELECT, il provider di dati combina i comandi di preparazione ed esecuzione in un unico flusso di rete. Questo riduce al minimo il traffico di rete e migliora spesso le prestazioni complessive.
Timeout dei comandi per interrompere query a lungo termine
Il provider OLE DB per Informix offre una proprietà di timeout del comando per consentire agli sviluppatori di terminare automaticamente query con esecuzione prolungata che potrebbero influire negativamente sulle prestazioni.
Il valore predefinito per il set di righe OLE DB DBPROP_COMMANDTIMEOUT è 0, ovvero nessun timeout. È possibile specificare il valore per il timeout dei comandi da diversi utenti, ad esempio quelli in SQL Server 2008 R2.
Misurazione delle prestazioni
Per misurare le prestazioni, il provider di dati offre contatori delle prestazioni. Per impostazione predefinita, i contatori delle prestazioni sono disattivati. Possono essere attivate modificando il valore della chiave del Registro di sistema seguente su 1:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Host Integration Server\Data Integration\UpdateCounters = 1
I contatori delle prestazioni del provider di dati acquisisce informazioni su connessioni aperte, istruzioni aperte, pacchetti e byte inviati/ricevuti, tempo di elaborazione medio dell'host (server Informix), esecuzioni dei comandi, recupero dei dati e commit/rollback delle transazioni.