We finally did further testing and the cause of our problem is actually what you said about the binary form of the GUID.
When a GUID is stored in the database in a VARCHAR2 column, it is under the binary form. And when it is retrieved (or queried), it is still in the binary form. Hence, the retrieved GUID is not at all the same we saved into the database.
We'll then go back to our previous question and ask if it is possible to yuse a VARCHAR2 column to store a GUID with EF and dotConnect for Oracle?
Meanwhile, we will try again with a RAW(16) column and hope the result would be fine.
Thanks
Search found 12 matches
- Mon 01 Aug 2011 18:28
- Forum: Entity Framework support
- Topic: Query of a GUID field doesn't work
- Replies: 5
- Views: 6703
- Mon 01 Aug 2011 17:42
- Forum: Entity Framework support
- Topic: Query of a GUID field doesn't work
- Replies: 5
- Views: 6703
- Mon 01 Aug 2011 17:10
- Forum: Entity Framework support
- Topic: Query of a GUID field doesn't work
- Replies: 5
- Views: 6703
Thanks for your answer.
Did you use the model configuration by code (or edmx file)?
Maybe it has a different behavior depends on the configuration we use.
Our code configuration looks like this
Would you mind to try the test of yours with code configuration if your previous tests were not.
Thanks again
Phil
Did you use the model configuration by code (or edmx file)?
Maybe it has a different behavior depends on the configuration we use.
Our code configuration looks like this
Code: Select all
config.Property(Function(x) x.GUIDCOLUMN).HasColumnName("GUIDCOLUMN ").IsRequired()
Thanks again
Phil
- Thu 28 Jul 2011 19:07
- Forum: Entity Framework support
- Topic: Query of a GUID field doesn't work
- Replies: 5
- Views: 6703
Query of a GUID field doesn't work
Hi,
We have the latest version of dotConnect for Oracle (6.30.196 28-Jul-11) and are using it with EF 4.1 (and code configuration, not edmx).
We got an entity with a field of type GUID mapped to a VARCHAR2(32) column.
When the data is saved into the database, the format is upper case without any dash (ex.: A0D8F7E720DDBF4296C932F7A730A635).
We later try to query thie entity with a where clause on this GUID field but cannot get any result. Our where clause looks like this (VB.NET)
Both variable are GUID type.
Our model configuration of this field does not specified any database type because we want our configuration to be database agnostic.
We've tried RAW(16) and VARCHAR2(36) as column's type but got the same (no) result.
We've profiled the application with EfProf but the guid always appears as lower case with dash in both insert and select (where) clause. So we're not sure how to get help out of this.
Anyone has an idea about this problem. Is there any tips for us or workaround?
Any help is greatly appreciated
Thanks
Phil
We have the latest version of dotConnect for Oracle (6.30.196 28-Jul-11) and are using it with EF 4.1 (and code configuration, not edmx).
We got an entity with a field of type GUID mapped to a VARCHAR2(32) column.
When the data is saved into the database, the format is upper case without any dash (ex.: A0D8F7E720DDBF4296C932F7A730A635).
We later try to query thie entity with a where clause on this GUID field but cannot get any result. Our where clause looks like this (VB.NET)
Code: Select all
Where(Function(x) x.GuidField = anotherGuid)
Our model configuration of this field does not specified any database type because we want our configuration to be database agnostic.
We've tried RAW(16) and VARCHAR2(36) as column's type but got the same (no) result.
We've profiled the application with EfProf but the guid always appears as lower case with dash in both insert and select (where) clause. So we're not sure how to get help out of this.
Anyone has an idea about this problem. Is there any tips for us or workaround?
Any help is greatly appreciated
Thanks
Phil
- Mon 13 Jun 2011 22:00
- Forum: dotConnect for Oracle
- Topic: License compatibility with previous version
- Replies: 3
- Views: 1445
License compatibility with previous version
Hi,
We've been using dotConnect (5.70) inside a library. This library is used by many of our applications. Each application has the license.licx file embedded.
We've just upgraded to dotConnect 6.30 and got the "License not found" error when the application is deployed on the server.
We've built the application on a machine that the new version was installed on. But we did not rebuild the library on this new dotConnect version.
On the server (where the application and library are deployed), we've simply GAC'ed the new version of dotConnect. Old version is still in the GAC. The library is deployed in the application's bin folder.
We would like to know if there's a problem with our setup and how can we support a library built with an older dotConnect version and an application with a new dotConnect version.
Hope it is clear enough to get some help.
Thanks
Phil
We've been using dotConnect (5.70) inside a library. This library is used by many of our applications. Each application has the license.licx file embedded.
We've just upgraded to dotConnect 6.30 and got the "License not found" error when the application is deployed on the server.
We've built the application on a machine that the new version was installed on. But we did not rebuild the library on this new dotConnect version.
On the server (where the application and library are deployed), we've simply GAC'ed the new version of dotConnect. Old version is still in the GAC. The library is deployed in the application's bin folder.
We would like to know if there's a problem with our setup and how can we support a library built with an older dotConnect version and an application with a new dotConnect version.
Hope it is clear enough to get some help.
Thanks
Phil
- Thu 19 May 2011 15:20
- Forum: dotConnect for Oracle
- Topic: ORA-00600 on TransactionScope.Dispose
- Replies: 5
- Views: 1997
- Thu 12 May 2011 13:07
- Forum: dotConnect for Oracle
- Topic: ORA-00600 on TransactionScope.Dispose
- Replies: 5
- Views: 1997
- Wed 11 May 2011 16:13
- Forum: dotConnect for Oracle
- Topic: ORA-00600 on TransactionScope.Dispose
- Replies: 5
- Views: 1997
ORA-00600 on TransactionScope.Dispose
Hi,
We got a problem when using dotConnect with a connection string containing "Enlist=True" within a TransactionScope created like this:
As soon as we're calling the Dispose method of this transaction (without previously completing it), we got this exception
We are using the realease "6.10.126 23-Mar-11" of dotConnect.
******** EDIT *******
We've been able to make it work by setting this in the connection string
We got the same error even if we try to start another TransactionScope before our database request.
Thank you very much
Phil
We got a problem when using dotConnect with a connection string containing "Enlist=True" within a TransactionScope created like this:
Code: Select all
' VB.NET code
New TransactionScope(TransactionScopeOption.RequiresNew, New TransactionOptions With {.IsolationLevel = IsolationLevel.ReadCommitted})
The stack trace looks like thatORA-00600: internal error code, arguments : [kpotxsking: branch], [0xC000000068672E60], [0xC000000067274BD0], [], [], [], [], []
Does anyone have an idea about this problem?at Devart.Data.Oracle.a0.b(Int32 A_0)
at Devart.Data.Oracle.a5.d(Int32 A_0)
at Devart.Data.Oracle.a5.b(Boolean A_0)
at Devart.Data.Oracle.OracleInternalConnection.Rollback()
at Devart.Common.w.a(Enlistment A_0)
at System.Transactions.VolatileEnlistmentAborting.EnterState(InternalEnlistment enlistment)
at System.Transactions.VolatileEnlistmentActive.InternalAborted(InternalEnlistment enlistment)
at System.Transactions.TransactionStateAborted.EnterState(InternalTransaction tx)
at System.Transactions.TransactionStateActive.Rollback(InternalTransaction tx, Exception e)
at System.Transactions.Transaction.Rollback()
at System.Transactions.TransactionScope.InternalDispose()
at System.Transactions.TransactionScope.Dispose()
We are using the realease "6.10.126 23-Mar-11" of dotConnect.
******** EDIT *******
We've been able to make it work by setting this in the connection string
But, as soon as we try to use our connection after the commit or rollback of a previous TransactionScope, we got the following error ORA-24324.Transaction Scope Local=True
We got the same error even if we try to start another TransactionScope before our database request.
END EDITat Devart.Data.Oracle.a0.b(Int32 A_0)
at Devart.Data.Oracle.a2.d(Int32 A_0)
at Devart.Data.Oracle.a2.a(Int32 A_0, bk A_1)
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.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
at Devart.Data.Oracle.Entity.e.a(CommandBehavior A_0)
at Devart.Common.Entity.bb.b(CommandBehavior A_0)
at Devart.Data.Oracle.Entity.e.b(CommandBehavior A_0)
at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
at HibernatingRhinos.Profiler.Appender.ProfiledDataAccess.ProfiledCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
Thank you very much
Phil
- Wed 30 Mar 2011 13:24
- Forum: Entity Framework support
- Topic: IDbConnectionFactory implementation dotConnect Oracle?
- Replies: 1
- Views: 2134
IDbConnectionFactory implementation dotConnect Oracle?
Hi there,
In the new Entity Framework 4.1, there's a property on the DbContext class to set the DefaultConnectionFactory (type System.Data.Entity.Infrastructure.IDbConnectionFactory).
To our comprehension, it is required to have a specific provider's implementation to build a new instance of DbContext with a connection string.
We would like to know if there's an implementation for this in the latest dotConnect for Oracle (6.10.126 23-Mar-11).
If not, any tips on how we could easily implements this for Oracle's dotConnect?
Thank you
Phil
In the new Entity Framework 4.1, there's a property on the DbContext class to set the DefaultConnectionFactory (type System.Data.Entity.Infrastructure.IDbConnectionFactory).
To our comprehension, it is required to have a specific provider's implementation to build a new instance of DbContext with a connection string.
We would like to know if there's an implementation for this in the latest dotConnect for Oracle (6.10.126 23-Mar-11).
If not, any tips on how we could easily implements this for Oracle's dotConnect?
Thank you
Phil
- Tue 30 Nov 2010 14:57
- Forum: dotConnect for Oracle
- Topic: Enlist Distributed transaction / Open generates ORA-02048
- Replies: 1
- Views: 1979
Enlist Distributed transaction / Open generates ORA-02048
Hi there,
We got a problem using distributed transaction through dotConnect for Oracle. When we set the Enlist to true in the connection string and open the connection under a TransactionScope, we got the following exception
Do we have to install something specific on our clients and/or (Oracle) server to work with distributed transaction in Oracle?
Does someone has already use distributed transaction with dotConnect?
Thank you very much
Phil
We got a problem using distributed transaction through dotConnect for Oracle. When we set the Enlist to true in the connection string and open the connection under a TransactionScope, we got the following exception
Code: Select all
ORA-02048: attempt to begin distributed transaction without logging on
Code: Select all
at Devart.Data.Oracle.bm.b(Int32 A_0)
at Devart.Data.Oracle.aq.d(Int32 A_0)
at Devart.Data.Oracle.aq.a(Guid A_0, IsolationLevel A_1)
at Devart.Data.Oracle.OracleInternalConnection.BeginTransaction(Guid distributedIdentifier, IsolationLevel isolationLevel)
at Devart.Common.s.a(Guid A_0)
at Devart.Common.DbConnectionInternal.EnlistToDistributedTransactionInternal(Transaction transaction)
at Devart.Common.DbConnectionInternal.EnlistToDistributedTransaction(Transaction transaction)
at Devart.Common.DbConnectionInternal.c()
at Devart.Common.DbConnectionInternal.i()
at Devart.Common.DbConnectionFactory.a(DbConnectionBase A_0)
at Devart.Common.DbConnectionClosed.Open(DbConnectionBase outerConnection)
at Devart.Common.DbConnectionBase.Open()
at Devart.Data.Oracle.OracleConnection.Open()
at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure)
Does someone has already use distributed transaction with dotConnect?
Thank you very much
Phil
- Mon 29 Nov 2010 22:22
- Forum: dotConnect for Oracle
- Topic: BUG: OCI invalid handle: OracleObject with TIMESTAMP Type
- Replies: 19
- Views: 17688
We got an 'OCI Invalid Handle' with the latest version (6.00.58) when Entity Framework (using dotConnect for Oracle) open a connection.StanislavK wrote:We are still working on the issue. We will inform you about the results as soon as possible.
It was fine with a previous version 5 build but we had a distributed transaction problem and want to give a try to the latest version.
Is it still something you are working on? Some workaround?
Thank you very much
Phil
- Wed 13 Oct 2010 14:31
- Forum: dotConnect for Oracle
- Topic: DatabaseExists is not supported by the provider
- Replies: 4
- Views: 2803