I've been fighting with a stored procedure this afternoon. The tag change script I'm writing preps the call, registers the in/out parameters, then executes it. The prepare statement looked like:
call = system.db.createSProcCall("MyProc")
It took me a while, but I finally noticed this buried in the error stack: java.lang.IllegalArgumentException: Cannot find database connection - name cannot be empty
The documentation for createSProcCall says, "The name of the database connection to execute against. If omitted or "", the project's default database connection will be used. [optional]", so I didn't think I needed to specify the database connection name. Once I added that, it worked.
Am I misunderstanding how this is supposed to work? This is on Ignition 8.3.0.