Driver ODBC 12.4 - Fixed bugs (3) Reference ACI0069244 Date 24
Transcription
Driver ODBC 12.4 - Fixed bugs (3) Reference ACI0069244 Date 24
Driver ODBC 12.4 - Fixed bugs (3) Reference ACI0069244 Date Product Driver ODBC Status Version 12.4 Summary Platform 24 janvier, 2012 Fixed and shipped Windows Requêtes SQL paramétrées rejetées dans MS Query Avec 4D ODBC Driver v12.3, si vous appelez des requêtes SQL paramétrées dans MS Query, comme la requête SQL décrite ci-dessous, la requête SQL est rejetée avec une erreur "Server rejected the connection : failded to parse statement". Le modèle d'une telle requête est : Description ************ SELECT MyTable.MyID, MyTable.MyName FROM MyTable MyTable WHERE (MyTable.MyID>=[param]) ************ Note : [param] est renseigné d'une valeur par l'utilisateur dans une fenêtre de saisie. Ce problème est corrigé dans 4D ODBC Driver v12.4 Reference ACI0071666 Date Product Driver ODBC Status Version 12.4 Summary Platform 9 février, 2012 Fixed and shipped Windows Lecture de champ BLOB 4D avec PHP Pour pouvoir lire et écrire dans un champ 4D de type BLOB à partir de PHP, le département d'ingénierie a dû procéder à plusieurs implémentations successives, dans le driver ODBC de 4D v12 : - implémentation de SQLDescribeParam - support des données de type BLOB - utilisation du type SQL_Char au format Hexadécimal pour échanger des données de type BLOB ou IMAGE entre PHP et 4D - support de la syntaxe X'<datas>' Ces implémentations permettent aujourd'hui, à partir de PHP, de : - lire un champ 4D de type BLOB - écrire/mettre à jour un champ 4D de type BLOB Description Pour cela il est nécessaire que le driver ODBC utilise le format Hexadécimal pour échanger des données de type BLOB entre 4D et PHP. Ce fonctionnement ne change pas la manière de stocker les blobs dans 4D. Ces données seront alors récupérées dans ce même format correctement par PHP et pourront alors être stockées dans l'état dans une autre source de données (ou si besoin transformées dans le format de votre choix comme le format binaire par exemple). Important : Il est fortement recommandé d'utiliser des champs 4D de type BLOB pour stocker les données d'une zone de plugin et non un champ de type IMAGE (ou alors il est nécessaire d'utiliser la commande BLOB VERS IMAGE avec le codec spécial ".4DBlob"). Pour info : Les requêtes préparées ne peuvent pas être utilisées avec la syntaxe X'<datas>', car cette dernière fait partie intégrante de la requête, ce n'est pas un paramètre que l'on peut définir à part. Avec cette syntaxe il faudra donc envoyer les requêtes en une seule fois, sans préparation. Par ailleurs, le nombre d'octets pouvant être lu par PHP, par défaut assez bas, doit être configuré, en utilisant la commande "ini_set" : ini_set ( 'odbc.defaultlrl' , '65536' ) pour avoir une taille de 65536 octets. Ceci est valable avec les versions 12.4 et la 13.1 Reference ACI0075116 Date Product Driver ODBC Status Version 12.4 Summary Description Platform 27 janvier, 2012 Fixed and shipped Windows Requête sur le champ Heure depuis MS Query Une requête sur le type Heure de 4D depuis MS Query, aboutit à un crash de MS Query. Bien que le crash ait été corrigé, les requêtes sur le type Heure ne sont pas supportées depuis MS Query uniquement et n'aboutissent donc pas. Cette correction est présente dans 4D 12.4