Esko Logo Back to Esko Support
Choose your language for a machine translation:

 

Summary

Issue with MySQL database connections returning NULL for fields of type VARCHAR and TEXT. Our Esko Server is using ODBC driver 5.2w connecting to a MySQL 5.5.41 database.

Example XML:
 <rows created="2015-03-30T15:58:51.393-04:00" producer="sqlexec" 
select="SELECT * FROM WorkUnits WHERE wuID = 1" 
startrec="1"><row><c n="wuID">1</c><c 
n="isReady">1</c><c isNull="1" n="projectNumber"/><c 
isNull="1" n="cfNumber"/><c 
n="wuType_wuTypeID">0</c><c 
n="priorities_priorityID">0</c><c 
n="isFinalArt">1</c><c 
n="visibility_visibilityID">0</c><c 
n="publicDate">2013-07-11T00:00:00.000-04:00</c><c 
n="loadToFlo">1</c><c n="lockID">1</c><c 
n="wuState_stateID">1</c><c 
n="assetStatus">1</c><c 
n="primaryInputFileId">3</c><c 
n="product_id">13</c></row></rows>

Example query output from Sequel Pro shows the expected return values.

Automation Engine sees the query in the example (SELECT * FROM WorkUnits WHERE wuID = 1) as given below:

<?xml version="1.0" encoding="UTF-8"?>

<rows created="2015-03-30T15:58:51.393-04:00" producer="sqlexec"

select="SELECT * FROM WorkUnits WHERE wuID = 1" startrec="1">

<row>

<c n="wuID">1</c>

<c n="isReady">1</c>

<c isNull="1" n="projectNumber"/>

<c isNull="1" n="cfNumber"/>

<c n="wuType_wuTypeID">0</c>

<c n="priorities_priorityID">0</c>

<c n="isFinalArt">1</c>

<c n="visibility_visibilityID">0</c>

<c n="publicDate">2013-07-11T00:00:00.000-04:00</c>

<c n="loadToFlo">1</c>

<c n="lockID">1</c>

<c n="wuState_stateID">1</c>

<c n="assetStatus">1</c>

<c n="primaryInputFileId">3</c>

<c n="product_id">13</c>

</row>

</rows>
The VARCHAR fields projectNumber and cfNumber are showing up as NULL for some reason.

But the expected result is (output from Sequel Pro for example):

{

"data":

[

{

"wuID": 1,

"isReady": 1,

"projectNumber": "094876",

"cfNumber": "888888",

"wuType_wuTypeID": 0,

"priorities_priorityID": 0,

"isFinalArt": 1,

"visibility_visibilityID": 0,

"publicDate": "2013-07-11 00:00:00",

"loadToFlo": 1,

"lockID": 1,

"wuState_stateID": 1,

"assetStatus": 1,

"primaryInputFileId": 3,

"product_id": 13

}

]

}
The VARCHAR fields projectNumber and cfNumber are outputting their data. Anything that isn't field type VARCHAR or TEXT seems to work fine.

This is the create syntax for this particular table:

CREATE TABLE `WorkUnits` (
`wuID` int(11) NOT NULL AUTO_INCREMENT,
`isReady` tinyint(1) NOT NULL DEFAULT '0',
`projectNumber` varchar(45) DEFAULT NULL,
`cfNumber` varchar(45) DEFAULT NULL,
`wuType_wuTypeID` int(11) DEFAULT NULL,
`priorities_priorityID` int(11) NOT NULL DEFAULT '0',
`isFinalArt` tinyint(1) NOT NULL DEFAULT '1',
`visibility_visibilityID` int(11) DEFAULT NULL,
`publicDate` timestamp NULL DEFAULT NULL,
`loadToFlo` tinyint(1) NOT NULL DEFAULT '1',
`lockID` int(3) DEFAULT NULL,
`wuState_stateID` int(11) NOT NULL,
`assetStatus` int(11) NOT NULL DEFAULT '1',
`primaryInputFileId` int(11) DEFAULT NULL,
`product_id` int(11) DEFAULT NULL,
PRIMARY KEY (`wuID`),
KEY `fk_WorkUnits_Priorities1` (`priorities_priorityID`),
KEY `fk_WorkUnits_Visibility1` (`visibility_visibilityID`),
KEY `fk_WorkUnits_wuType1` (`wuType_wuTypeID`),
KEY `fk_WorkUnits_WuState1` (`wuState_stateID`),
KEY `fk_WorkUnits_assetStatus1_idx` (`assetStatus`),
KEY `fk_WorkUnits__idx` (`primaryInputFileId`),
KEY `fk_WorkUnits_productId1_idx` (`product_id`),
CONSTRAINT
 `fk_WorkUnits_assetStatus1` FOREIGN KEY (`assetStatus`) REFERENCES 
`AssetStatus` (`idAssetStatus`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT
 `fk_WorkUnits_InputFiles1` FOREIGN KEY (`primaryInputFileId`) 
REFERENCES `inputfiles` (`ifID`) ON DELETE NO ACTION ON UPDATE NO 
ACTION,
CONSTRAINT `fk_WorkUnits_Priorities1` FOREIGN KEY 
(`priorities_priorityID`) REFERENCES `Priority` (`priorityID`) ON DELETE
 NO ACTION ON UPDATE NO ACTION,
CONSTRAINT 
`fk_WorkUnits_productId1` FOREIGN KEY (`product_id`) REFERENCES 
`Products` (`productID`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT
 `fk_WorkUnits_Visibility1` FOREIGN KEY (`visibility_visibilityID`) 
REFERENCES `Visibility` (`visibilityID`) ON DELETE NO ACTION ON UPDATE 
NO ACTION,
CONSTRAINT `fk_WorkUnits_WuState1` FOREIGN KEY 
(`wuState_stateID`) REFERENCES `WuState` (`stateID`) ON DELETE NO ACTION
 ON UPDATE NO ACTION,
CONSTRAINT `fk_WorkUnits_wuType1` FOREIGN 
KEY (`wuType_wuTypeID`) REFERENCES `wuType` (`wuTypeID`) ON DELETE NO 
ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=1670 DEFAULT CHARSET=utf8;

Solution

Updated the ODBC driver and got it working with the ANSI driver. It was not cooperating with the Unicode.

For more information, see: http://bugs.mysql.com/bug.php?id=44935

Article information
Applies to

Automation Engine 14.x

Created01-Apr-15
Last revised 
AuthorKNB
CW Number296629
Contents