Razorwings18
2010-Jan-08 21:12 UTC
[Wine] WINE + MSSQL 2000 + VB6 -> Numbers are rounded in recordset
Hi all, I've got a "straightforward" database querying problem with a Visual Basic 6 application that happens on Debian (+WINE), but not on Windows XP. SETUP: * COMPUTER "FREE" with: --- DEBIAN Lenny (Lang: Spanish) --- unixODBC + FreeTDS for ODBC conectivity to remote MSSQL2000 (tested, working) --- WINE 1.1.33 --- MDAC 2.8 (for channelling the ODBC connection through to unixODBC) * COMPUTER "M$" with: --- Windows XP (Lang: Spanish) --- MSSQL Server 2000 --- MDAC 2.8 PROBLEM: I create an ODBC connection to MSSQL2000 on VB6, and query a field (Numeric 9,2) into an ADODB.Recordset. On Windows, the program returns the complete field numeric value (2.44), but on Debian it rounds the number (2.00). On Debian, channelling the Query through isql properly returns 2.44, so it's most likely a WINE or VB6+WINE issue. LITTLE VB6 TEST PROGRAM CODE (returns 2.44 on Windows XP, but 2.00 on Debian): Code: Private oConn As ADODB.Connection Private Sub Command1_Click() Dim oRS As ADODB.Recordset Set oConn = New ADODB.Connection oConn.Open "DSN=myODBCDSN; UID=username; PWD=password;" Set oRS = New ADODB.Recordset oRS.Open "SELECT Price FROM GOODS WHERE idGoods = 10", oConn, adOpenDynamic MsgBox oRS("Price") oConn.Close Set oRS = Nothing Set oConn = Nothing End Sub The line oRS("Price") is where the problem is. Any pointers will be most welcome.
vitamin
2010-Jan-09 02:06 UTC
[Wine] Re: WINE + MSSQL 2000 + VB6 -> Numbers are rounded in records
Razorwings18 wrote:> I create an ODBC connection to MSSQL2000 on VB6, and query a field (Numeric 9,2) into an ADODB.Recordset. > On Windows, the program returns the complete field numeric value (2.44), but on Debian it rounds the number (2.00).Try native oleaut32.dll.
Razorwings18
2010-Jan-13 04:48 UTC
[Wine] Re: WINE + MSSQL 2000 + VB6 -> Numbers are rounded in records
In WINE 1.1.35, native OLE DB support was added. Since I could not find a solution using ODBC, I switched to a OLE DB DSN-Less connection taking advantage of this brand new feature and tried again. It worked! I could not find why ODBC gave me this problem, and now I can remain happily ignorant [hopefully]. [Laughing] Thank you all for your suggestions.
Razorwings18
2010-Jan-13 04:49 UTC
[Wine] Re: WINE + MSSQL 2000 + VB6 -> Numbers are rounded in records
In WINE 1.1.35, native OLE DB support was added. Since I could not find a solution using ODBC, I switched to a OLE DB DSN-Less connection taking advantage of this brand new feature and tried again. It worked! I could not find why ODBC gave me this problem, and now I can remain happily ignorant [hopefully]. [Laughing] Thank you all for your suggestions.