Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

The sections below will help guide you through using and configuring various Schema Providers that ship with CodeSmith Generator.

...

Configuring MySQL Connector/Net

The MySQL Schema Provider doesn't require a specific version of the MySQL managed libraries. This is because it uses 

DbProviderFactories when interacting with MySQL. One must update all .NET Framework 4.0 machine.config's and add the MySQL provider to the DbProviderFactories element:

Code Block
languagehtml/xml
<system.data>
  <DbProviderFactories>
    <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
  </DbProviderFactories>
</system.data>
Info

Please ensure that you update the Version number (E.G., Version=6.7.4.0) with the version of the MySQL Connector/NET that you installed.

The .NET Framework 4.0 machine.config's can be found here:

  • %windir%\Microsoft.NET\Framework\v4.0.30319\Config\machine.config
  • %windir%\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config

SQLite Schema Provider

If you are trying to use the SQLite Schema Provider you may encounter the error message: 'The System.Data.SQLite library is not installed on this computer'. This error can occur for two reasons:

...

The .NET Framework 4.0 machine.config's can be found here:

  • %windir%\Microsoft.NET\Framework\v4.0.30319\Config\machine.config
  • %windir%\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
Next, you will need to copy the 64bit or 32bit SQLite assemblies that were installed via the System.Data.SQLite installer to CodeSmith Generators bin folder. This bin folder can be found in the location that you installed CodeSmith Generator to.

 

Info

You should copy the 64bit SQLite assemblies if you are using 64 bit windows.

Finally, you are ready to start using the SQLite Schema Provider!

PostgreSQL Schema Provider

Connecting to an PostgreSQL database

Please follow the steps outlined in the "Creating a new connection string" section for information on creating a new data source.

Info
Please see the following website for more information on PostgreSQL Connection Strings. Additional connection string parameters can be found here.

Please make sure the following statement is included in your ConnectionString: Preload Reader = true; Also you can limit what schema objects are returned by adding a SearchPath to your connection string.

Installing Npgsql

If you are trying to use the PostgreSQL Schema Provider you may be presented with an error message that states a FileNotFound was thrown. This can be resolved by installing the Npgsql libraries.

First, you will need to look at the error message and determine which version of the libraries need to be installed. This can be done by looking at the error message:

 

Code Block
languagehtml/xml
System.IO.FileNotFoundException: Could not load file or assembly 'Npgsql, Version=2.0.11.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7' or one of its dependencies. The system cannot find the file specified.

The error message is telling us that we need to install version 2.0.11.0 of Npgsql. We then navigate to the Npgsql downloads section and look for this version. You will need to download the .NET 4.0 compiled version (E.G., ending with bin-ms.net4.0.zip). After this has been done, unblock the zip and extract the files to a folder.  Next run GacUtil from an elevated Visual Studio command prompt and gac the two extracted assemblies as shown below.

Code Block
languagehtml/xml
gacutil -i Npgsql.dll
gacutil -i Mono.Security.dll

Finally, you are ready to start using the PostgreSQL Schema Provider!