Question

2.5 second "pause" between when code exits and command line comes back (ThreadExit)

Asked by: BillBach

I have a Win32 command line application that uses ODBC calls to access any database.  Everything seems to be working great, except for a minor performance issue that we are now battling.  At the end of the code, as the application is termination, we are seeing a "pause" that can run as long as 2.5 seconds (or more).  

This is not in my code, but rather is AFTER my code exits.  The end of the application looks like this:
      if(DisplayTimes)
            PrintTime("Tearing Down SQL Environment");
      TearDownSQLEnvironment();
      if(DisplayTimes)
            PrintTime("Complete!");
      exit(ReturnStatus);
}

When run, I get a list of timestamps including the following:

18:29:43.650: Finished Data Read
18:29:43.650: Free Statement Handle
18:29:43.650: Disconnect from Database
18:29:43.728: Tearing Down SQL Environment
18:29:43.728: Complete!

As you can see, the call to disconnect from the database takes some time, but tearing down the environment takes almost no time at all.  The problem, though, is that the program is exiting, but control is not returned to the command line for some time thereafter.  The code snippet shows a Process Monitor trace that shows that the Thread Exit call is occurring at 18:29:43.719 (actually a bit BEFORE the program actually finishes, but this could be a timer issue).  In any event, nothing happens for the next 2.5 seconds and we sit there waiting for the command prompt to come back.  Even checking through the intervening calls with ProcMon, I don't see anything other than the typical "idle chatter" of AV and other agents.  (No, AV is not the issue, as I can duplicate the problem on other systems with no AV code.)

The application I am using is called SQLExec, and is also available for download from www.goldstarsoftware.com/tools.asp.  You can test it yourself to any ODBC database by issuing a command like this:
    SQLEXEC <DSNName> "SELECT TOP 1 * FROM TableName" /DT

The app is fast, but the delay FOLLOWING the app is positively maddening!  Help!

I've surmised that this is unloading of DLL's related to ODBC and the database, but I have not found a way to confirm this as of yet.  

17145	18:29:43.7198046	sqlexec.exe	4640	Thread Exit		SUCCESS	User Time: 0.0000000, Kernel Time: 0.0000000
19361	18:29:46.2529335	sqlexec.exe	4640	RegOpenKey	HKLM\Software\Microsoft\Windows NT\CurrentVersion\GRE_Initialize	SUCCESS	Desired Access: Read
19362	18:29:46.2529836	sqlexec.exe	4640	RegQueryValue	HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize\DisableMetaFiles	NAME NOT FOUND	Length: 20
19363	18:29:46.2530469	sqlexec.exe	4640	RegCloseKey	HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize	SUCCESS	
19365	18:29:46.2531342	sqlexec.exe	4640	Thread Exit		SUCCESS	User Time: 0.0312500, Kernel Time: 0.2031250
19374	18:29:46.2542871	sqlexec.exe	4640	Process Exit		SUCCESS	Exit Status: 0, User Time: 0.0468750, Kernel Time: 0.1562500
19375	18:29:46.2545963	sqlexec.exe	4640	CloseFile	C:\Develop\Win32\SQLExec\Release	SUCCESS	
19377	18:29:46.2548343	sqlexec.exe	4640	CloseFile	C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03	SUCCESS

                                  
1:
2:
3:
4:
5:
6:
7:
8:

Select allOpen in new window

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2008-05-09 at 16:48:23ID23391082
Tags

C

Topics

C Programming Language

,

Windows Programming

Participating Experts
5
Points
500
Comments
29

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. DTS Vs ODBC
    What is a better option when it comes to data conversion,DTS or ODBC...can anybody enlighten me on the pros and cons of both or refer me a site...please.
  2. DTS/ODBC problem
    Hi , i have a dts package which as its first step creates a connection to a nsf file (notes database). The second step is a transformation of data from the nsf database to a sql server 2000 table. However, when i execute the package i receive the error message "driver's ...
  3. DTS Schedule Fails - ODBC Connection to Progress Datab…
    using a Merant 3.70 32-bit Progress ODBC driver, i can append data to an existing table structure manually through a DTS package. if i try to schedule it as a job within the SQL Server Agent, it fails. Suggestions? ---ssam following is the actual error message: DTSRun: L...

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: Infinity08Posted on 2008-05-10 at 01:17:51ID: 21538206

Since you suspect that the delay is caused by the exit call, it's worthwhile to investigate everything that exit does :

1) the functions registered with atexit are executed (do you have any ?)

        http://www.cplusplus.com/reference/clibrary/cstdlib/atexit.html

    On Windows, also check functions registered with _onexit

        http://msdn.microsoft.com/en-us/library/zk17ww08(VS.80).aspx

2) the streams are closed after flushing their buffers (do you have any open streams, especially file streams ?)

3) temporary files are deleted (does your code use any temporary files ?)

4) control is returned to the host environment


Make sure to not only check your code, but also the libraries you are using, etc.

 

by: BillBachPosted on 2008-05-10 at 06:51:23ID: 21539043

Been a C programmer a long time...

1. I have no atexit functions registered by the code.  Will check the MS paper on Windows functions.  
2. I already checked for open files, unfreed memory, or anything else of the like.  If there was a file left open, I expect that I'd see it in FileMon.  I will certainly check again.
3. We use no temp files or other structures.  
4. Other command-line apps we've written don't exhibit the same delay.

The only library set that we are using is the ODBC library, so perhaps that has a problem with it.  I can start re-building the code block by block, adding one function call at a time until I see the pause, and perhaps that will give some insight as to what is happening.

 

by: Infinity08Posted on 2008-05-10 at 08:09:16ID: 21539303

Since you've verified that it's not the exit call itself that causes the problem (unless the ODBC library does some funky stuff with files), it seems to be something Windows and/or ODBC specific, for which I'll be of less help to you.

I can act as a second set of eyes though ... A few observations :

1) I notice that two threads need to be shut down, and the delay is after shutting down the first thread. What is the other thread ? Could it be that ODBC creates an extra thread ?

2) Then, there's a big delay, before it does something with the GRE_Initialize key, which seems to be related to raster fonts (http://207.46.192.254/technet/prodtechnol/windows2000serv/reskit/regentry/11833.mspx?mfr=true). What happened during that delay ? Was the CPU/memory active ? (ie. was the process running or suspended ?)



I assume you checked the standard stuff like virus scanners and other software that might interfere.

Is this something that happens consistently ? Always with the same delay ? On different kinds of systems/OS's ?

 

by: BillBachPosted on 2008-05-10 at 10:44:43ID: 21539911

1) The app is single-threaded, so only one thread is mine.  It could be an ODBC thread created in the background, but I would expect that disconnecting would clear that up.  I'll certainly review the ODBC specs & see if there's something else I'm missing at shutdown.

2) During the delay, there's no real CPU utilization.  My thread is idle, and there's nothing even above 2-3% in TaskMan.  

3) AV disabled -- no difference.  Of course, since I'm not reading or writing any files, I expect no change.  Delay is almost always there, and exists on multiple machines.  I did find ONE test in which it is NOT there -- if I provide an incorrect DSN, then the app exits immediately.  This leads me to believe that it is something to do with ODBC even more.

I will do some more testing on Monday by commenting out specific calls & see at what point it shows up.  More to follow then...

 

by: Infinity08Posted on 2008-05-11 at 01:28:27ID: 21541830

>> but I would expect that disconnecting would clear that up.

That would explain why the timestamp of the first thread exit is between these two logs :

        18:29:43.650: Disconnect from Database
        18:29:43.728: Tearing Down SQL Environment


>> 2) During the delay, there's no real CPU utilization.

It's just waiting for something then ... Did you try stepping through the code with a debugger. Especially what happens between these two :

17145   18:29:43.7198046        sqlexec.exe     4640    Thread Exit             SUCCESS User Time: 0.0000000, Kernel Time: 0.0000000
19361   18:29:46.2529335        sqlexec.exe     4640    RegOpenKey      HKLM\Software\Microsoft\Windows NT\CurrentVersion\GRE_Initialize        SUCCESS Desired Access: Read

of course.

 

by: BillBachPosted on 2008-05-12 at 08:02:23ID: 21547556

Stepped through the debugger all the way to the end.  

I did find that although the debugger shows two threads being shut down at the end, the second one is an instance of the ConsoleWindowClass -- which must just be the command prompt.  

Eventually, my exit() function is called, and the delay has not yet occurred.  In fact, I traced it all the way through the runtime library, finally ending up inside the doexit() function.  The VERY last statement in this function is
    ExitProcess(code);
When I try to step INTO this call, it steps over it instead.  According to the MS page at
    http://msdn.microsoft.com/en-us/library/ms682658(VS.85).aspx
This call does several things, including calling DLL_PROCESS_DETACH.

Since the delay between my own exit() function and the termination of the window thread, I can only imagine that the problem is with the DLL_PROCESS_DETACH calls shutting down the ODBC interface.  Perhaps they just have way too much memory allocated, and it takes time to clear this out.  

If you have ideas on how to confirm this (or better yet, eliminate it), please advise.

 

by: Infinity08Posted on 2008-05-12 at 10:12:51ID: 21548734

>> the second one is an instance of the ConsoleWindowClass -- which must just be the command prompt.  

The second one is the main thread as far as I can see. It's the first one I'm not sure about which it is ... But I assume it was closed down by the code that disconnects from the database.


>> When I try to step INTO this call, it steps over it instead.  

And I assume that that's when it shows this log ?

        19361   18:29:46.2529335        sqlexec.exe     4640    RegOpenKey      HKLM\Software\Microsoft\Windows NT\CurrentVersion\GRE_Initialize        SUCCESS Desired Access: Read

Meaning that the delay is indeed inside the ExitProcess call ?


>> I can only imagine that the problem is with the DLL_PROCESS_DETACH calls shutting down the ODBC interface.

Sounds plausible. Unfortunately, as I said earlier, I'm no expert on Windows specific things.
Is there some cleanup you missed for the ODBC calls you made ? Do you have other code that uses the ODBC library in a similar way, but doesn't have the problem ?

If you want, you can get the attention of some more experts for this question ...

 

by: BillBachPosted on 2008-05-12 at 10:19:39ID: 21548803

I confirmed the threads via Spy++.  There are two threads associated with SQLEXEC (the process).  One is the process thread itself, which is closed first.   The second is reported as being a ConsoleWindowClass, which has all of the details for the console window that was opened.  

The pause comes BETWEEN the two thread shutdowns, with the latter shutdown coinciding with the termination of the command box.  This explains the GRE registry requests, since this stuff is all related to the console session itself.

As far as I can tell, everything is being done correctly in code -- each startup has a corresponding shutdown, each alloc has a free, etc.  If the connection fails, i.e. a bad DSN is provided, then there is no shutdown delay.  The delay ONLY occurs when a valid ODBC connection is made.

Any other command-line ODBC developers out there who can confirm or deny the presence of a shutdown delay on their own code???

 

by: Infinity08Posted on 2008-05-12 at 11:00:33ID: 21549146

>> One is the process thread itself, which is closed first.   The second is reported as being a ConsoleWindowClass, which has all of the details for the console window that was opened.  

That's odd. I've never seen that kind of behavior. The console window should not be marked with "sqlexec.exe", but rather "cmd.exe" or something similar. How is it that you are starting this application ? What version of Windows ?


>> Any other command-line ODBC developers out there who can confirm or deny the presence of a shutdown delay on their own code???

You can ask the moderators to get some more help for this question if you want - they can get the attention of experts from specific zones to this question. You can use the "Report abuse" link to get the moderator's attention (ignore the "abuse" part - the link is meant for more than just that).

 

by: BillBachPosted on 2008-05-12 at 11:36:44ID: 21549432

I was starting the app from the debugger with MS developer environment (on WinXP), which spawned its own command prompt window.  The screenshot attached shows the various results from Spy++.  The upper-left is the parent thread (my code) details.  The middle-top shows the "second" thread (the one that exits last) in the thread list, and the other 5 windows are the various tabs of the details behind it.  Again, it's a command-line application, so there is no window itself.

I'm not sure how to debug it directly from a CMD window, so perhaps this is just an extra artifact.  However, I do believe that it simply shows that the problem is NOT related to my thread, which closes first.  )I confirmed which is closing first by confirming the threadIDs reported by the debugger upon exit, which was reported as:
   The thread 0x1328 has exited with code 0 (0x0).
   The thread 0x1724 has exited with code 0 (0x0).
   The program 'C:\Develop\Win32\SQLExec\Debug\sqlexec.exe' has exited with code 0 (0x0).

Thanks for your help thus far.

 

by: Infinity08Posted on 2008-05-12 at 11:46:16ID: 21549503

>> I'm not sure how to debug it directly from a CMD window

But you have the same delay when you are not running it in a debugging environment (ie. directly from the command prompt) ? If you run it directly from the command prompt, and watch the output of the process monitor, does it also close two threads ?

I'm probably barking up the wrong tree, but this extra thread thing has me mystified :)

 

by: evilrixPosted on 2008-05-12 at 15:42:05ID: 21551071

JOOI: Is there any reason for using a 3rd party tool rather than the standard ODBC API?
http://msdn.microsoft.com/en-us/library/ms714562.aspx
http://msdn.microsoft.com/en-us/library/ms714177.aspx

 

by: BillBachPosted on 2008-05-12 at 15:48:22ID: 21551108

evilrix:  
I'm not sure I understand your question, or your links.  The ODBC API information is always helpful to have, but it doesn't speak of performance problems at shut-down time.  Please clarify?

 

by: evilrixPosted on 2008-05-12 at 15:55:01ID: 21551133

I am asking why you are using a 3rd party tool rather than the standard ODBC API available via Microsoft Data Access Components (MDAC) that comes as standard with Windows XP and 2003 server. I'm suggesting that using this might be a better way to implement your solution and, at the same time, solve your current problem.

http://msdn.microsoft.com/en-us/library/aa968814.aspx

 

by: BillBachPosted on 2008-05-12 at 16:41:32ID: 21551320

The "3rd party tool" is MY application -- and the one I am trying to eliminate the pause from.  SQLExec allows users to write ODBC-based SQL queries and execute them directly from a command line, which means that you can easily scheduled data exports, imports, maintenance procedures, and other such items -- essentially opening up the ability to do data work from any command line or batch file.  SQLExec (as my application) does make calls directly to the ODBC API.  Please see the original post for more information, or to download a current copy to see what it does.

If there is a command-line version of MDAC that allows for similar execution of statements and exporting to various formats without me having to maintain this tool, I'm all for it.  However, I thought MDAC was just another API...

 

by: evilrixPosted on 2008-05-12 at 22:23:50ID: 21552502

>> The "3rd party tool" is MY application -- and the one I am trying to eliminate the pause from
Right, so this...

"The application I am using is called SQLExec, and is also available for download from www.goldstarsoftware.com/tools.asp."

...is actually your program?

>> However, I thought MDAC was just another API...
Sorry, I thought this was a 3rd party tool you were using to provide the database connectivity; hence I suggested looking at MDAC. I re-read your Q again and, in my defense, it isn't completely obvious this is your app. Anyway, no matter at least we are all now on the same page... so, this being the case are you able to isolate a small code snippet that can reproduce the problem that you can post here for analysis?

 

by: BillBachPosted on 2008-05-13 at 05:14:40ID: 21554205

Yes, it is.

I will build a mini version of the tool that ONLY does the DSN connect/disconnect and see if we can duplicate it in that environment.  Will post back shortly.

 

by: evilrixPosted on 2008-05-13 at 07:35:51ID: 21555438

Ok, no worries and sorry for the confusion :)

Hopefully if you can provide some working code that can reproduce the problem we might be able to track down the problem.

Cheers.

-Rx.

 

by: PaulCaswellPosted on 2008-05-15 at 04:25:08ID: 21572357

Hi Bill,

Shot in the dark ... have you committed all transactions on any odbc statements you have performed?

I have seen issues in the past where odbc connections/statements go seriously tilt if the transactions are left uncommitted for long periods. Loads of memory gets used and deallocating it only at the end can cause serious thrash, especially if the queries are performed against temporary tables that are cleaned up BEFORE the statement is closed down.

Paul

 

by: PaulCaswellPosted on 2008-05-15 at 04:28:03ID: 21572371

Is there disk activity during the pause? If so, use FileMon to study which files are being manipulated.

Paul

 

by: BillBachPosted on 2008-05-15 at 06:42:40ID: 21573507

I haven't been able to create the stub code yet.  Customer business has to be done first. ;-)  Hope to get back to create this in the next few days, and I will post the code when it is available.

There are no transactions opened, and the query is a simple one.  In fact, I can see the same results with the simpler "SELECT 1" query, which returns a single value (1).  No other users are in the system, so there's no concurrency issues to worry about.  

I used the SysInternals tool Process Monitor, which includes file monitoring (FILEMON), registry monitoring (REGMON), and thread monitoring.  As you see in the original post, there is NO file activity during this multi-second pause.  

 

by: waysidePosted on 2008-05-15 at 07:08:18ID: 21573768

I downloaded your program and tried it, sad to say (or maybe not) I do not get any delay.

I'm running XP Pro SP2, connecting to SQL Server 2000 db on a server. We use the ODBC api extensively and have never seen an issue like this.

Pure speculation on my part as I am not a db expert, but maybe there is something in the way you configured the DSN or the database that is causing this. Or maybe your database server is very heavily loaded.

If there is anything else I can do to help, since it seems to work correctly for me, let me know.

 

by: Infinity08Posted on 2008-05-15 at 07:13:23ID: 21573816

BillBach, can you confirm or deny what I assumed in http:#21549503 ?

 

by: BillBachPosted on 2008-05-15 at 07:55:29ID: 21574305

Wayside: Let me try with SQLServer 2000 -- I have one of these in my office, too -- and maybe I'll see the same thing.  Unfortunately, I'm at a customer site through Friday and can't do this until I return.  Will also check the DSN config to see if something else is "off".

InfinityDB: I believe it still showed two threads -- will double check when I return to my office.

 

by: waysidePosted on 2008-05-15 at 08:30:27ID: 21574734

I just tried it with a SQLServer 2005 db, I still don't see any delay.

 

by: DanRollinsPosted on 2008-05-16 at 12:15:04ID: 21585571

A diagnostic shot in the dark:  
   Do other simple console programs cause a similar delay?

It occurs to me that you may have programs that have inserted Windows Hooks and, if for instance, there were a long chain of such hooks, and if any of them took time to clean up its act before shutting down, then you would see that delay (cumulative across multiple hooks) at that point.

-- Dan

 

by: BillBachPosted on 2008-05-16 at 12:20:18ID: 21585622

Nope.  And there's no shutdown delay if the database connection fails.

I'll be back in my office over the weekend, and I'll try a SQLServer connection, and perhaps a text and Excel and Access connection, too.  Will post results when I narrow it down.

 

by: BillBachPosted on 2008-05-21 at 06:07:07ID: 21614574

Latest Update:  Strange. I have now tested on both MSAccess and SQLServer data sources, and neither returns the same delay when accessing ODBC.  I ONLY get the delay when accessing a Pervasive.SQL data source.  I think this re-directs where I need to be looking (probably at just the pervasive ODBC drivers), and although it doesn't invalidate the original question, it certainly makes it harder to use other people's help to track it down.

I will work with Pervasive Software on this to see if THEY can tell me anything about what is happening.  Strange, though, that I cannot see anything at the OS level.  If anyone has any other ideas on how to test/troubleshoot, please advise.

I'm going to leave this open for a few days yet to see if there's any other ideas....

 

by: BillBachPosted on 2008-05-23 at 08:04:08ID: 31456699

We still haven't identified the problem, but I believe that the problem is within the Pervasive ODBC driver, for which I'll need to work with the vendor for further information.  Thanks to all those who could help and tried to duplicate the issue with me.  Seeing that SQLServer did NOT impose the same delay was quite helpful.

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...