Description:
I suppose I have a problem with Driver JDBC mysql-connector-java-5.1.7-bin.jar
I am receiving SQL exception from a java application running on JBOSS like this:
activityId:--
vers:--undefined--
java.sql.SQLException: Unknown type '246 in column 10 of 24 in binary-encoded result set.
javax.ejb.EJBException: java.sql.SQLException: Unknown type '246 in column 10 of 24 in binary-encoded result set.
at it.osra.next.server.mod730_4.FornituraBean.ejbLoad(FornituraBean.java:436)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
The query the java application is trying to do when the error occurs is the following:
227910 Prepare SELECT IDFORNITURA, ANNOFISC, DESCRIZIONE, IDINTERMED, IDSEDEPER, IDSOSTITUTO, TIPO, RETTIFICATIVO, INTEGRATIVO, STATO, TRATTENERE, RIMBORSARE, FORNITURA, DATARICEVUTA, DATAELABORAZIONE, IDGRPPD, IDUTENTEPR, IDUTENTEINS, DATAINS, IDUTENTEVAR, DATAVAR, CHECKSUM, ESITO, DATANOTIFICA FROM FORNITURA WHERE IDFORNITURA = ?
090313 14:09:30227910 Close stmt
227910 Query SET autocommit=0
The table is:
(root@localhost) [DBNAMEutf8] 5.1.31-community-log MASTER>show create table FORNITURA\G
*************************** 1. row ***************************
Table: FORNITURA
Create Table: CREATE TABLE `FORNITURA` (
`IDFORNITURA` int(11) NOT NULL AUTO_INCREMENT,
`ANNOFISC` int(11) NOT NULL,
`IDINTERMED` int(11) NOT NULL,
`IDSEDEPER` int(11) DEFAULT NULL,
`IDSOSTITUTO` int(11) DEFAULT NULL,
`TIPO` enum('C','T') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'C',
`RETTIFICATIVO` enum('N','S') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'N',
`INTEGRATIVO` enum('N','S') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'N',
`STATO` enum('C','L','E','R') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'C',
`TRATTENERE` decimal(16,2) NOT NULL DEFAULT '0.00',
`RIMBORSARE` decimal(16,2) NOT NULL DEFAULT '0.00',
`FORNITURA` longblob,
`DATARICEVUTA` date DEFAULT NULL,
`DATAELABORAZIONE` datetime DEFAULT NULL,
`IDGRPPD` int(11) NOT NULL,
`IDUTENTEPR` int(11) NOT NULL,
`IDUTENTEINS` int(11) NOT NULL,
`DATAINS` datetime NOT NULL,
`IDUTENTEVAR` int(11) DEFAULT NULL,
`DATAVAR` datetime DEFAULT NULL,
`DESCRIZIONE` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`CHECKSUM` bigint(20) unsigned NOT NULL DEFAULT '0',
`ESITO` longblob,
`DATANOTIFICA` datetime DEFAULT NULL,
PRIMARY KEY (`IDFORNITURA`),
KEY `IX_FORNITURA_IDINTERMED` (`IDINTERMED`),
KEY `IX_FORNITURA_IDSEDEPER` (`IDSEDEPER`),
KEY `IX_FORNITURA_IDSOSTITUTO` (`IDSOSTITUTO`),
KEY `IX_FORNITURA_IDGRPPD` (`IDGRPPD`),
KEY `IX_FORNITURA_IDUTENTEPR` (`IDUTENTEPR`),
KEY `IX_FORNITURA_IDUTENTEINS` (`IDUTENTEINS`),
KEY `IX_FORNITURA_IDUTENTEVAR` (`IDUTENTEVAR`),
CONSTRAINT `0_495` FOREIGN KEY (`IDINTERMED`) REFERENCES `INTERMEDIARIO` (`IDINTERMED`),
CONSTRAINT `0_497` FOREIGN KEY (`IDSEDEPER`) REFERENCES `SEDE` (`IDSEDE`),
CONSTRAINT `0_499` FOREIGN KEY (`IDSOSTITUTO`) REFERENCES `PERSONA` (`IDPERS`),
CONSTRAINT `0_501` FOREIGN KEY (`IDGRPPD`) REFERENCES `GRPPROTDATI` (`IDGRPPD`),
CONSTRAINT `0_503` FOREIGN KEY (`IDUTENTEPR`) REFERENCES `UTENTE` (`IDUTENTE`),
CONSTRAINT `0_505` FOREIGN KEY (`IDUTENTEINS`) REFERENCES `UTENTE` (`IDUTENTE`),
CONSTRAINT `0_507` FOREIGN KEY (`IDUTENTEVAR`) REFERENCES `UTENTE` (`IDUTENTE`)
) ENGINE=InnoDB AUTO_INCREMENT=23567 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
1 row in set (0.00 sec)
How to repeat:
Create the table `FORNITURA` on mysql 5.1.31-community-log.
Insert something into `FORNITURA`.
Use the Driver JDBC mysql-connector-java-5.1.7-bin.jar.
Deploy a java application on JBOSS that try to esecute the prepared statement:
SELECT IDFORNITURA, ANNOFISC, DESCRIZIONE, IDINTERMED, IDSEDEPER, IDSOSTITUTO, TIPO, RETTIFICATIVO, INTEGRATIVO, STATO, TRATTENERE, RIMBORSARE, FORNITURA, DATARICEVUTA, DATAELABORAZIONE, IDGRPPD, IDUTENTEPR, IDUTENTEINS, DATAINS, IDUTENTEVAR, DATAVAR, CHECKSUM, ESITO, DATANOTIFICA FROM FORNITURA WHERE IDFORNITURA = ?