The SOCI git version odbc backend contains a bug when parsing the sql
statement to replace :name with ? prior to executing prepared
statements. The function odbc_statement_backend::prepare in
statement.cpp contains a parse state eInAccessDate which gets entered
when encountering a # character. The # character is used for denoting
temporary tables in SQL Server though.

The consequence is that the parser will enter the eInAccessDate when
encountering a SQL Server temporary table and replace all following :
characters with ? - whether they are escaped in strings or comments or not.

Solution? I don't know. Don't put server specific logic in the ODBC
backend I guess. Since I'm not using Access I have simply disabled the
special handling logic. I'm sure people using SOCI with Access will bark
at this, so I don't know how to fix this properly for everybody...

cheers,

    Sören

------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
Soci-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/soci-users

Reply via email to