Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Query´s to an older FB1.5-Server causes SQLDA-error [DNET846] #779

Closed
firebird-automations opened this issue Aug 29, 2018 · 12 comments
Closed

Comments

@firebird-automations
Copy link

Submitted by: Andreas Franz (andyfx12)

Sometimes (not reproducible) I get an non-specific "SQLDA"-error, if a simple query is send to an FB1.5 server. On server-side, there´s an error 10054 in logfile.
I can´t update to a newer Firebird-server version because of an older expensive special software with BDE-access.
Older providers (I guess <4.5) didn´t have this problem. I have updated provider to 6.2, because of an additional FB2.5-server I have to connect, too (in same application).
Is FB1.5 incompatible with newer providers? Are there any examples for detailled error-handling?

@firebird-automations
Copy link
Author

Commented by: @cincuranet

The communication is (or at least should be) backward compatible. But unless you can somewhat reliably reproduce it, I'm afraid I can't do much.

@firebird-automations
Copy link
Author

Commented by: Andreas Franz (andyfx12)

Thanks for your reply.

At the moment my "error-handling" is:
- closing the connection
- disposing the connection
- clear-all-pools
- opening a new connection
- fire the query again

It works - but it´s not really "clean". Any chance to get more specific error-message?

My query in real application looks like

select * from kunden where kundennr in (select kundennr from anlagen where anlagennr in (select anlagennr from wartauft where erledigt='0')) order by kundennr

I´ve disabled pooling - error occurs less often, but it occurs.

I´ve tested to reproduce with a "dirty" stress-test code:

- open a connection
- fire a query with a random ID from an entry
- read result
- close the connection
- repeat this for 100000 times
- start this program multiple times on server-machine (to prevent any network problems)

Sometimes error occurs nearly at once - sometimes it takes hours and need multiple restarts.

regards, Andy

@firebird-automations
Copy link
Author

Commented by: @cincuranet

Please share the complete exception (ex.ToString() is enough for start).

@firebird-automations
Copy link
Author

Commented by: Andreas Franz (andyfx12)

OK - I´ve modified my code from "ex.message" to "ex.tostring"

I´ll post the results.

Thanks a lot for your support!

@firebird-automations
Copy link
Author

Modified by: @cincuranet

status: Open [ 1 ] => In Progress [ 3 ]

@firebird-automations
Copy link
Author

Commented by: Andreas Franz (andyfx12)

Hallo Jiri,

after compiling my "Stresstest.exe" with your 6.2.0.0debug-Version I´ve found a bug in my code (because errors in firebird.log exists).
My code had closed "mydatareader" - indepent if my query has a result or not.
Closing a reader without result throws another exeption on FB1.5 server. I´ve fixed my bug - and even after 6000000 random queries with 6 parallel connections no error is occured.

I changed my code in productive tool, too - there´s no error since 3 days.

So I think my problem is gone - but if not, I´ll come back.

Thanks for your amazing work!

regards,

Andy

@firebird-automations
Copy link
Author

Modified by: @cincuranet

status: In Progress [ 3 ] => Resolved [ 5 ]

resolution: Cannot Reproduce [ 5 ]

@firebird-automations
Copy link
Author

Commented by: Andreas Franz (andyfx12)

Hallo Jiri,,

now I´ve got an errormessage:

03.09.2018 04:44:43;FirebirdSql.Data.FirebirdClient.FbException (0x80004005): SQLDA error ---> SQLDA error
bei FirebirdSql.Data.FirebirdClient.FbCommand.ExecuteReader(CommandBehavior behavior)
bei Stresstest.Datenbank.query(String mySelectQuery) in C:\Users\andreas.franz.STFRANZ\Documents\SharpDevelop Projects\Stresstest\Stresstest\Datenbank.vb:Zeile 48.;Microsoft.VisualBasic.ErrObject;DB;Stresstest

Line 48 shows:

myreader=myCommand.ExecuteReader(CommandBehavior.CloseConnection)

I´ve removed CommandBehavior.CloseConnection now - another test is in progress ....

regards,

Andy

@firebird-automations
Copy link
Author

Modified by: @cincuranet

status: Resolved [ 5 ] => Reopened [ 4 ]

resolution: Cannot Reproduce [ 5 ] =>

@firebird-automations
Copy link
Author

Commented by: @cincuranet

No further communication so far. Will reopen if somebody provides a reproducible test case.

@firebird-automations
Copy link
Author

Modified by: @cincuranet

status: Reopened [ 4 ] => Closed [ 6 ]

resolution: Cannot Reproduce [ 5 ]

@firebird-automations
Copy link
Author

Commented by: Andreas Franz (andyfx12)

Hallo Jiri,

since 6.3.0.0 no single error occured. Seems my problem is gone.

Thanks a lot!

regards,

Andy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants