TechTalk Genome v4.2

Schema Compiler Command Line Options

ddsc.exe [-refpath:assembly-lookup-path] [-dbscript:database-script.sql] [-createfunctions [-host:host-name] -db:catalog-name [-uid:user-id [-pwd:password]]] [-keyfile:schema-assembly-key.snk] [-version:schema-assembly-version] [-fileVersion:schema-assembly-file-version] [-showtrace] [-debug] [-warnaserrors] [-nowarn:warn1,warn2...,warnn] [-noversioncheck]
[-reference:assembly-name1 ... -reference:assembly-namen]
platform-mapping.xml source1.xml ... sourcen.xml schema-assembly.dll
ddsc.exe @command-line-file
A folder name specifying the assembly lookup path to search for the referenced assemblies.
Name of the file where the SQL commands for creating the database structure of the compiled schema are written.
If the createfunctions switch is specified, stored functions generated by the schema are created in the specified catalog-name.
The host name of a Microsoft SQL Server to use in order to create generated stored functions. The local machines server where the compiler is executed is used when host-name is omitted.
A catalog name specifying the database in which to create generated stored functions.
A database user to authenticate with the Microsoft SQL Server server located on host-name. The domain user's credentials are used for authentication when user-id is omitted.
A password to be used to authenticate user-id with the database server. Blank password will be used if the password is omitted.
The name of the file containing the key pair used to generate a strong name for the schema assembly. The file name can be specified by an absolute file path or a file path relative to the directory the schema compiler is executed from. When this option is omitted, the generated assembly does not have a strong name.
The assembly version of the generated schema assembly in form. The system default version is used when schema-assembly-version is omitted.
The Win32 file version of the generated schema assembly in form. The system default version is used when schema-assembly-file-version is omitted.
When the warnaserrors switch is specified, the schema compiler treats all warnings generated during compilation as errors, except those that is has been instructed to supress with the nowarn switch.
Specified warnings (given by their number) are not reported during compilation, neither as warnings nor as errors, when the warnaserrors switch is specified.
When the showtrace switch is specified, the schema compiler reports errors that occured during compilation, including the full stack trace of the exception thrown.
When the debug switch is specified, the schema compiler generates the schema assembly with debugging information.
The schema compiler checks if the Genome assemblies referred from the business schema assemblies are of the same version as the assemblies referred from the schema compiler itself. If the versions do not match, an error is reported. In order to suppress this check, the noversioncheck switch has to be specified.
A fully qualified or partial assembly name.
A database platform-specific mapping file. The following table contains the appropriate values for the different database platforms:
Microsoft SQL Server 2000sql.xml
Microsoft SQL Server 2005MsSql2005.xml
Microsoft SQL Server CEsqlce.xml1
Orcale 9iR2oracle9i.xml2
Orcale 10gR2oracle10g.xml2
IBM DB2 (DataDirect Connect)DDTek.DB2.xml3
1The Microsoft ADO.NET provider for SQLCE 3.1 has to be referenced in the DataDomain Schema project. 2The Microsoft ADO.NET provider for Oracle has to be referenced in the DataDomain Schema project. 3 The TechTalk.Genome.DB2Provider.dll assembly has to be referenced in the DataDomain Schema project.
A list of schema definition XML files that are used as a source of the schema compilation. If the sourcen.xml is an embedded resource file in Genome assemblies and there is no such file in the file system, the file from the resource is used.
A name of an assembly that the compiled schema is generated to.
A file that lists compiler options or schema definition XML files to compile. The compiler options in the command-line-file can be placed in multiple lines. Lines beginning with the # symbol are ignored.


The ddsc.exe contained by the Genome SDK can be used to compile a data domain schema from the schema definition files. The sourcen.xml schema definition files are the source of the compilation. They can be XML files in the filesystem, or Genome embedded resource files. The compilation loads the referred assemblies from the source files, probing the following paths in the file system:

  1. the folder that ddsc.exe is located in
  2. the Global Assembly Cache of the machine if the assembly was specified with a fully qualified name
  3. the assembly-lookup-path specified for schema compilation
  4. the Global Assembly Cache of the machine if the assembly was specified with a partial name

Figure 1: Schema Compilation

The primary output of schema compilation is a schema-assembly that contains the compiled schema and proxy classes. If the file exists and is not read-only, it is overwritten. If the file exists and is readonly, an exception is thrown. Otherwise, a new file is created.

Specifying the database-script.sql creates an SQL script file with database creation commands for the targeted platform.

If the schema definition includes stored functions that are to be created, the database-script.sql also contains commands that create those stored functions. The schema compiler can also create stored functions directly in the application database by providing the createfunctions switch and specifying the application database by using catalog-name and optionally host-name, user-id and password.

During compilation, the schema compiler reports on accomplished phases to the standard output. If compilation fails, an error message is written to the standard output and the compilation stops with an exit code greater than zero. The showtrace switch can be used to obtain full stack traces when exceptions are thrown.

The @ option lets you specify a file that contains compiler options and schema definition XML files to compile. These compiler options and schema definition XML files are processed by the compiler in the same way is if they had been specified on the command line. You can specify more than one command line file.

See Also

Schema Definition Language Syntax Guide | <Reference> Element | <StoredFunction> Element