NetDDE dies sporadically

Decamber

Member
Join Date
Sep 2008
Location
Middle
Posts
14
Hello,

We're having problems with netdde dying on a Windows 2000 Server machine running InSQL. The computer is connected to a GCOM DDE Server which InSQL collects data from. Everything works fine except the DDE communication dies once or twice a month only to be recovered by a complete restart.

When the error appears, InSQL Control tries to connect but doesn't manage to. In Windows event log (system) we first get the following error:
Code:
 Event Type:             Error
  Event Source:             NetDDE
  Event Category:             None
  Event ID:             14
  Date:                  2010-06-05
  Time:                  20:06:34
  User:                  N/A
  Computer:             DUMBO
  Description:
  DdeGetQualityOfService() failed: 87
And then the log fills up with another message and doesn't stop until you stop InSQL control (or restart the computer, I don't remember exactly):
Code:
 Event Type:             Error
  Event Source:             NetDDE
  Event Category:             None
  Event ID:             20
  Date:                  2010-06-05
  Time:                  18:50:38
  User:                  N/A
  Computer:             DUMBO
  Description:
  Could not create client-side agent window for "" client

I've done some resarch and the function DdeGetQualityOfService() lies in User32.dll (Windows API) but I can't find any documentation on this. Another function, DdeSetQualityOfService(), is on the other hand documented and it has the following definition:
Code:
 [FONT=&quot]BOOL WINAPI DdeSetQualityOfService([/FONT]
  [FONT=&quot]  __in   HWND hwndClient,[/FONT]
  [FONT=&quot]  __in   const SECURITY_QUALITY_OF_SERVICE *pqosNew,[/FONT]
  [FONT=&quot]  __out  PSECURITY_QUALITY_OF_SERVICE pqosPrev[/FONT]
  [FONT=&quot]);[/FONT]
A guess is that a failed function call result in raising a global error variable which is interpreted by the function DdeGetLastError(). The documentation of this function does not state any error with number 87. However, the general Windows API error code 87 means [FONT=&quot]ERROR_INVALID_PARAMETER and is raised when you pass an invalid parameter when you make a function call. DdeGetLastError() has a similar error code [/FONT][FONT=&quot]0x4006 DMLERR_INVALIDPARAMETER and I guess this is the error we actually get.

The documentation on this error says:
[/FONT] A parameter failed to be validated by the DDEML. Some of the possible causes follow:


The application used a data handle initialized with a different item name handle than was required by the transaction.


The application used a data handle that was initialized with a different clipboard data format than was required by the transaction.


The application used a client-side conversation handle with a server-side function or vice versa.


The application used a freed data handle or string handle.

More than one instance of the application used the same object.
Another guess of mine is thatthe hwndClient suddenly blanks out, ie gets the value NULL. The other error message we receive in Windows event logger confirms this: "Could not create client-side agent window for "" client"

So. The problem seems to be that the NetDDE client suddenly dies. But I have no clue on how to debug this further. I have no experience with NetDDE programming. Does anyone out there on PLCTalk have any hints on what I could do?

The system is configured as follows:

Windows 2000 Server SP3 (5.00.2195)
InSQL 7.1.080
Microsoft SQL Server 7.00.263
XEON CPU.

If not software related, could this be a memory problem? Would it be advisable to run prime95 or similar?

Thank you in advance. Any help is very appreciated. I don't know to whom I should turn, since Windows 2000 is no longer supported and InSQL 7 is deprecated.
 
This might be a long shot, but is there any possibility that the NetDDE service itself has failed?

If this happens to be the case, you can ask Windows to attempt to restart the service upon failure.

Here's a screenshot of the Services->NetworkDDE->Recovery tab:

attachment.php


-Trevor

NetDDERestart.png
 
Thanks for the tips, but I've already tried that without fortune. Restarting the services NetDDE and NetDDE DSDM doesn't make any change.
 

Similar Topics

Is anybody aware of NetDDE diagnostic software, possibly with the ability to monitor or display the nodes a server or client is communicating...
Replies
2
Views
1,711
HI all guru's, I have a Windows2000 SP4 PC with Excel 2000 running on it. I have to interface NetDDE data into Excel from various VAX...
Replies
5
Views
2,428
I currently have a Wonderware application on our plant network and I am trying to display tag values in an Excel spreadsheet on my PC. After...
Replies
13
Views
5,561
Complete newbie with polling data from InTouch. I am on site developing a supervisory control system and have limited access to the PC running...
Replies
10
Views
14,066
I read in one of the recent replies that XP SP2 does not support NETDDE is this correct or is it just that SP2 firewall is an issue and it just...
Replies
0
Views
3,648
Back
Top Bottom