I have followed your 1st suggestion and succeed,
dot-connect for Oracle should be installed on your build server. dot-connect for Oracle installation with the "Minimal installation" setting helps to solve issues.
License issue sort out but when i run my asp.net application in i got error like,
Could not create the driver from TEST.Models.DevartOracleDriver.
Few days ago in trail version of dot-connect for Oracle i had succeed to connect database in N-hibernate architecture. I have followed below link for connect oracle database with N-hibernate architecture,
http://blog.devart.com/nhibernate_and_oracle.html
Here i also write my code in below,
This is my class file,
Code: Select all
using System;
using System.Reflection;
using NHibernate;
using NHibernate.Cfg;
using NHibernate.Tool.hbm2ddl;
using NHibernate.AdoNet;
using NHibernate.SqlTypes;
using Devart.Data.Oracle;
using NHibernate.Driver;
using System.Data;
namespace TEST.Models
{
public class DevartOracleDriver : ReflectionBasedDriver, IEmbeddedBatcherFactoryProvider
{
private static readonly SqlType GuidSqlType = new SqlType(DbType.Binary, 16);
public DevartOracleDriver() : base("Devart.Data.Oracle", "Devart.Data.Oracle.NHibernate.NHibernateOracleConnection", "Devart.Data.Oracle.NHibernate.NHibernateOracleCommand")
{
}
public override bool UseNamedPrefixInSql
{
get { return true; }
}
public override bool UseNamedPrefixInParameter
{
get { return false; }
}
public override string NamedPrefix
{
get { return ":"; }
}
protected override void InitializeParameter(IDbDataParameter dbParam, string name, SqlType sqlType)
{
if (sqlType.DbType == DbType.Guid)
{
base.InitializeParameter(dbParam, name, GuidSqlType);
OracleParameter oraParam = (OracleParameter)dbParam;
oraParam.OracleDbType = OracleDbType.Raw;
}
else
{
base.InitializeParameter(dbParam, name, sqlType);
}
}
#region IEmbeddedBatcherFactoryProvider Members
System.Type IEmbeddedBatcherFactoryProvider.BatcherFactoryClass
{
get { return typeof(OracleDataClientBatchingBatcherFactory); }
}
#endregion
}
}
This is my Web.config details,
Code: Select all
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">TEST.Models.DevartOracleDriver, TEST</property>
<property name="connection.connection_string">server=192.168.1.243;user id=scott;password=tiger;SID=nosaims;port=1521;Direct=True;</property>
<property name="show_sql">true</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
</session-factory>
</hibernate-configuration>
Also added below code in web.config file,
Code: Select all
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<qualifyAssembly partialName="Devart.Data.Oracle" fullName="Devart.Data.Oracle,Version=8.1.26.0, Culture=neutral, PublicKeyToken=09af7300eec23701"/>
</assemblyBinding>
</runtime>
Please help me to fixed this issue.