Try OpenEdge Now
skip to main content
.NET Open Clients
Accessing Proxy Properties : Alphabetical listing of properties : PROGRESS.Session.NoSchemaMarshal
 

PROGRESS.Session.NoSchemaMarshal

Data Type:

Boolean

Session model:

Session-free and session-managed
When set to true, this property prevents .NET from sending schema information to the AppServer for input-output and output DataSet and DataTable properties. The property applies to all DataSet and DataTable parameters for subsequent method calls. Set the property before a proxy method is called. Reset the NoSchemaMarshal property back to false for subsequent proxy method calls if needed.
This property must be used for output only DataSet or DataTable parameters, and not the ProDataTable.SetNoSchemaMarshal( ) method.
This is because the c# compiler considers an output parameter unassigned and it must be assigned before its value is used, therefore, the .NET proxy code is not able to look at the output DataSet or DataTable object to detect if SetNoSchemaMarshal( ) was called.
The property can be used in place of the ProDataTable SetNoSchemaMarshal( ) method. Use this method if you need all DataSet and DataTable parameters in a single proxy method to not pass schema info from .NET to the AppServer.
For example:
RunTimeProperties.NoSchemaMarshal = true;
appObj.getMyDSet(1, out myOutDS);
See SetNoSchemaMarshal( ) for more details on disabling schema marshaling.
This property applies to the RunTimeProperties class only (it does not apply to Connection objects).
Note: This property affects schema marshaling from the .NET Open Client to the AppServer only. To alter marshaling from the AppServer to the client, you can use the -ttmarshal startup parameter, or you can use the temp table properties NO-SCHEMA-MARSHAL and MIN-SCHEMA-MARSHAL. For more information, see OpenEdge Deployment: Startup Command and Parameter Reference and OpenEdge Development: ABL Reference.

Default:

False