| Bug #30386 | Writing conflict through Access ODBC linked tables | ||
|---|---|---|---|
| Submitted: | 13 Aug 2007 10:50 | Modified: | 19 Aug 2007 17:46 |
| Reporter: | Cristina Polo Conde | Email Updates: | |
| Status: | Can't repeat | Impact on me: | |
| Category: | Connector / ODBC | Severity: | S1 (Critical) |
| Version: | 3.51.19 | OS: | Windows |
| Assigned to: | CPU Architecture: | Any | |
[13 Aug 2007 10:50]
Cristina Polo Conde
[13 Aug 2007 16:20]
MySQL Verification Team
Thank you for the bug report. Could you please see: http://dev.mysql.com/doc/refman/5.0/en/myodbc-errors.html 25.1.6.3.7: How do I handle Write Conflicts or Row Location errors?
[14 Aug 2007 6:42]
Cristina Polo Conde
Thank you very much for your help. I had already looked at that manual reference and I tried the suggested solution but it failed. Nevertheless I have found the solution. The problem was in the last field: `fecha_solicitud` datetime NOT NULL default '0000-00-00 00:00:00' It is defined as a not null element with a default value and this value has an english format. I guess that it does not fit well with MS Access (Spanish version). Eventually, I have defined that date as the others: `fecha_solicitud` datetime default NULL, I hope this can help somebody else.
[14 Aug 2007 8:00]
Susanne Ebrecht
Hello Cristina, Unfortunately, date formats are very country specific. Is it ok, when we close this bug, because it is no bug? Regards, Susanne
[19 Aug 2007 17:46]
Tonci Grgin
Hi Cristina and thanks for your report.
I was unable to verify the problem using:
- MySQL server 5.0.48-pb1038 on WinXP Pro SP2 localhost
- MyODBC 3.51.19 and Access 2003
- Croatian date format (dd.MM.yyyy)
- Test included inserting 55,2 in first two fields and then updating that record so that value of second field is 15
C:\mysql507\bin\mysqld-max-nt, Version: 5.0.48-pb1038-log (MySQL Pushbuild Edition, build 1038). started with:
TCP Port: 3306, Named Pipe: mypipe1
Time Id Command Argument
070819 19:35:05 1 Connect root@localhost on test
1 Query select @@version_comment limit 1
070819 19:35:24 1 Query CREATE TABLE `contratos` (
`cod_presupuesto` varchar(5) NOT NULL default '',
`area` char(3) default NULL,
`proveedor` varchar(100) default NULL,
`descripcion` varchar(255) default NULL,
`inicio_cont` datetime default NULL,
`fin_cont` datetime default NULL,
`f_vto` datetime default NULL,
`estado` varchar(50) default NULL,
`observacion_estado` varchar(255) default NULL,
`periodicidad` int(7) default NULL,
`tipo_servicio` varchar(50) default NULL,
`fianza` double(10,3) default NULL,
`prorroga` varchar(50) default NULL,
`fichero` varchar(50) default NULL,
`duracion_contrato` int(7) default NULL,
`fianza_prov` double(10,3) default NULL,
`fecha_fianza` datetime default NULL,
`fecha_adj` datetime default NULL,
`fecha_form_contrato` datetime default NULL,
`cuota` double(10,3) default NULL,
`NContrato` int(11) default NULL,
`fecha_firma` datetime default NULL,
`fecha_alta_bd` datetime default NULL,
`fecha_solicitud` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`cod_presupuesto`)
) TYPE=MyISAM
070819 19:36:49 2 Connect root@localhost on test
2 Query SET NAMES latin1
2 Query SELECT Config, nValue FROM MSysConf
2 Query SHOW TABLE STATUS
070819 19:37:22 2 Field List contratos
2 Query SHOW TABLE STATUS LIKE 'contratos'
2 Field List contratos
2 Query SHOW KEYS FROM `contratos`
070819 19:37:50 2 Query SELECT `contratos`.`cod_presupuesto` FROM `contratos`
070819 19:38:00 2 Query SET AUTOCOMMIT=0
2 Query INSERT INTO `contratos` (`cod_presupuesto`,`area`) VALUES ('55','2')
2 Query COMMIT
2 Query SET AUTOCOMMIT=1
2 Query SELECT `cod_presupuesto`,`area`,`proveedor`,`descripcion`,`inicio_cont`,`fin_cont`,`f_vto`,`estado`,`observacion_estado`,`periodicidad`,`tipo_servicio`,`fianza`,`prorroga`,`fichero`,`duracion_contrato`,`fianza_prov`,`fecha_fianza`,`fecha_adj`,`fecha_form_contrato`,`cuota`,`NContrato`,`fecha_firma`,`fecha_alta_bd`,`fecha_solicitud` FROM `contratos` WHERE `cod_presupuesto` = '55'
2 Query SELECT `cod_presupuesto`,`area`,`proveedor`,`descripcion`,`inicio_cont`,`fin_cont`,`f_vto`,`estado`,`observacion_estado`,`periodicidad`,`tipo_servicio`,`fianza`,`prorroga`,`fichero`,`duracion_contrato`,`fianza_prov`,`fecha_fianza`,`fecha_adj`,`fecha_form_contrato`,`cuota`,`NContrato`,`fecha_firma`,`fecha_alta_bd`,`fecha_solicitud` FROM `contratos` WHERE `cod_presupuesto` = '55'
--<cut>--
070819 19:39:12 2 Query SET AUTOCOMMIT=0
2 Query UPDATE `contratos` SET `area`='15' WHERE `cod_presupuesto` = '55' AND `area` = '2' AND `proveedor` IS NULL AND `descripcion` IS NULL AND `inicio_cont` IS NULL AND `fin_cont` IS NULL AND `f_vto` IS NULL AND `estado` IS NULL AND `observacion_estado` IS NULL AND `periodicidad` IS NULL AND `tipo_servicio` IS NULL AND `fianza` IS NULL AND `prorroga` IS NULL AND `fichero` IS NULL AND `duracion_contrato` IS NULL AND `fianza_prov` IS NULL AND `fecha_fianza` IS NULL AND `fecha_adj` IS NULL AND `fecha_form_contrato` IS NULL AND `cuota` IS NULL AND `NContrato` IS NULL AND `fecha_firma` IS NULL AND `fecha_alta_bd` IS NULL AND `fecha_solicitud` IS NULL
2 Query COMMIT
2 Query SET AUTOCOMMIT=1
070819 19:39:47 1 Query select * from contratos
mysql> select * from contratos\G
*************************** 1. row ***************************
cod_presupuesto: 55
area: 15
proveedor: NULL
descripcion: NULL
inicio_cont: NULL
fin_cont: NULL
f_vto: NULL
estado: NULL
observacion_estado: NULL
periodicidad: NULL
tipo_servicio: NULL
fianza: NULL
prorroga: NULL
fichero: NULL
duracion_contrato: NULL
fianza_prov: NULL
fecha_fianza: NULL
fecha_adj: NULL
fecha_form_contrato: NULL
cuota: NULL
NContrato: NULL
fecha_firma: NULL
fecha_alta_bd: NULL
fecha_solicitud: 0000-00-00 00:00:00
1 row in set (0.00 sec)
mysql>
[17 Oct 2007 11:07]
Susanne Ebrecht
The bug #17213 is a duplicate of this bug.
