While trying to access a database on local SQL Server I get an error message: 'General SQL Server error: Check messages from the SQL Server.'
The SQLSvr.err file in C:\WINNT\Crystal shows following error:
SQL Server Message
Number : 170
State : 1
Severity: 15
Text : Line 1: Incorrect syntax near '1'.
Server : CHCEMA-W1183
Line : 1
Tracing the operation proves that a redundant '1' is put between the parenthesis at the end of SQL statement:
SELECT a.name, user_name (a.uid), a.type FROM sysusers c, sysobjects a WHERE c.uid=user_id()AND a.type IN('~','U','V','P')AND (suser_id()=1 OR a.uid=user_id() OR ((SELECT max(sign(uid)*(2-sign(uid-user_id()))*2+protecttype) FROM sysprotects b WHERE b.id=*a.id AND (b.uid=0 OR b.uid=user_id() OR b.uid=*c.gid) AND (action=193 OR action=224))1)=1)
Apparently, this is a bug of the native SQL Server driver p2ssql.dll (or pdssql.dll). Replacing these files with the latest versions from:
does not help.
Do someone knows a way of fixing the problem with the buggy driver?
Many thanks in advance!
The SQLSvr.err file in C:\WINNT\Crystal shows following error:
SQL Server Message
Number : 170
State : 1
Severity: 15
Text : Line 1: Incorrect syntax near '1'.
Server : CHCEMA-W1183
Line : 1
Tracing the operation proves that a redundant '1' is put between the parenthesis at the end of SQL statement:
SELECT a.name, user_name (a.uid), a.type FROM sysusers c, sysobjects a WHERE c.uid=user_id()AND a.type IN('~','U','V','P')AND (suser_id()=1 OR a.uid=user_id() OR ((SELECT max(sign(uid)*(2-sign(uid-user_id()))*2+protecttype) FROM sysprotects b WHERE b.id=*a.id AND (b.uid=0 OR b.uid=user_id() OR b.uid=*c.gid) AND (action=193 OR action=224))1)=1)
Apparently, this is a bug of the native SQL Server driver p2ssql.dll (or pdssql.dll). Replacing these files with the latest versions from:
does not help.
Do someone knows a way of fixing the problem with the buggy driver?
Many thanks in advance!