Ticket Hash: | 647ec7268f5f3263b35e59880168e12405e8a007 | |||
Title: | Win64 variant compiles with wrong ODBC-related type definitions | |||
Status: | Closed | Type: | Build_Problem | |
Severity: | Critical | Priority: | Immediate | |
Subsystem: | Resolution: | Fixed | ||
Last Modified: | 2019-12-15 17:32:25 | |||
Version Found In: | 1.0.4 | |||
User Comments: | ||||
anonymous added on 2016-06-04 03:00:59:
TclError or, in some cases, crash during parameter binding or, in some cases, during statement execution. Apears for all scenarios requiring a pointer to a buffer length in the SQLBindParameter function (all string-qualified,all binary and NULL ) Problem will probably touch all Win64 ODBC versions since Win Server 2003 [source](https://msdn.microsoft.com/en-us/library/ms716287%28v=vs.85%29.aspx#Anchor_1). Problem appears if compiled without explicitly setting up includes for odbc libs instead of fakesql.h. Reason: line 72 of the file 'fakesql.h' there's '#if defined(__WIN64)' and probably should be '#if defined(_WIN64)'. SQLBindParameter expects pointer to 8byte SQLLEN, instead it gets 4byte SQLLEN. kbk added on 2019-09-13 16:34:45: Fix in progress: [https://core.tcl-lang.org/tdbcodbc/timeline?r=bug-647ec7268f] jan.nijtmans added on 2019-12-15 17:31:14: Fixed now in trunk. Will be available in next release most likely 1.1.2 |