Database Known Issues

TestStand 2019 Help

Edition Date: May 2019

Part Number: 370052AA-01

»View Product Info
Download Help (Windows Only)

Toggle Expansion  Use this Toggle Expansion button to expand or collapse all the sections. You must enable the Allow Blocked Content option in Microsoft Internet Explorer to collapse each section. You must expand each section you want to print or search.

Consider the following issues when you use a database management system with TestStand:

  • On 64-bit Windows operating systems, the Data Sources (ODBC) application in the Windows Control Panel is the 64-bit version of the application, located at C:\Windows\system32\odbcad32.exe. National Instruments recommends that you use the 32-bit version of the OBDC application, located at C:\Windows\SysWOW64\odbcad32.exe to create any system DSNs for use in 32-bit TestStand. If you create a system DSN using the 64-bit version, the ODBC application creates a 64-bit DSN. If you create a system DSN using the 32-bit version, the ODBC application creates a 32-bit DSN. If you attempt to use system data links from the 32-bit TestStand Database Options dialog box or the Database Viewer, TestStand launches the 32-bit version of the Data Link Properties dialog box, which cannot display 64-bit system DSNs. User defined DSNs can be configured from the 32-bit version or the 64-bit version of the Data Sources (ODBC) application. If you attempt to use data links from the Database Options dialog box or the Database Viewer, the Data Link Properties dialog box matching TestStand’s bitness will be launched. A 32-bit or 64-bit version of this dialog can only display 32-bit or 64-bit DSNs respectively. Therefore, ensure that the DSNs are configured in the correct version of Data Sources (ODBC) application for it to be visible from TestStand

 Microsoft Access Issues

  • You must enable the Share Data Link Between Executions option on the Database Options dialog box to eliminate possible contention for access to a shared database file from multiple executions, and when you enable more than one database result processing plug-ins in the Result Processing dialog box.
  • TestStand 3.5 or later includes a workaround for incorrect database logging when using the Microsoft Jet Provider 4.0. The Microsoft Jet Provider 3.51 and 4.0 incorrectly swap the month and day numeric components under the following conditions:
    • The Regional Options on the Microsoft Windows Control Panel specify a locale with a default date format that shows the day before the month
    • The TestStand Database Options data link uses the Microsoft Jet 3.51 or 4.0 Provider
    • The TestStand Database Options schema uses parameterized INSERT statements and includes a column defined with a Date data type
    • The day in the date falls between the 1st and the 12th of the month.

    For example, when TestStand logs the value January 13, 2012, the Microsoft Jet Provider stored date is correct. However, when TestStand logs the value January 12, 2012, the Microsoft Jet Provider stored date is December 1, 2012.

  • The Database Viewer application fails to view data inside a Microsoft Access database when the data link uses the Microsoft Open Database Connectivity (ODBC) Driver and the base filename contains a period character in addition to the period in the file extension. This error appears to be a problem with the Microsoft ODBC Driver. This error may make the Database Viewer application unstable. Rename the database file or use the Microsoft Jet 4.0 Object Linking and Embedding (OLE) DB Provider instead.
  • When the Microsoft Access ODBC Driver and Jet Provider return the error Operation cancelled, verify that the ODBC data source or data link connection string references a valid .mdb file.
  • The Microsoft Jet 4.0 OLE DB Provider and ODBC Driver might return an error message when more than one execution or thread attempts to gain write access to the same table because executions and threads do not share handles when opening unique connections to the database or executing unique statements on a table. The Access drivers use an on-demand file access method that can cause this error.

    Take one of the following actions to resolve this issue:

    • When this error occurs while using the TestStand database logging feature from within a single process, enable the Share Data Link Between Executions option on the Data Link tab of the Database Options dialog box.
    • When this error occurs while accessing an Access database from multiple processes or different computers, ignore the error or retry the failing database action.
    • In some cases, when you open the statement recordset using the Batch Optimistic Locking option, the problem might not occur.
  • When you use the Microsoft Access ODBC Driver, values for the STEP_TYPE field in the STEP_RESULT table might be NULL because MDAC sets the values for a MEMO field to NULL for all records when the value of the first record written is not specified. By default, the script files used to create the table attempt to create TEXT fields. When the tables are created with the Access ODBC driver, the field type is TEXT of size 255. When the tables are created with the Access OLE DB Provider, the field type is MEMO.

    Complete one of the following actions to resolve this issue:

    • Use the Microsoft Jet 4.0 OLE DB Provider instead of the Access ODBC driver to log results.
    • Change the field types in the STEP_RESULT and UUT_RESULT tables from MEMO to TEXT within Access. A message warns you that data could be truncated to 255 characters, which is the limit of a TEXT field.

 MySQL Issues

  • The MySQL ODBC drivers incorrectly report a catastrophic failure error when you specify a connection string that includes the "Initial Catalog=xxx" parameter. Specify the default database in the ODBC data source using the ODBC Administrator to resolve this issue.
  • When you use the MySQL ODBC driver and the operating computer specifies a comma character as the decimal symbol character, the ODBC driver might return an error because the ODBC driver internally converts a floating-point value to a string value. The computer locale causes MySQL to interpret the comma decimal symbol character in the SQL syntax as a multi-value list character separator. Configure the MySQL data source in the ODBC Administrator and enable the Don't Use Set Locale option in the Miscellaneous Options section to resolve this error.
  • The MySQL ODBC driver returns an error while logging results to a database when you specify column data type as String (BSTR) because the MySQL ODBC driver fails to encapsulate string values in quotation marks when constructing SQL statements. Specify string columns as String (varchar) instead.
  • The MySQL ODBC driver returns an error while logging results to the database when the schema in the Database Options dialog box specifies a column data type as GUID. Specify string columns as String (varchar) instead.
  • The MySQL ODBC 3.51 driver ignores the initial catalog setting specified in this dialog box or the Database Viewer application. You must specify the database in the ODBC connection string or in the DSN specified in the ODBC Administrator.
  • The MySQL ODBC 3.51 driver might return an error when the Database Viewer application attempts to view a different database when you change the name in the Catalog ring control. The MySQL ODBC driver internally fails to properly terminate the string that contains the database name, which causes extra characters to appear on the end of the database name.
  • The MySQL ODBC 3.51 driver does not permit the creation of new empty records when using a SELECT statement. When you attempt to use the On-The-Fly Database Logging option with schemas that use SELECT statements, the MySQL database returns the following error: Empty row cannot be inserted. Row must have at least one column value set.
  • Enable the Don't Optimize Column Width option when you configure the DSN in the ODBC Administrator dialog box to prevent the MySQL ODBC 3.51 driver from returning the Operation is not allowed in this context (-2146825069) error when logging data to a binary field.
  • When you perform a validate operation, the MySQL ODBC 3.51 driver incorrectly returns a maximum length of 64,000 for LONGBLOB or MEDIUMBLOB columns.
  • National Instruments recommends not using the Fetch Record by Index operation mode of the Data Operation database step type when reading a table with a VARCHAR field. In cases where multiple VARCHAR fields exist in the database and the Fetch Record By Index operation executes multiple times, a System Level Exception might occur. Instead, use the Next – Fetch Next Record operation to step through records in the table or use the Fetch Record by Index operation if the offset from the current record to the record index is small.
  • A MySQL connection string requires that you specify the Initial or Default schema to which you are connecting. If this field is not specified or left empty in the connection string, Memory Access Violation errors occur when you connect to MySQL using the Database Viewer the MySQL ODBC Driver version 5.2 or later, for example, Driver={MySQL ODBC 5.2 ANSI Driver};Server=servname;Database=TSInsert;User=tester;Password=secret;Option=259;.
  • MySQL returns Access Violation errors when retrieving metadata on the database schema if there are no relevant objects to retrieve. For example, if the application attempts to fetch the list of views in a MySQL schema and no views are defined, an Access Violation error occurs. You can ignore this error with no negative consequences.

 SQL Server Issues

  • Memory usage can increase when using the SQL Server Stored Proc schema and the database connection string uses the Microsoft OLE DB Provider for SQL Server. The memory usage appears to oscillate but shows growth over time. Use the Microsoft SQL Native Client database provider to avoid this issue.

 Oracle Issues

  • Use MDAC 2.7 with Oracle to prevent error -2147217915, which occurs when you execute the stored procedure for the STEP_RESULT schema statement.
  • When you use an Oracle stored procedure to log data to a foreign key column that uses the GUID type and the data type of the parameter in the database logging schema is GUID, Oracle returns error -2147467259 when no value or NULL is assigned to the parameter. Change the data type from GUID to String for the foreign key parameter in the schema to resolve this issue.
  • The Database Viewer application cannot show the contents of an Oracle database table when the table contains a LONG column. The Microsoft data grid control returns an "Object is open" error.
  • Oracle recommends using Oracle Provider 11.1.0.6.0 or later if you want to read 64-bit integer values stored in NUMBER columns.
  • When you enable the Share Data Link Between Execution option and multiple executions simultaneously log binary data to a BLOB column in an Oracle database, Oracle can return the error "ORA-22990: LOB locators cannot span transactions." Disable the Share Data Link Between Execution option or enable the Use Transaction Processing option to prevent this error.
  • When you use the Oracle ODBC Driver with server-side cursors to log data in TestStand with On-The-Fly logging enabled, the Oracle ODBC driver fails to return a proper key value for a parent provisional result of a Sequence Call step. Consequently, TestStand cannot update the fields of the parent provisional result and instead creates a new Sequence Call step result, and the foreign keys values for the steps in the called sequence incorrectly reference the empty provisional result. To work around this limitation of the Oracle driver, configure statements to use client-side cursors for the schema in the Statements tab of the Database Options dialog box. National Instruments recommends using the Oracle OleDB provider with server-side cursors to avoid this issue with the Oracle ODBC Driver.

 Sybase Issues

  • The Sybase Adaptive Server Anywhere ODBC and OLE DB Provider do not store string data properly into a column when logging results to database when you specify the column data type as String (BSTR). Specify string columns as String (varchar) instead.

See Also

Database Options dialog box

WAS THIS ARTICLE HELPFUL?

Not Helpful