Configuring and troubleshooting a Schema Provider
原文:https://codesmith.atlassian.net/wiki/display/Generator/Configuring+and+troubleshooting+a+Schema+Provider
The sections below will help guide you through using and configuring various Schema Providers that ship with CodeSmith Generator.
Creating a new connection string
The Data Source window will check to see if a schema provider supports showing Connection String designer. If it doesn't, then you must manually enter a valid connection string into the Connection String text box. You must enter in a valid connection string for the Provider Type you are trying to use.
- If you're using the SqlSchemaProvider, connection strings follow the format used by the .NET SqlConnection.ConnectionString property.
- If you're using the ADOXSchemaProvider, connection strings follow the format used by the ADO ConnectionString property.
- If you're using the OracleSchemaProvider, please be sure to check out the link below for creating a connection string as well as the Connecting to an Oracle database section below.
- If you're using the PostgreSchemaProvider, please make sure the following statement is included in your ConnectionString: Preload Reader = true;
For all SchemaProviders, please be sure to use the proper ConnectionString for the Database Provider you are using. A great resource for building database ConnectionStrings can be found here.
Configuring a Schema Providers behavior
A schema provider may contain additional configurable logic that changes how the schema provider behaves. For example, you may only want to show the various schema objects for the current logged in user or allow CommandResultSchema information to be retrieved.
These settings can be configured in the Generator Options Schema Provider section as shown above.
Oracle Schema Provider
Connecting to an Oracle database
The first step is to add a new Data Source. Once the Data Source window is open, you will want to select the OracleSchemaProvider from the Provider Type drop down menu.
Next, you will want to click on the ellipse button (...) to build the connection string.
After you have filled out all of the required information, press the Test Connection Button or the OK button. If you could connect to your Oracle Server, then you are all done. If this doesn't work you may be scratching your head and thinking you are out of luck. The good news is your not. You will need to use a modified connection string that the Connection Properties UI doesn't account for.
"This is another type of Oracle connection string that doesn't rely on you to have a DSN for the connection. You create a connection string based on the format used in the tnsnames.ora file without the need to actually have one of these files on the client pc" (http://www.connectionstrings.com/oracle).
You will need to manually configure this connection string using the initial Data Source User Interface's Connection String text box (shown above). Below is an example of using an TNS-Less (Transparent Network Substrate) connection string.
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;
Please see the following website for more information on Oracle Connection Strings.
Installing Oracle Data Access Components (ODAC)
CodeSmith Generator is compiled as AnyCPU. This means that Generator will run as a 64bit process when you launch Generator outside of Visual Studio. If you are generating from within Visual Studio (32bit process), then CodeSmith Generator libraries will run as a 32bit process.
This is very important to understand as it determines which Schema Provider dependencies are resolved at run-time.
If you are trying to use the Oracle Schema Provider you may be presented with an error message that states a BadImageFormatException was thrown. This can be resolved by installing the ODAC libraries.
If you are running a 64bit version of windows, please install both the 32bit and 64bit versions.
Please visit the Oracle .NET Developer Center and download and install the latest versions of ODAC (32-bit, 64-bit). It is recommended that you restart your computer after installing the ODAC libraries.
MySQL Schema Provider
If you are trying to use the MySQL Schema Provider you may encounter the error message: 'The MySQL.Data.MySQLClient is not installed on this computer'. This error can occur because the MySQL Connector/Net ( MySql.Data.MySqlClient DbProvider) hasn't been installed on your machine.
Installing MySQL Connector/Net
Please download and install the latest MySQL .NET connector which can be found here. It is recommended that you restart your computer after installing the MySQL .NET connector.
Version 6.7.4 of the MySQL connector may not work in some circumstances. If you run into an issue where the connector isn't being resolved. It is recommended that you try installing an older version of the client.
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:
<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>
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 System.Data.SQLite hasn't been installed on your machine.
- The System.Data.SQLite hasn't been properly configured.
Installing System.Data.SQLite
CodeSmith Generator is compiled as AnyCPU. This means that Generator will run as a 64bit process when you launch Generator outside of Visual Studio. If you are generating from within Visual Studio (32bit process), then CodeSmith Generator libraries will run as a 32bit process.
This is very important to understand as it determines which Schema Provider dependencies are resolved at run-time.
The first step is to ensure that you download and install the latest .NET Framework 4.0 version of System.Data.SQLite.
Configuring System.Data.SQLite
The SQLite Schema Provider doesn't require a specific version of the SQLite managed libraries. This is because it uses DbProviderFactories when interacting with SQLite. One must update all .NET Framework 4.0 machine.config's and add the SQLite provider to the DbProviderFactories element:
<system.data>
<DbProviderFactories>
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
</DbProviderFactories>
</system.data>
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
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.
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.
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 downloadssection 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 zipand 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.
gacutil -i Npgsql.dll
gacutil -i Mono.Security.dll
Configuring and troubleshooting a Schema Provider的更多相关文章
- CUBRID学习笔记 37 ADO.NET Schema Provider
通常需要添加以下引用: 1 2 3 using System.Data; using System.Data.Common; using CUBRID.Data.CUBRIDClient; 定义连 ...
- CodeSimth - .Net Framework Data Provider 可能没有安装。解决方法
今天想使用CodeSimth生成一个sqlite数据库的模板.当添加添加数据库的时候发现: .Net Framework Data Provider 可能没有安装. 下面找到官方的文档说明: SQLi ...
- Write your own Terraform provider: Part 1
转自:https://container-solutions.com/write-terraform-provider-part-1/ This is the first part of a seri ...
- CodeSimth - .Net Framework Data Provider 可能没有安装。解决方法[转载 ]
原文:http://www.cnblogs.com/chenrui7/p/3592082.html 今天想使用CodeSimth生成一个sqlite数据库的模板.当添加添加数据库的时候发现: .Net ...
- Terraform 自定义provider 开发
内容来自官方文档,主要是进行学习自定义provider 开发的流程 开发说明 我们需要开发的有provider 以及resource 对于resource 我们需要进行crud 的处理,同时还需要进行 ...
- Writing Custom Providers
转自:https://www.terraform.io/docs/extend/writing-custom-providers.html 很详细,做为一个记录 In Terraform, a Pro ...
- WebADI_Oracle ERP R12使用前WebADI设定(案例)
2014-12-25 Created By BaoXinjian
- Oracle Metalink Notes Collection
INV Note 123456.1 Latest 11i Applications Recommended Patch List Note 568012.1:FAQ: Inventory Standa ...
- Useful Articles for the Oracle E-Business Suite Technology Stack for Technical Consultant / DBA [ID
Applies to: Oracle Applications Technology Stack - Version: 11.5.10.2 to 12.1.3 - Release: 11.5.10 ...
随机推荐
- Python命令行解析库argparse
2.7之后python不再对optparse模块进行扩展,python标准库推荐使用argparse模块对命令行进行解析. 1.example 有一道面试题:编写一个脚本main.py,使用方式如下: ...
- Spring AOP 创建增强类
AOP联盟为增强定义了org.aopalliance.aop.Advice接口,Spring支持5种类型的增强: 1)前置增强:org.springframework.aop.BeforeAd ...
- Spring AOP基础知识
Spring AOP使用动态代理技术在运行期织入增强的代码,两种代理机制包括:一是基于JDK的动态代理,另一种是基于CGLib的动态代理.之所以需要两种代理机制,很大程度上是因为JDK本身只提供接口的 ...
- AE开发 入门教程
此过程说明适合那些使用.NET建立和部署应用的开发者,它描述了使用ArcGIS控件建立和部署应用的方法和步骤. 你可以在下面的目录下找到相应的样例程序: <安装目录>/DeveloperK ...
- android 更改avd路径
第一种方法,适合还没有建立 AVD 的情况 即:在计算机右击的属性 选择环境变量,然后添加一个用户的环境变量,名字为 "ANDROID_SDK_HOME”,然后把变量值改为你想将" ...
- YTU 2618: B 求类中数据成员的最大值-类模板
2618: B 求类中数据成员的最大值-类模板 时间限制: 1 Sec 内存限制: 128 MB 提交: 430 解决: 300 题目描述 声明一个类模板,类模板中有三个相同类型的数据成员,有一函 ...
- git使用ssh协议,生成公钥和私钥,并指定私钥
http://superuser.com/questions/232373/how-to-tell-git-which-private-key-to-use In ~/.ssh/config, add ...
- Oracle中用一个表的数据更新另一个表的数据
update tbl1 a set (a.col1, a.col2) = (select b.col1, b.col2 from tbl2 ...
- C# 为WebBrowser设置代理,打开网页
WebBrowser控件是基于IE浏览器的,所以它的内核功能是依赖于IE的,相信做.NET的人都知道. 今天的主题,和上一篇文章应该是差不多的,都是通过代理来实现功能的. 请看下面的代码: //1.定 ...
- Android应用主界面底部菜单实现
介绍 现在绝大多数主流的应用主界面,都会包含一个底部菜单,就拿腾讯的QQ与微信来说,看起来是这样的 <---我是底部菜单 原理 在很久以前,可以通过TabActivity实现相关功能,自从Fr ...