Search found 4 matches

by developmentalmadness
Tue 14 Apr 2009 22:36
Forum: Entity Framework support
Topic: Error: ORA-00904: invalid identifier
Replies: 1
Views: 32948

Error: ORA-00904: invalid identifier

Here is my linq query:

Code: Select all

var query = (from u in Repository.Users
				  where u.UserName == username
					 && u.Roles.Any(
						 r => r.SystemFunctions.Any(
							 f => f.FunctionPages.Any(
								 fp => fp.Page.PageName == currentPage
								 && fp.AccessType >= (int)AccessType.Read
							 )
						 )
					 )
				  select u);
									  
Console.WriteLine(query.ToTraceString());
GPM.Data.Models.User user = query.FirstOrDefault();													  

Here is the resulting SQL :

Code: Select all

SELECT 
"Extent1".USER_ID AS USER_ID, 
"Extent1".USER_NAME AS USER_NAME
FROM GPMMD.USERS "Extent1"
WHERE ("Extent1".USER_NAME = :p__linq__1) AND ( EXISTS (SELECT 
    1 AS C1
    FROM ( SELECT 
        "Extent2".ROLE_ID AS ROLE_ID
        FROM GPMMD.USER_ROLE "Extent2"
        WHERE "Extent1".USER_ID = "Extent2".USER_ID
    )  "Project1"
    WHERE  EXISTS (SELECT 
        1 AS C1
        FROM ( SELECT 
            "Extent3".SYSTEM_FUNCTION_ID AS SYSTEM_FUNCTION_ID
            FROM GPMMD.ROLE_FUNCTION "Extent3"
            WHERE "Project1".ROLE_ID = "Extent3".ROLE_ID
        )  "Project2"
        WHERE  EXISTS (SELECT 
            1 AS C1
            FROM  GPMMD.FUNCTION_PAGE "Extent4"
            INNER JOIN GPMMD.PAGE "Extent5" ON "Extent4".PAGE_ID = "Extent5".PAGE_ID
            WHERE (("Project2".SYSTEM_FUNCTION_ID = "Extent4".SYSTEM_FUNCTION_ID) AND ("Extent5".PAGE_NAME = :p__linq__2)) AND ("Extent4".ACCESS_TYPE >= 1)
        )
    )
))
I am getting an error for "Extent1".USER_ID

This linq query works fine:

Code: Select all

			 var query = from u in Repository.Users
							from r in u.Roles
								from f in r.SystemFunctions
									from fp in f.FunctionPages
									where fp.Page.PageName == currentPage
										&& fp.AccessType >= (int) AccessType.Read
						where u.UserName == username
						select u;
						
				Console.WriteLine(query.ToTraceString());
				GPM.Data.Models.User user = query.FirstOrDefault();

and generates this SQL:

Code: Select all

SELECT 
"Filter1".USER_ID1 AS USER_ID, 
"Filter1".USER_NAME AS USER_NAME
FROM   (SELECT "Extent1".USER_ID AS USER_ID1, "Extent1".USER_NAME AS USER_NAME, "Extent2".ROLE_ID AS ROLE_ID1, "Extent2".USER_ID AS USER_ID2, "Extent3".ROLE_ID AS ROLE_ID2, "Extent3".SYSTEM_FUNCTION_ID AS SYSTEM_FUNCTION_ID1, "Extent4".ACCESS_TYPE AS ACCESS_TYPE, "Extent4".PAGE_ID AS PAGE_ID, "Extent4".SYSTEM_FUNCTION_ID AS SYSTEM_FUNCTION_ID2
	FROM    GPMMD.USERS "Extent1"
	INNER JOIN GPMMD.USER_ROLE "Extent2" ON "Extent1".USER_ID = "Extent2".USER_ID
	INNER JOIN GPMMD.ROLE_FUNCTION "Extent3" ON "Extent2".ROLE_ID = "Extent3".ROLE_ID
	INNER JOIN GPMMD.FUNCTION_PAGE "Extent4" ON "Extent3".SYSTEM_FUNCTION_ID = "Extent4".SYSTEM_FUNCTION_ID
	WHERE "Extent4".ACCESS_TYPE >= 1 ) "Filter1"
INNER JOIN GPMMD.PAGE "Extent5" ON "Filter1".PAGE_ID = "Extent5".PAGE_ID
WHERE ("Extent5".PAGE_NAME = :p__linq__1) AND ("Filter1".USER_NAME = :p__linq__2);
but the problem is the Include method only seems to work with the first linq query. If I use Include() with the 2nd version the related data isn't included. I don't care which syntax I use, but I'd like to be able to use Include - any suggestions?
by developmentalmadness
Thu 09 Apr 2009 21:41
Forum: dotConnect for Oracle
Topic: Can not load Oracle client. Check your PATH environment vari
Replies: 24
Views: 88579

I finally got it

Here's what I had to do:

1) Install Vista version of the oracle client: http://www.oracle.com/technology/softwa ... vista.html
2) Make sure my ORACLE_HOME environment variable was not the "name" of my oracle home, but the full path to my oracle home directory. (I ran into this when I was looking at HKLM\Software\Oracle\KEY_{your oracle home name} . There was an ORACLE_HOME registry key with a path instead of the "name" of the oracle home. I tried copying this into my ORACLE_HOME environment variable and this worked.
3) Also, I ran the "Admin" installation option when installing the oracle client instead of just the "instant client" installation. I don't know if that makes a difference or not - it's working now and I"m not gonna touch it.
by developmentalmadness
Fri 20 Mar 2009 12:46
Forum: dotConnect for Oracle
Topic: Can not load Oracle client. Check your PATH environment vari
Replies: 24
Views: 88579

I added my account to the local administrators group and it still gives me the error. Why would the "administrator" account work, but not a member of the "administrators" group?
by developmentalmadness
Thu 19 Mar 2009 22:12
Forum: dotConnect for Oracle
Topic: Can not load Oracle client. Check your PATH environment vari
Replies: 24
Views: 88579

Can not load Oracle client. Check your PATH environment vari

I am getting the error below when I try and run a web project which is using Entity Framework. I don't get the error when I run visual studio as local administrator. I thought this was because I was running as a low-priviliged account but I tried adding myself to the local administrators group and that doesn't work either. I tried reinstalling both devart dotconnect and the oracle 10g client (version 10.2) with my account as an administrator and it still doesn't work.

Here's my PATH environment variable:

C:\oracle\product\10.2.0\client\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\TortoiseSVN\bin


Here's the error I'm getting:

Can not load Oracle client. Check your PATH environment variable and registry settings.

Stack trace:
[InvalidOperationException: Can not load Oracle client. Check your PATH environment variable and registry settings.]
Devart.Data.Oracle.aj..ctor(Boolean A_0, Boolean A_1, OracleHome A_2) +1176
Devart.Data.Oracle.aj.a(Boolean A_0, Boolean A_1, OracleHome A_2) +377
Devart.Data.Oracle.OracleInternalConnection..ctor(y connectionOptions, OracleInternalConnection proxyConnection) +382
Devart.Data.Oracle.bw.a(i A_0, Object A_1, DbConnectionBase A_2) +116
Devart.Common.DbConnectionFactory.a(DbConnectionPool A_0, i A_1) +43
Devart.Common.DbConnectionPoolGroup.c(DbConnectionPool A_0) +18
Devart.Common.DbConnectionPool.a() +44
Devart.Common.DbConnectionPool.GetObject() +367
Devart.Common.DbConnectionFactory.a(DbConnectionBase A_0) +77
Devart.Common.DbConnectionClosed.Open(DbConnectionBase outerConnection) +144
Devart.Common.DbConnectionBase.Open() +30
Devart.Data.Oracle.OracleConnection.Open() +267
System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure) +47