Hello,
I know it's quite old and maybe it's solved, but I had a similar issue with the message ERROR #815: User not authorized for service %Service_WebGateway
In my case, the problem was in the resources setup (/csp/sys/sec/%25CSP.UI.Portal.Resources.zen). By giving public permission to the gateway , the system started to work:
Hope this helps!
Just for fun, or to see if AI matches the experts, I've asked the question to Mixtral. This is what it is explaining:
Yes, I can certainly explain the difference between %ResultSet.SQL and %SQL.Statement in Intersystems Cache ObjectScript.
%ResultSet.SQL is a class that provides a result set interface for executing SQL queries. It allows you to iterate over the rows returned by a SQL query and access the columns as properties of each row. Here's an example of how to use %ResultSet.SQL:
SET rs = ##class(%ResultSet.SQL).%Open("SELECT * FROM mytable") DO WHILE (rs.%Next()) { SET column1 = rs.column1 SET column2 = rs.column2 // Do something with the columns } rs.%Close()On the other hand, %SQL.Statement is a class that provides a statement interface for executing SQL queries. It allows you to prepare a SQL statement and then execute it multiple times with different parameter values. Here's an example of how to use %SQL.Statement:
SET stmt = ##class(%SQL.Statement).%New() DO stmt.%Prepare("SELECT * FROM mytable WHERE column1 = :val1 AND column2 = :val2") DO stmt.%Execute(val1, val2) DO WHILE (stmt.%Fetch()) { SET column1 = stmt.column1 SET column2 = stmt.column2 // Do something with the columns } stmt.%Close()In summary, the main difference between %ResultSet.SQL and %SQL.Statement is that %ResultSet.SQL is used for iterating over the rows returned by a SQL query, while %SQL.Statement is used for preparing and executing a SQL statement multiple times with different parameter values.
![InterSystems IRIS Core Solutions Developer Specialist](https://images.credly.com/images/44ad9e06-ae9e-4b13-9eb2-545da56031cc/image.png)
I use this on Windows to automatically restart any instance. Probably simply changing "\" by "/" will do the trick, and change stopstart for stop: