Strange ADO.NET/Sybase/Sybase OLEDB problem

S

Steve

We've recently run in to a very strange problem with a windows service that
we have developed in VB.NET and that accesses a Sybase database using the
Sybase OLEDB driver via ADO.NET.

Every morning about 5am, the windows service checks a specified directory,
looking for data export files. If it finds them then it parses them, uploads
the contents to a set of temporary tables and then runs a stored procedure
(call it MergeData) to merge the needed data from the temporary tables in to
the tables used by our main system. It then fires off another couple of
stored procedures to prepare report data and then a set of reports are
generated.

This has all worked fine for a couple of months now. All of a sudden the
MergeData stored proc has started to finish prematurely before it has
completed all of the processing it is supposed to do. The strange thing is
that it doesn't raise any errors back to the windows service. It just seems
to stop doing what it was doing before it has completed all of the
processing and returns control to the windows service, which then carries on
with the other stored proc calls. The even stranger thing is that if we then
run the MergeData stored proc directly on the database it works fine and
completes all the processing it was supposed to do.

However, it gets even stranger. The same installation of the windows service
that was used on our live server was installed on our test server, the same
data export files were copied across and it works perfectly. The test server
uses the same versions of .NET framework, Sybase OLEDB driver and Sybase
database. So from the surface the test server looks to have exactly the same
software on it - both the software we developed and the third party software
we use.

Why would a stored procedure not complete when run from an application
(without throwing any errors) but work fine when run interactively from the
database (without throwing any errors)? And why would the same version of
the application on another environment work perfectly.

Both the command and connection timeouts on our OLEDB objects are set to
20mins and this timeout is not being reached. The process finishes
prematurely within about 9-10 minutes and then continues with the other
stored procs. We've had timeout issues before but they have always thrown
errors.

Has anyone seen this sort of problem using ADO.NET, Sybase or the Sybase
OLEDB driver? As you can see it's proving to be frustrating trying to
logically conclude where the problem resides. Our code seems fine on the
test server but doesn't seem to work on the live server. Therefore you'd
think it would be an environment issue, however the MergeData stored proc
works fine on the live server when run interactively from the database. Very
confusing! :)

Sorry for the crosspost but I haven't a clue which bit of our system the
problem resides in.

Thanks for any help you can give,

Steve
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top