Bruno -
In the past when I did some MySQL testing I found that I had better results when using the "unofficial" OLE-DB Provider that was available from MySQL. See http://solutions.mysql.com/other/related-sites/?item=142
I am aware of the following issues with the ODBC driver from MySQL and TestStand:
1) When you use the MySQL ODBC driver and the operating system specifies a comma character as the decimal point character, the ODBC driver can return the following error when logging results:
[MySQL][ODBC 3.51 Driver][mysqld-nt] Column count doesn't match
value count at row 1
This error occurs because the ODBC driver internally converts a floating point value to a string value the system local and MySQL interprets the comma decimal point character in the SQL syntax as a multi-value list character separator. To fix this, configure the MySQL data source in the ODBC Administrator and enable the option "Don't Use Set Locale" located in the Miscellaneous Options section.
2) The MySQL ODBC driver returns the following error while logging results to database when you specify column data type as "String":
[MySQL][ODBC 3.51 Driver][mysqld-nt] You have an error in your
SQL syntax. Check the manual that corresponds to your MySQL server
version for the right syntax to use near 'Callback,'SequenceCall',
'Passed',NULL,0,NULL,5.2452199999999997
Internally, the database logging feature passes data to the databases as a BSTR. The MySQL ODBC driver fails to encapsulate string BSTR values in quotes when constructing SQL statements from parameterized data, i.e INSERT INTO TABLE(columns) VALUES(?'s). To workaround this problem, values must either not have spaces or the database logging feature needs to specify string columns as "VARCHAR" instead of "BSTR". You should see BSTR vs VARCHAR support in a future release of TestStand. In the mean time the database logging code can be changed and recompiled. The change is simple in
/Components/NI/Models/TestStandModels/Database/DBLog/Columns.cpp in the function CDbColumn::Initialize, the lines
case tsDBOptionsColumnType_Bstr:
m_AdoType = adBStr;
break;
can be changed to:
case tsDBOptionsColumnType_Bstr:
m_AdoType = adVarChar;
break;
See attached DLL as a workaround to this behavior in the ODBC driver.
3) The MySQL ODBC driver returns the following error while logging results to database when you specify column data type as "GUID":
[MySQL][ODBC 3.51 Driver][mysqld-nt]You have an error in your SQL
syntax. Check the manual that corresponds to your MySQL server
version for the right syntax to use near '!G��k ��r�,'COMPUTERNAME',
NULL,-1,NULL,'usename','20040505153955',
To workaround this limitation, specify string columns as "String (VARCHAR)" instead of "GUID".
Hope this helps...
Scott Richardson (NI)
Scott Richardson
https://testeract.com