Search found 17 matches

by JomKippur
Thu 23 Feb 2012 10:31
Forum: dotConnect for Oracle
Topic: NHibernate 3.2 and batch processing - not supported???
Replies: 6
Views: 3911

With version 6.70.302.0 I still have a problem.

This time I got this:

Code: Select all

System.InvalidCastException: Object cannot be cast to DBNull.
   at System.Convert.DefaultToType(IConvertible value, Type targetType, IFormatProvider provider)
   at System.Decimal.System.IConvertible.ToType(Type type, IFormatProvider provider)
   at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
   at Devart.Data.Oracle.OracleParameter.a(aa& A_0, Boolean A_1, Boolean A_2, OracleCommand A_3, Byte[] A_4, Hashtable A_5, ai A_6)
   at Devart.Data.Oracle.OracleCommand.a(OracleParameterCollection A_0, aa[] A_1, c3 A_2, ai A_3)
   at Devart.Data.Oracle.OracleCommand.InternalExecute(CommandBehavior behavior, IDisposable disposable, Int32 startRecord, Int32 maxRecords, Boolean nonQuery)
   at Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior, Boolean nonQuery)
   at Devart.Data.Oracle.OracleCommand.ExecuteNonQuery()
   at Devart.Data.Oracle.NHibernate.NHibernateOracleCommand.a()
   at NHibernate.AdoNet.OracleDataClientBatchingBatcher.DoExecuteBatch(IDbCommand ps)
   at NHibernate.AdoNet.AbstractBatcher.ExecuteBatchWithTiming(IDbCommand ps)
   at NHibernate.AdoNet.OracleDataClientBatchingBatcher.AddToBatch(IExpectation expectation)
   at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session)
   at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Object obj, ISessionImplementor session)
   at NHibernate.Action.EntityInsertAction.Execute()
   at NHibernate.Engine.ActionQueue.Execute(IExecutable executable)
   at NHibernate.Engine.ActionQueue.ExecuteActions(IList list)
   at NHibernate.Engine.ActionQueue.ExecuteActions()
   at NHibernate.Event.Default.AbstractFlushingEventListener.PerformExecutions(IEventSource session)
   at NHibernate.Event.Default.DefaultFlushEventListener.OnFlush(FlushEvent event)
   at NHibernate.Impl.SessionImpl.Flush()
   at Spring.Data.NHibernate.HibernateTemplate.FlushAction(ISession session) in c:\Program Files\Spring.NET 1.3.2\src\Spring\Spring.Data.NHibernate\Data\NHibernate\HibernateTemplate.cs:line 469
   at Spring.Data.NHibernate.ExecuteHibernateCallbackUsingDelegate.DoInHibernate(ISession session) in c:\Program Files\Spring.NET 1.3.2\src\Spring\Spring.Data.NHibernate\Data\NHibernate\HibernateTemplate.cs:line 1830
   at Spring.Data.NHibernate.HibernateTemplate.Execute(IHibernateCallback action, Boolean exposeNativeSession) in c:\Program Files\Spring.NET 1.3.2\src\Spring\Spring.Data.NHibernate\Data\NHibernate\HibernateTemplate.cs:line 962
   at Spring.Data.NHibernate.HibernateTemplate.Execute(HibernateDelegate del, Boolean exposeNativeSession) in c:\Program Files\Spring.NET 1.3.2\src\Spring\Spring.Data.NHibernate\Data\NHibernate\HibernateTemplate.cs:line 860
   at Spring.Data.NHibernate.HibernateTemplate.Flush() in c:\Program Files\Spring.NET 1.3.2\src\Spring\Spring.Data.NHibernate\Data\NHibernate\HibernateTemplate.cs:line 464
   at Spring.Data.NHibernate.Generic.HibernateTemplate.Flush() in c:\Program Files\Spring.NET 1.3.2\src\Spring\Spring.Data.NHibernate12\Data\NHibernate\Generic\HibernateTemplate.cs:line 456
Help!!!!!!!!!!!!!!!!!!!

JK
by JomKippur
Wed 01 Feb 2012 15:48
Forum: dotConnect for Oracle
Topic: 6.60 - package procedures without parameters do not work
Replies: 6
Views: 1338

Does dotC. 6.70 contain bug fix?

JK
by JomKippur
Thu 26 Jan 2012 13:13
Forum: dotConnect for Oracle
Topic: 6.60 - package procedures without parameters do not work
Replies: 6
Views: 1338

Hi,
As a workaround, you can try using oci mode.
It's not possible. I'm waiting for fixing the bug.

Thanks,
JK
by JomKippur
Thu 26 Jan 2012 00:23
Forum: dotConnect for Oracle
Topic: 6.60 - package procedures without parameters do not work
Replies: 6
Views: 1338

6.60 - package procedures without parameters do not work

Hi,

Running this:

Code: Select all


			OracleUtils.OracleClientCompatible = true;
			OracleConnection oc = new OracleConnection();
			oc.ConnectionString = "pooling = false";
			oc.Direct = true;
			oc.Unicode = true;
			oc.AutoCommit = false;
			oc.Server = "10.60.1.183";
			oc.Sid = "XE";
			oc.UserId = "user";
			oc.Password = "*****";
			oc.Open();

			OracleCommand o2 = oc.CreateCommand();
			o2.CommandText = "Test.T1";
			o2.CommandType = CommandType.StoredProcedure;
			o2.Prepare();

			var r = o2.ExecuteScalar();

Code: Select all

create or replace
PACKAGE Test IS
	procedure T1;
	procedure T2(a in number);
END Test;

create or replace
PACKAGE body Test IS
	procedure T1 is begin null; end;
	procedure T2(a in number) is begin null; end;
END Test;
I got this (calling Prepare method):
ORA-03115 unsupported network datatype or representation []

:shock:

Help!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Greetings
JK[/code]
by JomKippur
Tue 20 Dec 2011 13:35
Forum: dotConnect for Oracle
Topic: NHibernate 3.2 and batch processing - not supported???
Replies: 6
Views: 3911

Exactly the same way and it doesn't work with batch processing

Greetings
JK
by JomKippur
Fri 16 Dec 2011 13:32
Forum: dotConnect for Oracle
Topic: spring.net db:provider?
Replies: 6
Views: 3040

by JomKippur
Fri 16 Dec 2011 13:26
Forum: dotConnect for Oracle
Topic: spring.net db:provider?
Replies: 6
Views: 3040

And in your Spring configuration:

Code: Select all

<db:additionalProviders resource="assembly://MyAssembly/MyAssembly.MyNamespace/AdditionalProviders.xml"/>

Code: Select all

assembly://MyAssembly/MyAssembly.MyNamespace/AdditionalProviders.xml
- it's sent in previous post

and

Code: Select all

<entry key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/>
				<entry key="dialect" value="NHibernate.Dialect.Oracle10gDialect"/>
				<entry key="connection.driver_class" value="MyNamespace.Driver.DevartOracleDriver, MyNamespace"/>			
Def for MyNamespace.Driver.DevartOracleDriver:

Code: Select all

public class DevartOracleDriver : ReflectionBasedDriver, IEmbeddedBatcherFactoryProvider
	{
		public DevartOracleDriver()
			: base(
				"Devart.Data.Oracle",
				"Devart.Data.Oracle.NHibernate.NHibernateOracleConnection",
				"Devart.Data.Oracle.NHibernate.NHibernateOracleCommand")
		{
			OracleUtils.OracleClientCompatible = true;
		}

		public override bool UseNamedPrefixInSql
		{
			get { return true; }
		}

		public override bool UseNamedPrefixInParameter
		{
			get { return true; }
		}

		public override string NamedPrefix
		{
			get { return ":"; }
		}

		#region IEmbeddedBatcherFactoryProvider Members

		Type IEmbeddedBatcherFactoryProvider.BatcherFactoryClass
		{
			get { return typeof(OracleDataClientBatchingBatcherFactory); }
		}

		#endregion
	}

HTH
by JomKippur
Fri 16 Dec 2011 13:14
Forum: dotConnect for Oracle
Topic: spring.net db:provider?
Replies: 6
Views: 3040

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>

<!--	- Database Provider definitions. -->
<objects xmlns='http&#58;//www.springframework.net'>
<object id="Devart.Data.Oracle" type="Spring.Data.Common.DbProvider, Spring.Data" singleton="false">
<constructor-arg name="dbMetaData">
<object type="Spring.Data.Common.DbMetadata">
<constructor-arg name="productName" value="Oracle, Oracle Data Provider V6.50.244.0"  />
<constructor-arg name="assemblyName" value="Devart.Data.Oracle, Version=6.50.244.0, Culture=neutral, PublicKeyToken=09af7300eec23701"/>
<constructor-arg name="connectionType" value="Devart.Data.Oracle.OracleConnection, Devart.Data.Oracle, Version=6.50.244.0, Culture=neutral, PublicKeyToken=09af7300eec23701"/>
<constructor-arg name="commandType" value="Devart.Data.Oracle.OracleCommand, Devart.Data.Oracle, Version=6.50.244.0, Culture=neutral, PublicKeyToken=09af7300eec23701"/>
<constructor-arg name="parameterType" value="Devart.Data.Oracle.OracleParameter, Devart.Data.Oracle, Version=6.50.244.0, Culture=neutral, PublicKeyToken=09af7300eec23701"/>
<constructor-arg name="dataAdapterType" value="Devart.Data.Oracle.OracleDataAdapter, Devart.Data.Oracle, Version=6.50.244.0, Culture=neutral, PublicKeyToken=09af7300eec23701"/>
<constructor-arg name="commandBuilderType" value="Devart.Data.Oracle.OracleCommandBuilder, Devart.Data.Oracle, Version=6.50.244.0, Culture=neutral, PublicKeyToken=09af7300eec23701"/>
<constructor-arg name="commandBuilderDeriveParametersMethod" value="DeriveParameters"/>
<constructor-arg name="parameterDbType" value="Devart.Data.Oracle.OracleDbType, Devart.Data.Oracle, Version=6.50.244.0, Culture=neutral, PublicKeyToken=09af7300eec23701"/>
<constructor-arg name="parameterDbTypeProperty" value="OracleDbType"/>
<constructor-arg name="parameterIsNullableProperty" value="IsNullable"/>
<constructor-arg name="parameterNamePrefix" value="&#58;"/>
<constructor-arg name="exceptionType" value="Devart.Data.Oracle.OracleException, Devart.Data.Oracle, Version=6.50.244.0, Culture=neutral, PublicKeyToken=09af7300eec23701"/>
<constructor-arg name="useParameterNamePrefixInParameterCollection" value="false"/>
<constructor-arg name="useParameterPrefixInSql" value="false"/>
<constructor-arg name="bindByName" value="true"/>
<!-- this is only true for .net 1.1 kept it here just in case we want to revert back to this strategy for
obtaining error codes-->
<constructor-arg name="errorCodeExceptionExpression" value="Code.ToString&#40;&#41;"/>

<property name="ErrorCodes.BadSqlGrammarCodes">
<value>900,903,904,917,936,942,17006</value>
</property>
<property name="ErrorCodes.InvalidResultSetAccessCodes">
<value>17003</value>
</property>
<property name="ErrorCodes.DataAccessResourceFailureCodes">
<value>17002,17447</value>
</property>
<property name="ErrorCodes.DataIntegrityViolationCodes">
<value>1,1400,1722,2291,2292</value>
</property>
<property name="ErrorCodes.CannotAcquireLockCodes">
<value>54</value>
</property>
<property name="ErrorCodes.CannotSerializeTransactionCodes">
<value>8177</value>
</property>
<property name="ErrorCodes.DeadlockLoserCodes">
<value>60</value>
</property>
</object>
</constructor-arg>
</object>
</objects>
For my project it works :)

HTH
by JomKippur
Thu 15 Dec 2011 22:06
Forum: dotConnect for Oracle
Topic: NHibernate 3.2 and batch processing - not supported???
Replies: 6
Views: 3911

NHibernate 3.2 and batch processing - not supported???

I'm using Devart dotConnect for Oracle 6.60 with NHibernate 3.2 and with batch enabled () and I got this:

System.NotSupportedException: Specified method is not supported.
at Devart.Data.Oracle.OracleUtils.c(Type A_0)
at Devart.Data.Oracle.OracleParameter.get_OracleDbType()
at Devart.Data.Oracle.OracleParameter.b()
at Devart.Data.Oracle.OracleCommand.b()
at Devart.Data.Oracle.OracleCommand.InternalExecute(CommandBehavior behavior, IDisposable disposable, Int32 startRecord, Int32 maxRecords, Boolean nonQuery)
at Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior, Boolean nonQuery)
at Devart.Data.Oracle.OracleCommand.ExecuteNonQuery()
at Devart.Data.Oracle.NHibernate.NHibernateOracleCommand.a()
at NHibernate.AdoNet.OracleDataClientBatchingBatcher.DoExecuteBatch(IDbCommand ps)
at NHibernate.AdoNet.AbstractBatcher.ExecuteBatchWithTiming(IDbCommand ps)
at NHibernate.AdoNet.OracleDataClientBatchingBatcher.AddToBatch(IExpectation expectation)
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session)
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Object obj, ISessionImplementor session)
at NHibernate.Action.EntityInsertAction.Execute()
at NHibernate.Engine.ActionQueue.Execute(IExecutable executable)
at NHibernate.Engine.ActionQueue.ExecuteActions(IList list)
at NHibernate.Engine.ActionQueue.ExecuteActions()
at NHibernate.Event.Default.AbstractFlushingEventListener.PerformExecutions(IEventSource session)
at NHibernate.Event.Default.DefaultFlushEventListener.OnFlush(FlushEvent event)
at NHibernate.Impl.SessionImpl.Flush()
at Spring.Data.NHibernate.HibernateTemplate.FlushAction(ISession session) in c:\Program Files\Spring.NET 1.3.2\src\Spring\Spring.Data.NHibernate\Data\NHibernate\HibernateTemplate.cs:line 469


Help! :)
by JomKippur
Tue 04 Oct 2011 10:11
Forum: dotConnect for Oracle
Topic: NHibernate 3.2 GA and Parameter Name error
Replies: 13
Views: 6901

Hi,
"Why do you want to avoid usage of "OracleUtils.OracleClientCompatible = true;"?"

it's simple - for two reasons:
1) our company application has been working for 2 years on default setting of mentioned parameter (OracleUtils.OracleClientCompatible = false;) - our unit and integrated tests may not cover all cases and I have to do lots of tests to ensure everything is still working (if I had source code I would be able to estimate risk... :) )
2) it's a tricky solution :)

greetings,
JK
by JomKippur
Thu 29 Sep 2011 15:04
Forum: dotConnect for Oracle
Topic: NHibernate 3.2 GA and Parameter Name error
Replies: 13
Views: 6901

Thanks!

Is it also possible to make your conrols working with NH 3.2 without setting "OracleUtils.OracleClientCompatible = true;" ?

Greetings,
JK
by JomKippur
Tue 27 Sep 2011 16:36
Forum: dotConnect for Oracle
Topic: NHibernate 3.2 GA and Parameter Name error
Replies: 13
Views: 6901

We will post here about the results of our investigation.
Is sth new to this case? I need Nh 3.2 working with your controls. It is not possible form me to add a colon to every simple Ado dao querie to every parameter ...

Greetings
JK
by JomKippur
Wed 21 Sep 2011 09:37
Forum: dotConnect for Oracle
Topic: Nhibernate 3.2 doesnt work related the Parameter names
Replies: 14
Views: 2335

To sum up I want to use Nh 3.2 without this trick:

OracleUtils.OracleClientCompatible = true;

because OracleUtils.OracleClientCompatible = true; cause my Ado Daos not working.

I renewed my subcription in order to get working version for Nh 3.2.
But it doesn' work :(.

...

greetings
JK
by JomKippur
Tue 20 Sep 2011 23:07
Forum: dotConnect for Oracle
Topic: NHibernate 3.2 GA and Parameter Name error
Replies: 13
Views: 6901

Hi,
I don't know why you always send us (users) to that topic you mentioned.
Setting this OracleUtils.OracleClientCompatible = true; it's not a solution because it works for Nh 3.2 but not for simple Ado. If you have in your project mixed Nh 3.2 Dao's and regular Ado Dao's (I'm using Spring .NET and I have Nh and Ado Dao's) then you have an issue.

This works only with OracleUtils.OracleClientCompatible = false. Example of not working code:

Code: Select all

OracleUtils.OracleClientCompatible = true;
			OracleConnection oc = new OracleConnection();
			oc.ConnectionString = "pooling = false";
			oc.Direct = true;
			oc.Unicode = true;
			oc.AutoCommit = false;
			oc.Server = "10.60.1.183";
			oc.Sid = "XE";
			oc.UserId = "my_user";
			oc.Password = "my_passw";
			oc.Open();

			OracleCommand o2 = oc.CreateCommand();
			o2.ParameterCheck = true;
			o2.CommandText = "select propertyGuid from property where propertyId = :propertyId and propertyGuid = :propertyGuid";

			o2.Parameters["propertyGuid"].Value = "333";
			o2.Parameters["propertyId"].Value = "997";
= "333";

			var r = o2.ExecuteScalar();
Even though you change parameters to ":1" or "?" (as Oracle like :) ) you will get error.

I'm waiting for a solution

thanks
JK
by JomKippur
Tue 20 Sep 2011 15:23
Forum: dotConnect for Oracle
Topic: Nhibernate 3.2 doesnt work related the Parameter names
Replies: 14
Views: 2335

After this patch I don't have a problem in Nh3.2 but I have this problem (ORA-01036 illegal variable name/number)
using simple Ado query with parameters:

insert into TestData(a, b) values(:a, :b)

when I set: OracleUtils.OracleClientCompatible = false;

simple Ado query is ok but Nh 3.2 is wrong ...

Why I have to use this setting: OracleUtils.OracleClientCompatible =true;?

thanks
JK