The JadeSchemaLoader application enables you to deploy schema changes directly to an application server running in single user mode without having to stop any applications that are running.
For details about JadeSchemaLoader application security, see "Security Considerations", later in this document
You can run this non‑GUI application:
As a presentation (thin) client
The loader parameters, or arguments, are specified between the startAppParameters and endAppParameters arguments.
jade.exe schema=RootSchema app=JadeSchemaLoader ini=JADE‑initialization‑file‑path AppServer=remote‑TCP/IP‑address‑or‑name‑of‑application‑server AppServerPort=TCP/IP‑port‑number‑of‑application‑server startAppParameters load‑command‑line‑arguments endAppParameters
The following is an example of the command line for loading a Test schema from a presentation client.
jade.exe schema=RootSchema app=JadeSchemaLoader path=d:\jade\system ini=d:\jade\myjade.ini AppServer=MyAppServer AppServerPort=1234 startAppParameters schemaFile=d:\jade\scm\test.scm ddbFile=d:\jade\scm\test.ddx dontSaveSources=true deletePropertiesIfAbsent=true loadStyle=onlyStructuralVersioning replayableReorg=true compileUnchangedMethods=true endAppParameters
From jade.exe in single user or multiuser mode standard (fat) client
The loader arguments are specified after the
jade.exe schema=RootSchema app=JadeSchemaLoader ini=JADE‑initialization‑file‑path path=database‑path server=multiUser|singleUser startAppParameters load‑command‑line‑arguments
The following is an example of the command line for loading a Test schema from a standard (fat) client.
jade.exe schema=RootSchema app=JadeSchemaLoader path=d:\jade\system ini=d:\jade\myjade.ini startAppParameters schemaFile=d:\jade\scm\test.scm ddbFile=d:\jade\scm\test.ddb dontSaveSources=true deletePropertiesIfAbsent=true loadStyle=onlyStructuralVersioning replayableReorg=true compileUnchangedMethods=true
From jadclient.exe in single user or multiuser mode from a non‑GUI client
The loader arguments are specified after the startAppParameters argument.
jadclient.exe schema=RootSchema app=JadeSchemaLoader ini=JADE‑initialization‑file‑path path=database‑path server=multiUser|singleUser startAppParameters load‑command‑line‑arguments
The following is an example of the command line for loading a Test schema from a non‑GUI client.
jadclient.exe schema=RootSchema app=JadeSchemaLoader path=d:\jade\system ini=d:\jade\myjade.ini startAppParameters schemaFile=d:\jade\scm\test.scm ddbFile=d:\jade\scm\test.ddx dontSaveSources=true deletePropertiesIfAbsent=true loadStyle=onlyStructuralVersioning replayableReorg=true compileUnchangedMethods=true
From your application code, by calling the
app.startApplicationWithParameter("RootSchema", "JadeSchemaLoader", parameters);
The result of the load action is returned as the last parameter in the array. A zero (0) value indicates no error.
“result=error‑code”
The following is an example of the JADE code for loading the Test schema.
vars parameters : HugeStringArray; proc : Process; pos : Integer; result : Integer; begin beginTransientTransaction; create parameters sharedTransient; parameters.add("schemaFile=d:\jade\scm\test.scm"); parameters.add("ddbFile=d:\jade\scm\test.ddx"); commitTransientTransaction; proc := app.startApplicationWithParameter(rootSchema.name, "JadeSchemaLoader", parameters); // wait for the process to complete while app.isValidObject(proc) do process.sleep(1000); endwhile; // extract the result of the load from the last parameter in the list pos := parameters.last().pos("result=", 1); if pos > 0 then result := parameters.last()[ pos + 7 : end ].Integer; endif; end;
For details about:
The arguments for the JadeSchemaLoader application and batch jadloadb program, see "Loader Arguments", later in this document.
The
Running a batch jade or jadclient program to load schemas and the startAppParameters and endAppParameters arguments, see "
Displaying and redirecting the output from JADE batch utilities, see the
The non-GUI JadeSchemaLoader application run from the jade or jadclient program outputs standard load information to stdout and error information to stderr.
Each phase of the load operation and error messages are output to the JadeSchemaLoader.log file. A load failure is indicated by a non‑zero exit code from the process.