ID: Q124279
The function srv_pfield does not return a null terminated string when the field length is exactly 30 characters. This may cause DB-Library (DB-Lib) 20003 errors if you pass this resultant string to DB-Lib login structure.
NOTE: The length returned is still correct.
The following code fragment can be used to ensure that a null terminated string of the correct length is copied into the destination buffer:
char buf[31];
strncpy(buf,srv_pfield(.....),30);
strcat(buf,'\0');
Microsoft has confirmed this to be a problem in OPENDSNT versions 4.2 and 4.21. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.
Additional query words: ods dblib
Keywords : kbprg SSrvODS kbbug4.20 kbbug4.21 SSrvWinNT
Version : 4.2 4.21
Platform : WINDOWS
Last Reviewed: May 1, 1997