Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration DB2
Nom Défaut Modifiable Historique
ibm_db2.binmode "1" INI_ALL  
ibm_db2.i5_all_pconnect "0" INI_SYSTEM Disponible à partir de ibm_db2 1.6.5.
ibm_db2.i5_allow_commit "0" INI_SYSTEM Disponible à partir de ibm_db2 1.4.9.
ibm_db2.i5_blank_userid "0" INI_SYSTEM Disponible à partir de ibm_db2 1.9.7.
ibm_db2.i5_char_trim "0" INI_SYSTEM Disponible à partir de ibm_db2 2.1.0.
ibm_db2.i5_dbcs_alloc "0" INI_SYSTEM Disponible à partir de ibm_db2 1.5.0.
ibm_db2.i5_guard_profile "0" INI_SYSTEM Disponible à partir de ibm_db2 1.9.7.
ibm_db2.i5_ignore_userid "0" INI_SYSTEM Disponible à partir de ibm_db2 1.8.0.
ibm_db2.i5_job_sort "0" INI_SYSTEM Disponible à partir de ibm_db2 1.8.4.
ibm_db2.i5_log_verbose "0" INI_SYSTEM Disponible à partir de ibm_db2 1.9.7.
ibm_db2.i5_max_pconnect "0" INI_SYSTEM Disponible à partir de ibm_db2 1.9.7.
ibm_db2.i5_override_ccsid "0" INI_SYSTEM Disponible à partir de ibm_db2 1.9.7.
ibm_db2.i5_servermode_subsystem NULL INI_SYSTEM Disponible à partir de ibm_db2 1.9.7.
ibm_db2.i5_sys_naming "0" INI_SYSTEM Disponible à partir de ibm_db2 1.9.7.
ibm_db2.instance_name NULL INI_SYSTEM Disponible à partir de ibm_db2 1.0.2.

Voici un éclaircissement sur l'utilisation des directives de configuration.

ibm_db2.binmode (int)

Cette option contrôle le mode utilisé pour convertir à partir ou vers les données binaires dans l'application PHP.

  • 1 (DB2_BINARY)

  • 2 (DB2_CONVERT)

  • 3 (DB2_PASSTHRU)

ibm_db2.i5_all_pconnect (int)

Cette option force toutes les connexions à être persistantes sur IBM i. Fondamentalement, tous les appels à db2_connect() deviennent automatiquement des appels à db2_pconnect(). Par défaut, cette option est 0. Cette option est fournie pour des raisons de commodité dans les cas où les connexions persistantes sont plus rapides. Elle ne devrait pas être utilisée dans de nouvelles applications.

  • 0 - Les connexions persistantes et non persistantes peuvent être établies.

  • 1 - Toutes les connexions sont persistantes.

ibm_db2.i5_allow_commit int

Cette option contrôle le mode d'isolation de la transaction utilisé. Par défaut, cette option est 0, donc le contrôle d'engagement n'est pas utilisé. Cette option peut être remplacée lors de la connexion si la clé de tableau i5_commit est définie dans le tableau d'options de connexion passé à db2_connect() ou db2_pconnect().

  • 0 - contrôle d'envoie n'est pas utilisé.

  • 1 - lire non envoyé, lecture sale possible.

  • 2 - lire envoyé, lecture sale impossible.

  • 3 - lecture répététable, lecture sale et lecture non répétable sont impossible.

  • 4 - sérialisable, lecture sale, lecture non répétabl, et phantôme sont impossible.

ibm_db2.i5_blank_userid int

Cela contrôle si un identifiant utilisateur vide doit être autorisé sur IBM i. Par défaut, cette option est 0. Contrairement à ibm_db2.i5_ignore_userid, cette option ne force pas tous les identifiants d'utilisateur à être vides ou à modifier le comportement du travail, mais permet simplement de passer un identifiant d'utilisateur vide, pour se connecter à Db2 en tant qu'utilisateur actuel.

  • 0 - Ne permet pas de passer un identifiant utilisateur vide.

  • 1 - Permet de passer un identifiant utilisateur vide.

ibm_db2.i5_char_trim int

Cette option contrôle si la fin des chaînes est tronquée sur IBM i. Étant donné que de nombreuses tables utilisent des tailles de colonnes fixes remplies d'espaces, cela est fourni par commodité. Par défaut, cette option est 0.

  • 0 - Les colonnes ne sont pas tronquées.

  • 1 - Les espaces à la fin des colonnes de caractères retournées sont supprimés.

ibm_db2.i5_dbcs_alloc (int)

Cette option affecte la stratégie d'allocation de mémoire tampon interne sur IBM i. Par défaut, cette option est 0. Lorsque cette option est définie, les tampons sont alloués avec une taille beaucoup plus grande, au cas où la base de données sous-estimerait la taille d'une chaîne lors de la conversion entre les encodages. Cette option utilise six fois plus de mémoire pour les tampons (pour prendre en compte les séquences UTF-8 les plus grandes possibles), mais peut être nécessaire si des données tronquées sont renvoyées.

  • 0 - Des tampons de taille minimale sont alloués.

  • 1 - Des tampons de taille plus grande sont alloués.

ibm_db2.i5_guard_profile int

Cette option vérifie si le profil utilisateur de la base de données a été changé lors de la connexion à une connexion de base de données persistante sur IBM i, et si c'est le cas, elle se déconnecte de la base de données. Par défaut, cette option est définie sur 0.

  • 0 - Ne pas vérifier les changements de profil.

  • 1 - Vérifier les changements de profil et se déconnecter le cas échéant.

ibm_db2.i5_log_verbose int

Cette option définit si les messages diagnostiques SQL tels que les avertissements et les erreurs sont toujours envoyés dans le journal d'erreurs PHP sur IBM i. Normalement, seul un bref message en cas d'échec est envoyé (tel que "l'exécution de la déclaration a échoué") dans le journal d'erreurs PHP, car cette option est définie sur 0 par défaut. Notez que vous pouvez toujours et devriez appeler, par exemple, db2_stmt_errormsg() manuellement pour vérifier si les fonctions échouent.

  • 0 - Ne journalise que des messages brefs.

  • 1 - Journalise le message diagnostique SQL en plus du message bref.

ibm_db2.i5_ignore_userid (int)

Cette option ignore l'ID utilisateur lors de la connexion à la base de données lors de l'exécution sur IBM i, et exécute la fonctionnalité SQL/CLI à l'intérieur du travail PHP, au lieu d'un travail séparé. Par défaut, cette option est 0. Lorsqu'elle est activée, elle n'utilise plus un travail de serveur de base de données séparé, et utilise toujours le profil utilisateur actuel pour la base de données, ignorant le nom d'utilisateur et le mot de passe transmis à db2_connect() et db2_pconnect().

  • 0 : db2_(p)connect avec un identifiant utilisateur et un mot de passe spécifique 0 - Utilise les informations d'identification spécifiées et utilise un travail de serveur SQL/CLI.

  • 1 : db2_(p)connect avec un identifiant utilisateur et un mot de passe vide 1 - Utilise toujours des informations d'identification vides et exécute SQL/CLI dans le travail PHP.

ibm_db2.i5_job_sort int

Contrôle l'option de tri des travaux sur IBM i. Par défaut, cette option est 0. Cela correspond à l'attribut SQL_ATTR_CONN_SORT_SEQUENCE d'IBM i SQL/CLI.

  • 0 - Utilise l'option de tri *HEX, triant par octets.

  • 1 - Utilise la séquence de tri de travail définie pour le travail PHP.

  • 2 - Utilise la séquence de tri de travail définie pour le travail de base de données.

ibm_db2.i5_max_pconnect int

Cela affectera combien de fois une connexion persistante peut être réutilisée lors de l'exécution sur IBM i. Par défaut, cela est réglé sur 0, ce qui signifie qu'une connexion persistante peut toujours être réutilisée. Cette option peut aider à contourner les problèmes dans un travail de base de données de longue durée (c'est-à-dire si une procédure perd de la mémoire), mais n'est évidemment pas une solution à long terme.

ibm_db2.i5_override_ccsid int

Le CCSID PASE à utiliser pour les conversions de caractères d'EBCDIC sur IBM i. Par défaut, c'est 0, ce qui sélectionnera le CCSID de travail PASE par défaut, provenant des paramètres de localisation PASE. Par exemple, en le réglant sur 1208, on utilisera l'UTF-8. Cela ne doit être modifié que si le CCSID du travail PASE n'est pas le CCSID attendu, et que la localisation ne peut pas être modifiée.

Pour en savoir plus sur les CCSID sur IBM i, consultez la » documentation IBM. Pour savoir comment les localisations sur IBM i PASE sont mappées sur les CCSID, consultez la » documentation IBM.

ibm_db2.i5_sys_naming int

Cette option contrôle le mode de nommage lors de la connexion à un système IBM i. Par défaut, cette option est 0. Le mode de nommage affecte la résolution des noms et la syntaxe autorisée pour les noms. Lorsqu'il est réglé sur 0, cela utilise des points pour qualifier les noms et utilise la bibliothèque ou l'ID utilisateur par défaut pour résoudre les noms. Lorsqu'il est réglé sur 1, cela utilise des barres obliques pour qualifier les noms et utilise la liste de bibliothèques de travail pour résoudre les noms.

  • 0 - Utilise le mode de nommage SQL ("SCHEMA.TABLE").

  • 1 - Utilise le mode de nommage système ("LIBRARY/FILE").

Pour en savoir plus sur les modes de nommage sur IBM i, consultez la » documentation IBM.

ibm_db2.i5_servermode-subsystem string

Cette option modifie le sous-système sous lequel les travaux du serveur de base de données s'exécutent sur IBM i. Par défaut, cette option est null, donc les travaux s'exécuteront sous le sous-système par défaut pour les travaux QSQSRVR.

ibm_db2.instance_name string

Sur les systèmes d'exploitation Linux et UNIX, cette option définit le nom de l'instance à utiliser pour les connexions de base de données cataloguées. Par défaut, cette option est null. Si cette option est définie, sa valeur remplace le réglage de la variable d'environnement DB2INSTANCE.

Cette option est ignorée sur les systèmes d'exploitation Windows.

add a note add a note

User Contributed Notes 2 notes

up
1
yoshida at zend dot co dot jp
13 years ago
The explanation of ibm_db2.i5_dbcs_alloc seems to be hard to understand for me.

In ibm_db2 extension inside, 6 times length of string column is allocated if i5_dbcs_alloc value is 1.
The allocated area is used for conversion between UTF-8 and EBCDIC character encodings.

By the definition of UTF-8, letter length can need 6 bytes at the maximum.

Note:
In the case of a long column, allocated size may be beyond the upper limit defined in DB2 because original column is made by 6 times.  It can cause result data becomes null.
up
0
Satoru Yoshida
11 years ago
The explanation of ibm_db2.i5_allow_commit seems to be slightly difficult to understand for me.

I think it would be better to replace "no commit" with "can not use commitment control" or "do not allow transaction", and "allow commit" would be changed into
"can use commitment control" or "allow transaction" , Thanks.
To Top