| 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.
