Bug #40398 | CONNECT TEMPORARY TABLE VIA MICROSOFT ACCESS FAILS IN 5.1.5 | ||
---|---|---|---|
Submitted: | 29 Oct 2008 16:50 | Modified: | 30 May 2013 6:32 |
Reporter: | OMT PETRINI | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | Connector / ODBC | Severity: | S2 (Serious) |
Version: | 5.1.5 | OS: | Windows (ANY) |
Assigned to: | Lawrenty Novitsky | CPU Architecture: | Any |
Tags: | ODBC CONNECTOR FAILS CONNECT TEMPORARY TABLE |
[29 Oct 2008 16:50]
OMT PETRINI
[4 Nov 2008 7:34]
Tonci Grgin
Hi Massimo and thanks for your report. I am unable to repeat it with Access2003. At the very start, 3.51 part already fails and I'm unable to open linked temporary table. So my guess would be it's something Access specific. Also, I do not have Access97 so it's out of question to test on it. Can you test with Access2003?
[4 Nov 2008 7:35]
Tonci Grgin
3.51 driver trace from Access2k3
Attachment: SQL.7z (application/octet-stream, text), 1.37 KiB.
[6 Nov 2008 9:23]
OMT PETRINI
Requirements to test temporary table problems install mysql odbc 3.x install mysql odbc 5.x create a database name omttmp in your mysql server define in the file hosts (located in %windir%\system32\drivers\etc a server named masterdati linked to your mysqlserver address configure on odbc 3.51 with name mysql-omttmp, server masterdati, your login information, and connect to database omttmp configure on odbc 5.1 with name mysql-omttmp_v5, server masterdati, your login information, and connect to database omttmp open my test2k3.mdb run the macro TEST_TMP Thank you to force me to analyze better the question ! So I have found the problem (mine and not in odbc!!!) Please look in the module “TmpTbl_Utilities”; you can found the instruction to make a connect to a table with the appropriate odbc; first use the string related to 3.5X version; rename the line to the table “wrk_invsl_v35x” in “wrk_invsl”; so run the macro TEST_TMP; you can see the 767 record inserted. Now second test; change ONLY the name of the linked table “wrk_invsl_v515” in “wrk_invsl”, but see inside (as property of the table) which is the string connection; Now run the macro; you can see the error ! The solution is the string the string connection different in the version 3.5 and 5.1.! Now for me the problem is solved, but it is interesting to known why then syntax to connect a table is different ; in v3 mode is : ODBC;DATABASE=omttmp;DESCRIPTION=MySQL ODBC 3.51 Driver DSN;DSN=MYSQL-OMTTMP;OPTION=3;PORT=3306;SERVER=masterdati;;TABLE=" while in v5 mode is: "ODBC;DSN=mysql-omttmp_v5;;TABLE=wrk_invsl" for the same table ! And this question is bad to standardize the code, because the odbc is installed in the client (not all with the same version of odbc), while the mdb code and the link to the tabae are inside mdb code is only in a server ! It possible to make a unique mode of connection ? I understand that the v5 version is better, but to use it nedd to convert in the same moment all the pc client and all the mdb ! Regards
[6 Nov 2008 9:25]
OMT PETRINI
Requirements to test temporary table problems install mysql odbc 3.x install mysql odbc 5.x create a database name omttmp in your mysql server define in the file hosts (located in %windir%\system32\drivers\etc a server named masterdati linked to your mysqlserver address configure on odbc 3.51 with name mysql-omttmp, server masterdati, your login information, and connect to database omttmp configure on odbc 5.1 with name mysql-omttmp_v5, server masterdati, your login information, and connect to database omttmp open my test2k3.mdb run the macro TEST_TMP Thank you to force me to analyze better the question ! So I have found the problem (mine and not in odbc!!!) Please look in the module “TmpTbl_Utilities”; you can found the instruction to make a connect to a table with the appropriate odbc; first use the string related to 3.5X version; rename the line to the table “wrk_invsl_v35x” in “wrk_invsl”; so run the macro TEST_TMP; you can see the 767 record inserted. Now second test; change ONLY the name of the linked table “wrk_invsl_v515” in “wrk_invsl”, but see inside (as property of the table) which is the string connection; Now run the macro; you can see the error ! The solution is the string the string connection different in the version 3.5 and 5.1.! Now for me the problem is solved, but it is interesting to known why then syntax to connect a table is different ; in v3 mode is : ODBC;DATABASE=omttmp;DESCRIPTION=MySQL ODBC 3.51 Driver DSN;DSN=MYSQL-OMTTMP;OPTION=3;PORT=3306;SERVER=masterdati;;TABLE=" while in v5 mode is: "ODBC;DSN=mysql-omttmp_v5;;TABLE=wrk_invsl" for the same table ! And this question is bad to standardize the code, because the odbc is installed in the client (not all with the same version of odbc), while the mdb code and the link to the tabae are inside mdb code is only in a server ! It possible to make a unique mode of connection ? I understand that the v5 version is better, but to use it nedd to convert in the same moment all the pc client and all the mdb ! Regards
[13 Feb 2009 14:53]
Tonci Grgin
Sorry Massimo I do not understand you... If problem is CONCATenation, then it is in that functions in MySQL set the BINARY flag. This is well discussed all over manual and BugsDB. To avoid this, please check "Always handle binary function results as character data". If the problem is who's better for you, 5.1 is much stricter (in terms of ODBC compliance) and has UTF-8 support. Enforced ODBC compliance can actually make problems with MS own ODBC clients so you'll have to test and see. Is there anything else here that will make me keep this report open?
[14 Mar 2009 0:00]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".
[30 May 2013 6:32]
Bogdan Degtyariov
I'm closing this bug because I can not continue without feedback from the reporter. If you have new info, please reopen the report.