Bug #4759 | Parameter expanded without single quotes during Sql Server replication | ||
---|---|---|---|
Submitted: | 26 Jul 2004 21:15 | Modified: | 28 Jul 2004 22:25 |
Reporter: | [ name withheld ] | Email Updates: | |
Status: | Won't fix | Impact on me: | |
Category: | Connector / ODBC | Severity: | S3 (Non-critical) |
Version: | MyODBC standard-3.51.8-win | OS: | Windows (Windows XP Prof. 2002 SP1) |
Assigned to: | CPU Architecture: | Any |
[26 Jul 2004 21:15]
[ name withheld ]
[27 Jul 2004 21:51]
[ name withheld ]
Trace file from MyODBC v3.51.06 driver exhibiting same behavior
Attachment: myodbc.log (application/octet-stream, text), 199.45 KiB.
[27 Jul 2004 21:58]
[ name withheld ]
If you look at the trace file from the MyODBC v3.51.06 version, you'll see some ctypes and Sqltypes that have negative values. I believe Sql server is passing sqldmo values instead of odbc compliant values. Here's an excerpt from sqldmo.h which (I beleive) is distributed with Sql server products: typedef SQLDMO_HELPID(SQLDMO_QUERY_DATATYPE) enum { // Indexed as per ..\common\inc\sql.hpp and sql.h sqlext.h datatype constants. SQLDMO_DTypeUnknown = 0, SQLDMO_DTypeChar = 1, // SQL_CHAR SQLDMO_DTypeText = -1, // SQL_LONGVARCHAR SQLDMO_DTypeVarchar = 12, // SQL_VARCHAR SQLDMO_DTypeVarBinary = -3, // SQL_VARBINARY SQLDMO_DTypeBinary = -2, // SQL_BINARY SQLDMO_DTypeImage = -4, // SQL_LONGVARBINARY SQLDMO_DTypeFloat4 = 7, // SQL_REAL SQLDMO_DTypeFloat8 = 8, // SQL_DOUBLE SQLDMO_DTypeInt1 = -6, // SQL_TINYINT SQLDMO_DTypeInt2 = 5, // SQL_SMALLINT SQLDMO_DTypeInt4 = 4, // SQL_INTEGER SQLDMO_DTypeMoney4 = 3, // SQL_DECIMAL SQLDMO_DTypeMoney = 3, // SQL_DECIMAL SQLDMO_DTypeDateTime = -2, // SQL_BINARY SQLDMO_DTypeDateTime4 = 93, // SQL_TYPE_TIMESTAMP SQLDMO_DTypeBit = -7, // SQL_BIT SQLDMO_DTypeUChar = -8, // SQL_WCHAR SQLDMO_DTypeUVarchar = -9, // SQL_WVARCHAR SQLDMO_DTypeGUID = -11, // SQL_GUID SQLDMO_DTypeNText = -10, // SQL_WLONGVARCHAR SQLDMO_DTypeBigint = -5, // SQL_BIGINT SQLDMO_DTypeSQLVariant = -150, // SQL_VARIANT } SQLDMO_QUERY_DATATYPE;
[27 Jul 2004 23:35]
[ name withheld ]
Turns out I was trying to replicate a table that contained an nvarchar column (unicode). I assume this won't be supported until MyODBC v3.52.x
[28 Jul 2004 22:25]
Timothy Smith
Hi, Jeffrey. I'm sorry, but you're right - we can't fix Unicode-related problems in 3.51. A new version, 3.53, is being developed now with full compliance with the ODBC spec as the target, and with support for all MySQL features.