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