Bug #12806 ODBC Call Failed Using linked tables in Access 2000
Submitted: 25 Aug 2005 14:22 Modified: 15 Sep 2005 0:25
Reporter: Rob Simmermon Email Updates:
Status: Can't repeat Impact on me:
None 
Category:Connector / ODBC Severity:S2 (Serious)
Version:MySql ODBC Connector 3.51 OS:Windows (Windowx XP, SP2)
Assigned to: CPU Architecture:Any

[25 Aug 2005 14:22] Rob Simmermon
Description:
When using linked tables in MS Access 2000, the user will get a popup that reads "ODBC Call Failed".  This seems to happen every time the user leaves a table open and leaves there computer, then returns 15 to 20 minutes later.

How to repeat:
Create a linked table in MS Acces 2000 that links to a MySql table using a System DSN and the ODBC Connector.

Open up the linked table.  Leave it sit unattended for approxmately 20 minutes.  Then try to do something with the table.
[25 Aug 2005 14:25] Rob Simmermon
I forgot to mention this is connecting to a MySql Server 5.0.11-beta Standard Community Edition (Binaries) for RedHat linux.

This conection error didn't start happening until I upgraded from 4.1 to 5.0.11.
[26 Aug 2005 9:16] Vasily Kishkin
Sorry. I was not able to reproduce the bug. I was able to work with linked table after 20 minutes. Could you please write here result of query "show variables" ?
[29 Aug 2005 17:47] Rob Simmermon
Here's the show variables output.  Sorry I did not get to this right away.

Variable_name	Value
auto_increment_increment	1
auto_increment_offset	1
automatic_sp_privileges	ON
back_log	50
basedir	/usr/local/mysql-standard-5.0.11-beta-linux-i686/
binlog_cache_size	32768
bulk_insert_buffer_size	8388608
character_set_client	latin1
character_set_connection	latin1
character_set_database	latin1
character_set_results	latin1
character_set_server	latin1
character_set_system	utf8
character_sets_dir	/usr/local/mysql-standard-5.0.11-beta-linux-i686/share/mysql/charsets/
collation_connection	latin1_swedish_ci
collation_database	latin1_swedish_ci
collation_server	latin1_swedish_ci
completion_type	0
concurrent_insert	1
connect_timeout	5
datadir	/usr/local/mysql/data/
date_format	%Y-%m-%d
datetime_format	%Y-%m-%d %H:%i:%s
div_precision_increment	4
default_week_format	0
delay_key_write	ON
delayed_insert_limit	100
delayed_insert_timeout	300
delayed_queue_size	1000
expire_logs_days	0
flush	OFF
flush_time	0
ft_boolean_syntax	+ -><()~*:""&|
ft_max_word_len	84
ft_min_word_len	4
ft_query_expansion_limit	20
ft_stopword_file	(built-in)
group_concat_max_len	1024
have_archive	YES
have_bdb	NO
have_blackhole_engine	NO
have_compress	YES
have_crypt	YES
have_csv	NO
have_example_engine	NO
have_federated_engine	NO
have_geometry	YES
have_innodb	YES
have_isam	NO
have_ndbcluster	NO
have_openssl	NO
have_query_cache	YES
have_raid	NO
have_rtree_keys	YES
have_symlink	YES
init_connect	
init_file	
init_slave	
innodb_additional_mem_pool_size	1048576
innodb_autoextend_increment	8
innodb_buffer_pool_awe_mem_mb	0
innodb_buffer_pool_size	8388608
innodb_checksums	ON
innodb_concurrency_tickets	500
innodb_data_file_path	ibdata1:10M:autoextend
innodb_data_home_dir	
innodb_doublewrite	ON
innodb_fast_shutdown	1
innodb_file_io_threads	4
innodb_file_per_table	OFF
innodb_flush_log_at_trx_commit	1
innodb_flush_method	
innodb_force_recovery	0
innodb_lock_wait_timeout	50
innodb_locks_unsafe_for_binlog	OFF
innodb_log_arch_dir	
innodb_log_archive	OFF
innodb_log_buffer_size	1048576
innodb_log_file_size	5242880
innodb_log_files_in_group	2
innodb_log_group_home_dir	./
innodb_max_dirty_pages_pct	90
innodb_max_purge_lag	0
innodb_mirrored_log_groups	1
innodb_open_files	300
innodb_sync_spin_loops	20
innodb_table_locks	ON
innodb_support_xa	ON
innodb_thread_concurrency	20
innodb_thread_sleep_delay	10000
interactive_timeout	28800
join_buffer_size	131072
key_buffer_size	268435456
key_cache_age_threshold	300
key_cache_block_size	1024
key_cache_division_limit	100
language	/usr/local/mysql-standard-5.0.11-beta-linux-i686/share/mysql/english/
large_files_support	ON
large_pages	OFF
large_page_size	0
license	GPL
local_infile	ON
locked_in_memory	OFF
log	OFF
log_bin	ON
log_bin_trust_routine_creators	OFF
log_error	
log_slave_updates	OFF
log_slow_queries	OFF
log_warnings	1
long_query_time	10
low_priority_updates	OFF
lower_case_file_system	OFF
lower_case_table_names	0
max_allowed_packet	52427776
max_binlog_cache_size	4294967295
max_binlog_size	1073741824
max_connect_errors	10000
max_connections	800
max_delayed_threads	20
max_error_count	64
max_heap_table_size	16777216
max_insert_delayed_threads	20
max_join_size	18446744073709551615
max_length_for_sort_data	1024
max_relay_log_size	0
max_seeks_for_key	4294967295
max_sort_length	1024
max_tmp_tables	32
max_user_connections	0
max_write_lock_count	4294967295
multi_range_count	256
myisam_data_pointer_size	6
myisam_max_sort_file_size	2147483647
myisam_recover_options	OFF
myisam_repair_threads	1
myisam_sort_buffer_size	67108864
engine_condition_pushdown	OFF
net_buffer_length	16384
net_read_timeout	30
net_retry_count	10
net_write_timeout	60
new	OFF
old_passwords	OFF
open_files_limit	4010
optimizer_prune_level	1
optimizer_search_depth	62
pid_file	/usr/local/mysql/data/trxfw.telelect.com.pid
port	3306
preload_buffer_size	32768
protocol_version	10
query_alloc_block_size	8192
query_cache_limit	1048576
query_cache_min_res_unit	4096
query_cache_size	0
query_cache_type	ON
query_cache_wlock_invalidate	OFF
query_prealloc_size	8192
range_alloc_block_size	2048
read_buffer_size	1044480
read_only	OFF
read_rnd_buffer_size	262144
relay_log_purge	ON
relay_log_space_limit	0
rpl_recovery_rank	0
secure_auth	OFF
server_id	1
skip_external_locking	ON
skip_networking	OFF
skip_show_database	OFF
slave_compressed_protocol	OFF
slave_load_tmpdir	/tmp/
slave_net_timeout	3600
slave_skip_errors	OFF
slave_transaction_retries	10
slow_launch_time	2
socket	/tmp/mysql.sock
sort_buffer_size	1048568
sql_mode	
storage_engine	MyISAM
sql_notes	OFF
sql_warnings	OFF
sync_binlog	0
sync_replication	0
sync_replication_slave_id	0
sync_replication_timeout	10
sync_frm	ON
system_time_zone	CDT
table_cache	256
table_lock_wait_timeout	50
table_type	MyISAM
thread_cache_size	8
thread_stack	126976
time_format	%H:%i:%s
time_zone	SYSTEM
timed_mutexes	OFF
tmp_table_size	33554432
tmpdir	
transaction_alloc_block_size	8192
transaction_prealloc_size	4096
tx_isolation	REPEATABLE-READ
updatable_views_with_limit	YES
version	5.0.11-beta-standard-log
version_comment	MySQL Community Edition - Standard (GPL)
version_compile_machine	i686
version_compile_os	pc-linux-gnu
wait_timeout	28800
[30 Aug 2005 8:56] Vasily Kishkin
Hi Rob,

Your server variables look like right. Could you please say me the server writes any error in logs ? And another - Could you please write here result of query "show processlist" when the error is happend.
[1 Sep 2005 15:05] Rob Simmermon
The error happened again several times, but I finally had time to run the show processlist command when it happened.  Here it is.

Id	User	Host	db	Command	Time	State	Info
2	vpopmail	localhost	vpopmail	Sleep	15		NULL
56	vpopmail	localhost	vpopmail	Sleep	25		NULL
80	vpopmail	localhost	vpopmail	Sleep	258		NULL
216	vpopmail	localhost	vpopmail	Sleep	233		NULL
379	vpopmail	localhost	vpopmail	Sleep	436		NULL
5395	webuser	pop.telelect.com:50723	newman	Sleep	585		NULL
6381	webuser	pop.telelect.com:50947	terexutilities	Sleep	327		NULL
6802	webuser	pop.telelect.com:51057	terexutilities	Sleep	106		NULL
6969	root	localhost	NULL	Query	0	NULL	show processlist
[15 Sep 2005 0:25] MySQL Verification Team
I was unable to repeat the behavior reported with Access 2003 and server
5.0.13 running on Suse 9.3.
[26 May 2011 15:16] Sébastien Lirette
10 laptops/workstations here have the exact same problem. Some with WinXP SP3 and OBDC Connector 3.51, others with Win7 and ODBC Connector 5.1. All are trying to connect to a private online MySQL Server 4.0.27.

The problem : 
When the PCs goes to idle for some time, until the screensaver goes on, all the following queries will result in ODBC Call Failed. The real bug is that it occurs only in 1 of our 3 locations. Even home it works fine after a few hours of idle!!!

Failed attemps to solve the problem :
- I had the server rebooted since it was online for 796 days. No changes.
- I tried to change a setting into the ODBC Connector : set wait_timeout. I tried from 1000 up to 50000 and always the same error.
- I contacted my ISP to make sure my router' settings are OK. Seems alright.

Now I'm suspecting that my router is causing the problem since it only occurs at one place. Is anyone aware of any particular settings required in a router to prevent the connection to fail ? If this is the problem, it seems all the others are working fine without changing any settings.

Sincerely
Sébastien Lirette