| Bug #454 | Error on JDBC/ODBC query | ||
|---|---|---|---|
| Submitted: | 20 May 2003 3:01 | Modified: | 28 Jul 2003 4:37 |
| Reporter: | Giovanni Monferdini | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: InnoDB storage engine | Severity: | S1 (Critical) |
| Version: | 4.1 alpha | OS: | Linux (Linux Red Hat 7.1 (ODBC Win2k)) |
| Assigned to: | Mark Matthews | CPU Architecture: | Any |
[20 May 2003 3:01]
Giovanni Monferdini
[20 May 2003 3:50]
Giovanni Monferdini
the table was altered with TYPE=INNODB
[20 May 2003 5:24]
Alexander Keremidarski
Giovanni, Can you please clarify if this bug is ODBC, and JDBC related or it works same way with command-line client too? Please also include in "How-to-repeat" some data which are enough to denostrate problem and also both "Correct" and "Wrong" results. Now your report say: > Create this table and index,insert one row and try!! It is not clear what exactly should we observe at this point.
[20 May 2003 7:21]
Giovanni Monferdini
This is the extract of output for TPPEGP from mysqldump
We use the SUN JDBC:ODBC bridge sun.jdbc.odbc.JdbcOdbcDriver
the ODBC return 1 rows --> OK
the JDBC-ODBC return 0 rows ---> NOT OK
-- Table structure for table 'TPPEGP'
--
CREATE TABLE TPPEGP (
GP_VERS char(2) character set latin1 NOT NULL default '',
GP_SIGLA char(3) character set latin1 NOT NULL default '',
GP_TIPO char(1) character set latin1 NOT NULL default '',
GP_COD_PER char(4) character set latin1 NOT NULL default '',
GP_COD_SPE char(3) character set latin1 NOT NULL default '',
GP_DATA_PER_DA char(8) character set latin1 NOT NULL default '',
GP_DATA_PER_A char(8) character set latin1 NOT NULL default '',
GP_DATA_SPE_DA char(8) character set latin1 NOT NULL default '',
GP_DATA_SPE_A char(8) character set latin1 NOT NULL default '',
GP_PER_MOVIM char(1) character set latin1 NOT NULL default '',
GP_DATA_ELIM char(8) character set latin1 NOT NULL default '',
GP_DESC_PER char(30) character set latin1 NOT NULL default '',
GP_DESC_SPE char(30) character set latin1 NOT NULL default '',
UNIQUE KEY TPPEGP_KEY1 (GP_SIGLA,GP_TIPO,GP_COD_PER,GP_COD_SPE),
UNIQUE KEY TPPEGP_KEY2 (GP_SIGLA,GP_TIPO,GP_DATA_SPE_DA,GP_DATA_SPE_A),
UNIQUE KEY TPPEGP_KEY3 (GP_SIGLA,GP_TIPO,GP_COD_PER,GP_COD_SPE,GP_PER_MOVIM),
UNIQUE KEY TPPEGP_KEY4 (GP_SIGLA,GP_TIPO,GP_DATA_SPE_DA,GP_DATA_SPE_A,GP_PER_M
OVIM)
) TYPE=InnoDB;
-- Dumping data for table 'TPPEGP'
--
INSERT INTO TPPEGP VALUES ('01','01','0','2000','001','20000101','20001231','200
00101','20000131','M','00000000','2000','GEN');
INSERT INTO TPPEGP VALUES ('01','01','0','2000','002','20000101','20001231','200
00201','20000229','M','00000000','2000','FEB');
INSERT INTO TPPEGP VALUES ('01','01','0','2000','003','20000101','20001231','200
00301','20000331','M','00000000','2000','MAR');
INSERT INTO TPPEGP VALUES ('01','01','0','2000','004','20000101','20001231','200
00401','20000430','M','00000000','2000','APR');
INSERT INTO TPPEGP VALUES ('01','01','0','2000','005','20000101','20001231','200
00501','20000531','M','00000000','2000','MAG');
INSERT INTO TPPEGP VALUES ('01','01','0','2000','006','20000101','20001231','200
00601','20000630','M','00000000','2000','GIU');
INSERT INTO TPPEGP VALUES ('01','01','0','2000','007','20000101','20001231','200
00701','20000731','M','00000000','2000','LUG');
INSERT INTO TPPEGP VALUES ('01','01','0','2000','008','20000101','20001231','200
00801','20000831','M','00000000','2000','AGO');
INSERT INTO TPPEGP VALUES ('01','01','0','2000','009','20000101','20001231','200
00901','20000930','M','00000000','2000','SET');
INSERT INTO TPPEGP VALUES ('01','01','0','2000','010','20000101','20001231','200
01001','20001031','M','00000000','2000','OTT');
INSERT INTO TPPEGP VALUES ('01','01','0','2000','011','20000101','20001231','200
01101','20001130','M','00000000','2000','NOV');
INSERT INTO TPPEGP VALUES ('01','01','0','2000','012','20000101','20001231','200
01201','20001231','M','00000000','2000','DIC');
INSERT INTO TPPEGP VALUES ('01','01','0','2001','001','20010101','20011231','200
10101','20010131','M','00000000','2001','GENNAIO');
INSERT INTO TPPEGP VALUES ('01','01','0','2001','002','20010101','20011231','200
10201','20010228','M','00000000','2001','FEBBRAIO');
INSERT INTO TPPEGP VALUES ('01','01','0','2001','003','20010101','20011231','200
10301','20010331','M','00000000','2001','MARZO');
INSERT INTO TPPEGP VALUES ('01','01','0','2001','004','20010101','20011231','200
10401','20010430','M','00000000','2001','APRILE');
INSERT INTO TPPEGP VALUES ('01','01','0','2001','005','20010101','20011231','200
10501','20010531','M','00000000','2001','MAGGIO');
INSERT INTO TPPEGP VALUES ('01','01','0','2001','006','20010101','20011231','200
10601','20010630','M','00000000','2001','GIUGNO');
INSERT INTO TPPEGP VALUES ('01','01','0','2001','007','20010101','20011231','200
10701','20010731','M','00000000','2001','LUGLIO');
INSERT INTO TPPEGP VALUES ('01','01','0','2001','008','20010101','20011231','200
10801','20010831','M','00000000','2001','AGOSTO');
INSERT INTO TPPEGP VALUES ('01','01','0','2001','009','20010101','20011231','200
10901','20010930','M','00000000','2001','SETTEMBRE');
INSERT INTO TPPEGP VALUES ('01','01','0','2001','010','20010101','20011231','200
11001','20011031','M','00000000','2001','OTTOBRE');
INSERT INTO TPPEGP VALUES ('01','01','0','2001','011','20010101','20011231','200
11101','20011130','M','00000000','2001','NOVEMBRE');
INSERT INTO TPPEGP VALUES ('01','01','0','2001','012','20010101','20011231','200
11201','20011231','M','00000000','2001','DICEMBRE');
INSERT INTO TPPEGP VALUES ('01','01','0','2002','001','20020101','20021231','200
20101','20020131','M','00000000','2002','GENNAIO');
INSERT INTO TPPEGP VALUES ('01','01','0','2002','002','20020101','20021231','200
20201','20020228','M','00000000','2002','FEBBRAIO');
INSERT INTO TPPEGP VALUES ('01','01','0','2002','003','20020101','20021231','200
20301','20020331','M','00000000','2002','MARZO');
INSERT INTO TPPEGP VALUES ('01','01','0','2002','004','20020101','20021231','200
20401','20020430','M','00000000','2002','APRILE');
INSERT INTO TPPEGP VALUES ('01','01','0','2002','005','20020101','20021231','200
20501','20020531','M','00000000','2002','MAGGIO');
INSERT INTO TPPEGP VALUES ('01','01','0','2002','006','20020101','20021231','200
20601','20020630','M','00000000','2002','GIUGNO');
INSERT INTO TPPEGP VALUES ('01','01','0','2002','007','20020101','20021231','200
20701','20020731','M','00000000','2002','LUGLIO');
INSERT INTO TPPEGP VALUES ('01','01','0','2002','008','20020101','20021231','200
20801','20020831','M','00000000','2002','AGOSTO');
INSERT INTO TPPEGP VALUES ('01','01','0','2002','009','20020101','20021231','200
20901','20020930','M','00000000','2002','SETTEMBRE');
INSERT INTO TPPEGP VALUES ('01','01','0','2002','010','20020101','20021231','200
21001','20021031','M','00000000','2002','OTTOBRE');
INSERT INTO TPPEGP VALUES ('01','01','0','2002','011','20020101','20021231','200
21101','20021130','M','00000000','2002','NOVEMBRE');
INSERT INTO TPPEGP VALUES ('01','01','0','2002','012','20020101','20021231','200
21201','20021231','M','00000000','2002','DICEMBRE');
INSERT INTO TPPEGP VALUES ('01','01','0','2003','001','20030101','20031231','200
30101','20030131','M','00000000','2003','GENNAIO');
INSERT INTO TPPEGP VALUES ('01','01','0','2003','002','20030101','20031231','200
30201','20030228','M','00000000','2003','FEBBRAIO');
INSERT INTO TPPEGP VALUES ('01','01','0','2003','003','20030101','20031231','200
30301','20030331','M','00000000','2003','MARZO');
INSERT INTO TPPEGP VALUES ('01','01','0','2003','004','20030101','20031231','200
30401','20030430','M','00000000','2003','APRILE');
INSERT INTO TPPEGP VALUES ('01','01','0','2003','005','20030101','20031231','200
30501','20030531','M','00000000','2003','MAGGIO');
INSERT INTO TPPEGP VALUES ('01','01','0','2003','006','20030101','20031231','200
30601','20030630','M','00000000','2003','GIUGNO');
INSERT INTO TPPEGP VALUES ('01','01','0','2003','007','20030101','20031231','200
30701','20030731','M','00000000','2003','LUGLIO');
INSERT INTO TPPEGP VALUES ('01','01','0','2003','008','20030101','20031231','200
30801','20030831','M','00000000','2003','AGOSTO');
INSERT INTO TPPEGP VALUES ('01','01','0','2003','009','20030101','20031231','200
30901','20030930','M','00000000','2003','SETTEMBRE');
INSERT INTO TPPEGP VALUES ('01','01','0','2003','010','20030101','20031231','200
31001','20031031','M','00000000','2003','OTTOBRE');
INSERT INTO TPPEGP VALUES ('01','01','0','2003','011','20030101','20031231','200
31101','20031130','M','00000000','2003','NOVEMBRE');
INSERT INTO TPPEGP VALUES ('01','01','0','2003','012','20030101','20031231','200
31201','20031231','M','00000000','2003','DICEMBRE');
[21 May 2003 10:01]
Mark Matthews
You shouldn't use the JDBC:ODBC bridge, as there is a Type-IV driver for MySQL, Connector/J. See http://www.mysql.com/products/connector-j/ The JDBC:ODBC bridge is known to be _very_, _very_ buggy.
[28 Jul 2003 4:37]
Mark Matthews
Once again. Please do not use the JDBC-ODBC bridge. The bug is with the JDBC-ODBC bridge, which is software that comes from Sun Microsystems, not MySQL, therefore we can not provide support for problems with it. You should use the Type-IV JDBC driver for MySQL, Connector/J if you want to use MySQL from Java. Even Sun advises that you not use the JDBC-ODBC bridge if there is a native JDBC driver for your database. If this problem happens when you use Connector/J, re-open this ticket.
