July 14, 2008, 05:22 PM
jelli4908MSSQL Error
I have a procedure that is giving me an error message and I'm hoping you guys can help me. It is using MSSQL.
The procedure is:
-SET &USERIN=GETTOK(&REMOTE_USER,25,2,'\ ',15,'A15');
-SET &USERIN=TRIM('B',&USERIN,15,' ',1,'A15');
TABLE FILE VWUSERPERMS
PRINT USERNAME USERID
WHERE USERNAME EQ '&USERIN';
END
And the error message is:
FOC1400) SQLCODE IS 105 (HEX: 00000069) XOPEN: HY000
: (105) [HY000] [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Unc
: losed quotation mark before the character string 'jelli4908'. (170) [HY0
: 00] [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Line 1: Incorr
: ect syntax near 'jelli4908'. (16945) [HY000] [Microsoft][SQLServer 2000
: Driver for JDBC][SQLServer]The cursor was not declared.
L (FOC1406) SQL OPEN CURSOR ERROR. : VWUSERPERMS
Thanks in advance!
Josh
July 14, 2008, 05:26 PM
Francis MarianiWhat does the variable &USERIN contain?
Did you turn ECHO On to see the result of your Dialogue Manager code?
Francis
Give me code, or give me retirement. In FOCUS since 1991
Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
July 14, 2008, 05:55 PM
WazI agree with Francis, what is in the &USERIN variable.
Could there be a non-printable char in there.
I would suggest using UFMT to see the contents of the variable in HEX.
I would also suggest turning on SQL tracing to see what is sent to SQL server.
July 14, 2008, 07:10 PM
jelli4908Thank you Francis and Waz. You both got me thinking about it and I finally figured it out.
There was a blank space at the end of the value in the &USERIN variable. I used the ARGLEN function to solve this problem.
Thanks again!
Josh
July 15, 2008, 05:52 PM
WazJosh, you could also use the function TRUNCATE to trim the trailing spaces.