home *** CD-ROM | disk | FTP | other *** search
- ************************************
- * MyODBC Release Notes *
- * Version 02.50.38 *
- * Updated : 19 July 2001 *
- ************************************
-
- ======================================================
- CONTENTS
- ======================================================
- 1. What is MyODBC ?
- 2. MyODBC New Fatures in 02.50.38
- 3. MyODBC Bugs Fixes in 02.50.38
- 4. MyODBC Supported Features
- 5. MyODBC Open Issues
- 6. Applications working with MyODBC
- 7. Reporting problems with MyODBC
-
- ======================================================
- 1. WHAT IS MYODBC ?
- ======================================================
-
- MySQL, the most popular Open Source SQL database, is provided by MySQL AB.
- MySQL AB is a commercial company that builds its business providing services
- around the MySQL database.
-
- MySQL provides support for ODBC by means of the MyODBC program. For more
- information about MyODBC, please visit the following link:
- http://www.mysql.com/documentation/mysql/bychapter/manual_ODBC.html#ODBC
-
- ======================================================
- 2. MYODBC NEW FEATURES IN 02.50.38
- ======================================================
-
- The following features or APIs are newly supported in this release:
-
- -- SQLSetCursorName
- -- SQLGetCusrorName
- -- SQLSetPos
- -- positioned update/delete operations
-
- SQLSetCursorName and SQLGetCursorName
- -------------------------------------
- Now, MyODBC applications can make use of cursors in manipulating the
- result set data using the cursors. This can be accomplished with the
- use of SQLSetCursorName and SQLGetCursorName ODBC APIs, to set and get
- the cursors with the appropriate statement handles respectivly.
-
- SQLSetPos
- ---------
- SQLSetPos, yes you are correct, one of the magic/wonderful API from ODBC, is
- now supported by MyODBC driver. Using this MyODBC applications can delete or
- update the desired row of data in the result set, while result set is
- processed.The following options are supported in SQLSetPos.
-
- SQL_POSITION
- SQL_DELETE
- SQL_UPDATE and
- SQL_REFRESH.
-
- Positioned update or delete operations
- --------------------------------------
- Now, MyODBC applications can delete/update the desired row in the
- result set, using the cursors. Now using WHERE CURRENT OF cursor_name,
- application can delete / update the current row that is in the process.
-
- SYNTAX:
-
- DELETE FROM table_name WHERE CURRENT OF cursor_name;
- UPDATE table_name SET col_list WHERE CURRENT OF cursor_name;
-
- NOTE: For the usage of SQLSetPos and Positioned delete/update operations,
- please refer to ODBC manual from MSDASDK which is available from the
- followimg link:
-
- http://www.microsoft.com/data
-
- ======================================================
- 3. MYODBC BUG FIXES IN 02.50.38
- ======================================================
-
- 1. Execution of row bindings prior to setting the complete param bindings.
- Previously driver use to through the error when the application calls
- SQLBindCol to set the row buffers, prior to setting any pending param
- bindings. This is not supposed to be validated by the driver till the
- execution of the statement. This is fixed in the release
-
- 2. Fix to export of table with one of the column type as TEXT from
- MS Access98/2000 to MySQL.
-
- ======================================================
- 4. MYODBC SUPPORTED or UN-SUPPORTED FEATURES
- ======================================================
-
- [Functions] [Supported] [Level]
- SQLAllocConnect() Supported Core
- SQLAllocEnv() Supported Core
- SQLAllocStmt() Supported Core
- SQLBindCol() Supported Core
- SQLCancel() Supported Core
- SQLColAttribute() Supported Core
- SQLColumns() Supported Level 1
- SQLConnect() Supported Core
- SQLDataSources() Supported Level 2
- SQLDescribeCol() Supported Core
- SQLDisconnect() Supported Core
- SQLError() Supported Core
- SQLExecDirect() Supported Core
- SQLExecute() Supported Core
- SQLFetch() Supported Core
- SQLFreeConnect() Supported Core
- SQLFreeEnv() Supported Core
- SQLFreeStmt() Supported Core
- SQLGetConnnectOptions() Supported Level 1
- SQLGetCursorName() Supported Core
- SQLGetData() Supported Level 1
- SQLGetFunctions() Supported Level 1
- SQLGetInfo() Supported Level 1
- SQLGetStmtOption() Supported Level 1
- SQLGetTypeInfo() Supported Level 1
- SQLNumResultCols() Supported Core
- SQLParamData() Supported Level 1
- SQLPrepare() Supported Core
- SQLPutData() Supported Level 1
- SQLRowCount() Supported Core
- SQLSetConnectOption() Supported Level 1
- SQLSetCursorName() Supported Core
- SQLSetParam() Supported Core
- SQLSetStmtOption() Supported Level 1
- SQLSpecialColumns() Supported Level 1
- SQLStatistics() Supported Level 1
- SQLTables() Supported Level 1
- SQLTransact() Supported Core
- SQLBindParameter() Supported Level 1
- SQLBrowseConnect() Unsupported Level 2
- SQLColumnPrivileges() Unsupported Level 2
- SQLDescribeParam() Supported Level 2
- SQLDriverConnect() Supported Level 1
- SQLDrivers() Supported Level 2
- SQLExtendedFetch() Supported Level 2
- SQLForeignKeys() Supported Level 2
- SQLMoreResults() Supported Level 2
- SQLNativeSQL() Supported Level 2
- SQLNumParams() Supported Level 2
- SQLParamOptions() Unsupported Level 2
- SQLPrimaryKeys() Supported Level 2
- SQLProcedureColumns() Unsupported Level 2
- SQLProcedures() Unsupported Level 2
- SQLSetPos() Supported Level 2
- SQLSetScrollOptions() Supported Level 2
- SQLTablePrivileges() Unsupported Level 2
-
- [Driver Info]
- SQL_ACTIVE_CONNECTIONS SQL_SUCCESS Core
- SQL_ACTIVE_STATEMENTS SQL_SUCCESS Core
- SQL_CONVERT_FUNCTIONS SQL_SUCCESS Core
- SQL_DATABASE_NAME SQL_SUCCESS Core
- SQL_DBMS_NAME SQL_SUCCESS Core
- SQL_DBMS_VER SQL_SUCCESS Core
- SQL_DATA_SOURCE_NAME SQL_SUCCESS Core
- SQL_DRIVER_NAME SQL_SUCCESS Core
- SQL_DRIVER_ODBC_VER SQL_SUCCESS Core
- SQL_DRIVER_VER SQL_SUCCESS Core
- SQL_FETCH_DIRECTION SQL_SUCCESS Core
- SQL_FILE_USAGE SQL_SUCCESS Core
- SQL_GETDATA_EXTENSIONS SQL_SUCCESS Core
- SQL_LOCK_TYPES SQL_ERROR Core
- SQL_NUMERIC_FUNCTIONS SQL_SUCCESS Core
- SQL_ODBC_API_CONFORMANCE SQL_SUCCESS Core
- SQL_ODBC_SAG_CLI_CONFORMANCE SQL_SUCCESS Core
- SQL_ODBC_VER SQL_SUCCESS Core
- SQL_POS_OPERATIONS SQL_SUCCESS Core
- SQL_POSITIONED_STATEMENTS SQL_SUCCESS Core
- SQL_ROW_UPDATES SQL_SUCCESS Core
- SQL_SEARCH_PATTERN_ESCAPE SQL_SUCCESS Core
-
- [DataSource Info]
- SQL_ACCESSIBLE_PROCEDURES SQL_SUCCESS Core
- SQL_ACCESSIBLE_TABLES SQL_SUCCESS Core
- SQL_BOOKMARK_PERSISTENCE SQL_SUCCESS Core
- SQL_CURSOR_COMMIT_BEHAVIOR SQL_SUCCESS Core
- SQL_CURSOR_ROLLBACK_BEHAVIOR SQL_SUCCESS Core
- SQL_DATA_SOURCE_READ_ONLY SQL_SUCCESS Core
- SQL_DEFAULT_TXN_ISOLATION SQL_SUCCESS Core
- SQL_MULT_RESULT_SETS SQL_SUCCESS Level 2
- SQL_MULTIPLE_ACTIVE_TXN SQL_SUCCESS Core
- SQL_NEED_LONG_DATA_LEN SQL_SUCCESS Level 1
- SQL_NULL_COLLATION SQL_SUCCESS Core
- SQL_OWNER_TERM SQL_SUCCESS Core
- SQL_OWNER_USAGE SQL_SUCCESS Core
- SQL_PROCEDURE_TERM SQL_SUCCESS Core
- SQL_QUALIFIER_TERM SQL_SUCCESS Core
- SQL_SCROLL_CONCURRENCY SQL_SUCCESS Core
- SQL_SCROLL_OPTIONS SQL_SUCCESS Core
- SQL_STATIC_SENSITIVITY SQL_SUCCESS Core
- SQL_TABLE_TERM SQL_SUCCESS Core
- SQL_TIMEDATE_ADD_INTERVALS SQL_SUCCESS Core
- SQL_TIMEDATE_DIFF_INTERVALS SQL_SUCCESS Core
-
- [Connection Attr]
- SQL_ACCESS_MODE SQL_SUCCESS Core
- SQL_AUTOCOMMIT SQL_SUCCESS Core
- SQL_CURRENT_QUALIFIER SQL_SUCCESS Core
- SQL_LOGIN_TIMEOUT SQL_SUCCESS Core
- SQL_ODBC_CURSORS SQL_SUCCESS Core
- SQL_PACKET_SIZE SQL_SUCCESS Core
- SQL_TRANSLATE_DLL SQL_ERROR Core
- SQL_TRANSLATE_OPTION SQL_ERROR Core
- SQL_TXN_ISOLATION SQL_SUCCESS Core
-
- [Statement Attr]
- SQL_ASYNC_ENABLE SQL_SUCCESS Level 2
- SQL_BIND_TYPE SQL_SUCCESS Core
- SQL_CONCURRENCY SQL_SUCCESS Core
- SQL_CURSOR_TYPE SQL_SUCCESS Core
- SQL_KEYSET_SIZE SQL_SUCCESS Core
- SQL_MAX_LENGTH SQL_SUCCESS Level 1
- SQL_MAX_ROWS SQL_SUCCESS Level 2
- SQL_NOSCAN SQL_SUCCESS Level 1
- SQL_QUERY_TIMEOUT SQL_SUCCESS Core
- SQL_RETRIEVE_DATA SQL_SUCCESS Level 2
- SQL_ROWSET_SIZE SQL_SUCCESS Level 2
- SQL_SIMULATE_CURSOR SQL_SUCCESS Level 2
- SQL_USE_BOOKMARKS SQL_SUCCESS Level 1
-
- [SQL Conf]
- SQL_ALTER_TABLE SQL_SUCCESS Core
- SQL_COLUMN_ALIAS SQL_SUCCESS Core
- SQL_CONCAT_NULL_BEHAVIOR SQL_SUCCESS Core
- SQL_CORRELATION_NAME SQL_SUCCESS Core
- SQL_EXPRESSIONS_IN_ORDERBY SQL_SUCCESS Core
- SQL_GROUP_BY SQL_SUCCESS Core
- SQL_IDENTIFIER_CASE SQL_SUCCESS Core
- SQL_IDENTIFIER_QUOTE_CHAR SQL_SUCCESS Core
- SQL_KEYWORDS SQL_SUCCESS_WITH_INFO Core
- SQL_LIKE_ESCAPE_CLAUSE SQL_SUCCESS Level 1
- SQL_MAX_BINARY_LITERAL_LEN SQL_SUCCESS Level 1
- SQL_MAX_CHAR_LITERAL_LEN SQL_SUCCESS Level 1
- SQL_MAX_COLUMN_NAME_LEN SQL_SUCCESS Core
- SQL_MAX_COLUMNS_IN_GROUP_BY SQL_SUCCESS Core
- SQL_MAX_COLUMNS_IN_INDEX SQL_SUCCESS Core
- SQL_MAX_COLUMNS_IN_ORDER_BY SQL_SUCCESS Core
- SQL_MAX_COLUMNS_IN_SELECT SQL_SUCCESS Core
- SQL_MAX_COLUMNS_IN_TABLE SQL_SUCCESS Core
- SQL_MAX_CURSOR_NAME_LEN SQL_SUCCESS Core
- SQL_MAX_INDEX_SIZE SQL_SUCCESS Core
- SQL_MAX_OWNER_NAME_LEN SQL_SUCCESS Core
- SQL_MAX_PROCEDURE_NAME_LEN SQL_SUCCESS Core
- SQL_MAX_ROW_SIZE SQL_SUCCESS Core
- SQL_MAX_ROW_SIZE_INCLUDES_LONG SQL_SUCCESS Core
- SQL_MAX_STATEMENT_LEN SQL_SUCCESS Core
- SQL_MAX_TABLE_NAME_LEN SQL_SUCCESS Core
- SQL_MAX_TABLES_IN_SELECT SQL_SUCCESS Core
- SQL_MAX_USER_NAME_LEN SQL_SUCCESS Core
- SQL_NON_NULLABLE_COLUMNS SQL_SUCCESS Core
- SQL_ODBC_SQL_CONFORMANCE SQL_SUCCESS Core
- SQL_ODBC_SQL_OPT_IEF SQL_SUCCESS Core
- SQL_ORDER_BY_COLUMNS_IN_SELECT SQL_SUCCESS Core
- SQL_OUTER_JOINS SQL_SUCCESS Core
- SQL_POSITIONED_STATEMENTS SQL_SUCCESS Core
- SQL_PROCEDURES SQL_SUCCESS Core
- SQL_QUOTED_IDENTIFIER_CASE SQL_SUCCESS Core
- SQL_SPECIAL_CHARACTERS SQL_SUCCESS Core
- SQL_SUBQUERIES SQL_SUCCESS Core
- SQL_UNION SQL_SUCCESS Core
-
- ======================================================
- 5. MYODBC OPEN ISSUES
- ======================================================
- TO DO...!!!
-
- ======================================================
- 6. APPLICATIONS WORKING WITH MYODBC
- ======================================================
- Please visit the following link, to know the common
- applications that works with MyODBC.
-
- http://www.mysql.com/documentation/mysql/bychapter/manual_ODBC.html#MyODBC_clients
-
- ======================================================
- 7. REPORTING PROBLEMS WITH MYODBC
- ======================================================
-
- If you encounter difficulties with MyODBC, you should start by making a
- log file from the ODBC manager (the log you get when requesting logs from
- ODBCADMIN) and a MyODBC log.
-
- To get a MyODBC log, you need to do the following:
-
- 1.Ensure that you are using myodbcd.dll and not myodbc.dll. The easiest
- way to do this is to get myodbcd.dll from the MyODBC distribution and
- copy it over the myodbc.dll, which is probably in your
- C:\windows\system32 or C:\winnt\system32 directory. Note that you
- probably want to restore the old myodbc.dll file when you have finished
- testing, as this is a lot faster than myodbcd.dll.
- 2.Tag the `Trace MyODBC' option flag in the MyODBC connect/configure screen
- The log will be written to file `C:\myodbc.log'. If the trace option is
- not remembered when you are going back to the above screen, it means that
- you are not using the myodbcd.dll driver (see above).
- 3.Start your application and try to get it to fail.
-
- Check the MyODBC trace file, to find out what could be wrong. You should be
- able to find out the issued queries by searching after the string >
- mysql_real_query in the `myodbc.log' file.
-
- You should also try duplicating the queries in the mysql monitor or admndemo
- to find out if the error is MyODBC or MySQL.
-
- If you find out something is wrong, please only send the relevant rows (max 40
- rows) to myodbc@lists.mysql.com. Please never send the whole MyODBC or ODBC
- log file!
-
- If you are unable to find out what's wrong, the last option is to make an
- archive (tar or zip) that contains a MyODBC trace file, the ODBC log file,
- and a README file that explains the problem. You can send this to
- ftp://support.mysql.com/pub/mysql/secret. Only we at MySQL AB will have
- access to the files you upload, and we will be very discrete with the data!
-
- If you can create a program that also shows this problem, please upload
- this too!. If the program works with some other SQL server, you should make an
- ODBC log file where you do exactly the same thing in the other SQL server.
-
- Remember that the more information you can supply to us, the more likely it
- is that we can fix the problem!
-
- Please read MyODBC mailing list archieve before posting the bug to the
-