|
|
Choosing A Webhost: |
RE: Error: FreeTDS+WINE: msg#00080db.tds.freetds
>> From: Rainer [mailto:sourceforge@xxxxxxxxxxx] >> Sent: September 16, 2003 12:09 PM >> > >> > AFAIK, you're the first person to try FreeTDS with WINE. >> Big frameworks >> > like that tend to make a lot of calls and require a fairly complete >> > implementation. How close we are to what WINE needs, I >> don't know, but >> > I'm not surprised some things are missing. >> >> I'm probably not the first person to try this combination... AFAIK, >> FreeTDS is the only free and reliable option to migrate a >> 'sql2k-enabled' application to *nix/wine. > > I didn't know that. > >> This particular application is a government system used by >> thousands of >> people here in Brazil... if we manage to complete its >> migration to Linux, that would be great. > > Very interesting. I hope we can help. > > The log file unfortunately doesn't say anything helpful. There is a line: > > SQLFetch: NO_DATA_FOUND > > but that's normal (and should say so, IMHO). It just means you read the > last row. > > This area has been completely redone since 0.61.2; we received a giant > patch > that Frediano has been applying. That's why the message changed. > > So, let's look at the source. > >> "Run-time error 40002: 01S02: [FreeTDS][SQL Server] Option value >> changed" > > The message is generated by our _SQLSetStmtAttr(), used by > SQLSetStmtAttr() > and SQLSetStmtOption(). According to M$, it means, "The driver did not > support the value specified in ValuePtr, or the value specified in > ValuePtr > was invalid because of implementation working conditions, so the driver > substituted a similar value." I.e., we don't support it. > > However, according to the ODBC spec (documented in Microsoft's MDAC SDK), > when SQLSetStmtAttr() returns this SQLSTATE, it should return > SQL_SUCCESS_WITH_INFO. We don't; we return SQL_ERROR. For example, in > CVS, > src/obdc/odbc.c:4619: > > case SQL_ATTR_CONCURRENCY: > if (stmt->attr.attr_concurrency != ui) { > odbc_errs_add(&stmt->errs, "01S02", NULL, NULL); > ODBC_RETURN(stmt, SQL_ERROR); > } > stmt->attr.attr_concurrency = ui; > break; > > A quick fix which (afaict) can't hurt and might help, would be to change > those 7 cases to return SQL_SUCCESS_WITH_INFO, as they should. At least > that way, WINE wouldn't see it as an error. > > Anyway, I hope this is some use. Let us know how it works out. > > --jkl James, I've made the changes to the source code (odbc.c) as you suggested, and the error while running the application with wine has changed to: "Run-time error 40009: No current row". I've noticed something interesting in the logs this time... it actually goes a bit further, and tries to execute a stored procedure called by the application (EXECUTE dbo.spLicenca).. ('rainer-linux' is my machine's hostname... 'Licenca' = 'License' in portuguese) Ok, some additional facts... right at the beginning of the log, it says "converting 0 bytes of SYBASE"... is freetds assuming that this is a sybase database? (while in fact its mssql2k). The new log is here: http://www.powered.net/rainer/freetds-09-16.log Thanks again for the help, Rainer
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | RE: Error: FreeTDS+WINE, Lowden, James K |
|---|---|
| Next by Date: | Issue w/ SQLColumns calling stored procedures, Jonathan Monroe |
| Previous by Thread: | RE: Error: FreeTDS+WINE, Lowden, James K |
| Next by Thread: | RE: Error: FreeTDS+WINE, Lowden, James K |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
Free MagazinesCisco NewsReceive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business. subscribe Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field. subscribe The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business. subscribe Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company. subscribe Total Telecom Total Telecom is "The Economist of the communications industry". subscribe |