Search found 3 matches

by hweidle
Mon 12 Mar 2012 15:42
Forum: dotConnect for Oracle
Topic: ORA-12704: Character Mismatch with Devart version 6.70
Replies: 1
Views: 1080

ORA-12704: Character Mismatch with Devart version 6.70

We have the following LINQ statement:

var adAccount = account as ActiveDirectoryAccount;
return context.Accounts.OfType()
.Where(a => a.Sid == adAccount.Sid)
.Include(a => a.Settings)
.Include(a => a.SearchPatterns)
.SingleOrDefault();

Results in the following SQL-Statement:

SELECT
"UnionAll1".ID AS C1,
"UnionAll1".ID1 AS C2,
"UnionAll1".C2 AS C3,
"UnionAll1".ID2 AS C4,
"UnionAll1".CODE AS C5,
"UnionAll1".ACTIVE_F AS C6,
"UnionAll1".SID AS C7,
"UnionAll1".C1 AS C8,
"UnionAll1".ID3 AS C9,
"UnionAll1".ACCNT_ID AS C10,
"UnionAll1".KEYCODE AS C11,
"UnionAll1".VALUE AS C12,
"UnionAll1".C3 AS C13,
"UnionAll1".C4 AS C14,
"UnionAll1".C5 AS C15,
"UnionAll1".C6 AS C16,
"UnionAll1".C7 AS C17,
"UnionAll1".C8 AS C18,
"UnionAll1".C9 AS C19,
"UnionAll1".C10 AS C20
FROM (SELECT
CASE WHEN "Extent3".ID IS NULL THEN TO_NUMBER(NULL) ELSE 1 END AS C1,
"Extent2".ID,
"Extent1".ID AS ID1,
'0X0X' AS C2,
"Extent1".ID AS ID2,
"Extent2".CODE,
"Extent2".ACTIVE_F,
"Extent1".SID,
"Extent3".ID AS ID3,
"Extent3".ACCNT_ID,
"Extent3".KEYCODE,
"Extent3".VALUE,
TO_NUMBER(NULL) AS C3,
TO_NCHAR(NULL) AS C4,
TO_NUMBER(NULL) AS C5,
TO_NUMBER(NULL) AS C6,
TO_NCHAR(NULL) AS C7,
TO_NUMBER(NULL) AS C8,
TO_BLOB(NULL) AS C9,
TO_NUMBER(NULL) AS C10
FROM TICON.ACTAD0E "Extent1"
INNER JOIN TICON.ACCNT "Extent2" ON "Extent1".ID = "Extent2".ID
LEFT OUTER JOIN TICON.ACTST "Extent3" ON "Extent1".ID = "Extent3".ACCNT_ID
WHERE "Extent1".SID = :p__linq__0
UNION ALL
SELECT
2 AS C1,
"Extent5".ID,
"Extent4".ID AS ID1,
'0X0X' AS C2,
"Extent4".ID AS ID2,
"Extent5".CODE,
"Extent5".ACTIVE_F,
"Extent4".SID,
TO_NUMBER(NULL) AS C3,
TO_NUMBER(NULL) AS C4,
TO_NCHAR(NULL) AS C5,
TO_NCHAR(NULL) AS C6,
"Extent6".ID AS ID3,
"Extent6".CODE AS CODE1,
"Extent6".TYPE_S,
"Extent6".DISPLAY_TYPE_S,
"Extent6".VALID_COLUMNS,
"Extent6".AUTO_SEARCH_F,
"Extent6".QUERY_BLOB,
"Extent6".ACCNT_ID
FROM TICON.ACTAD0E "Extent4"
INNER JOIN TICON.ACCNT "Extent5" ON "Extent4".ID = "Extent5".ID
INNER JOIN TICON.LISTD "Extent6" ON "Extent4".ID = "Extent6".ACCNT_ID
WHERE "Extent4".SID = :p__linq__0) "UnionAll1"
ORDER BY "UnionAll1".ID ASC, "UnionAll1".ID2 ASC, "UnionAll1".C1 ASC

Previous working version was 6.50 with the following SQL-Statement:

SELECT
"UnionAll1".ID AS C1,
"UnionAll1".ID1 AS C2,
"UnionAll1".C2 AS C3,
"UnionAll1".ID2 AS C4,
"UnionAll1".CODE AS C5,
"UnionAll1".ACTIVE_F AS C6,
"UnionAll1".SID AS C7,
"UnionAll1".C1 AS C8,
"UnionAll1".ID3 AS C9,
"UnionAll1".ACCNT_ID AS C10,
"UnionAll1".KEYCODE AS C11,
"UnionAll1".VALUE AS C12,
"UnionAll1".C3 AS C13,
"UnionAll1".C4 AS C14,
"UnionAll1".C5 AS C15,
"UnionAll1".C6 AS C16,
"UnionAll1".C7 AS C17,
"UnionAll1".C8 AS C18,
"UnionAll1".C9 AS C19,
"UnionAll1".C10 AS C20
FROM (SELECT
CASE WHEN "Extent3".ID IS NULL THEN TO_NUMBER(NULL) ELSE 1 END AS C1,
"Extent2".ID,
"Extent1".ID AS ID1,
'0X0X' AS C2,
"Extent1".ID AS ID2,
"Extent2".CODE,
"Extent2".ACTIVE_F,
"Extent1".SID,
"Extent3".ID AS ID3,
"Extent3".ACCNT_ID,
"Extent3".KEYCODE,
"Extent3".VALUE,
TO_NUMBER(NULL) AS C3,
TO_CHAR(NULL) AS C4,
TO_NUMBER(NULL) AS C5,
TO_NUMBER(NULL) AS C6,
TO_CHAR(NULL) AS C7,
TO_NUMBER(NULL) AS C8,
TO_BLOB(NULL) AS C9,
TO_NUMBER(NULL) AS C10
FROM TICON.ACTAD0E "Extent1"
INNER JOIN TICON.ACCNT "Extent2" ON "Extent1".ID = "Extent2".ID
LEFT OUTER JOIN TICON.ACTST "Extent3" ON "Extent1".ID = "Extent3".ACCNT_ID
WHERE "Extent1".SID = :p__linq__0
UNION ALL
SELECT
2 AS C1,
"Extent5".ID,
"Extent4".ID AS ID1,
'0X0X' AS C2,
"Extent4".ID AS ID2,
"Extent5".CODE,
"Extent5".ACTIVE_F,
"Extent4".SID,
TO_NUMBER(NULL) AS C3,
TO_NUMBER(NULL) AS C4,
TO_CHAR(NULL) AS C5,
TO_CHAR(NULL) AS C6,
"Extent6".ID AS ID3,
"Extent6".CODE AS CODE1,
"Extent6".TYPE_S,
"Extent6".DISPLAY_TYPE_S,
"Extent6".VALID_COLUMNS,
"Extent6".AUTO_SEARCH_F,
"Extent6".QUERY_BLOB,
"Extent6".ACCNT_ID
FROM TICON.ACTAD0E "Extent4"
INNER JOIN TICON.ACCNT "Extent5" ON "Extent4".ID = "Extent5".ID
INNER JOIN TICON.LISTD "Extent6" ON "Extent4".ID = "Extent6".ACCNT_ID
WHERE "Extent4".SID = :p__linq__0) "UnionAll1"
ORDER BY "UnionAll1".ID ASC, "UnionAll1".ID2 ASC, "UnionAll1".C1 ASC

The main difference is TO_NCHAR instead of TO_CHAR within the union. Even changing the column type in database to NCHAR or NVARCHAR2 does not fix the problem.
by hweidle
Thu 10 Nov 2011 14:51
Forum: dotConnect for Oracle
Topic: Latest version causes "ORA-12704: character set mismatch"
Replies: 14
Views: 16888

What information do you need? All the source code and the complete database? It is both CodeFirst DbContext classes mapped to an existing database. When the next version will be available?
by hweidle
Fri 28 Oct 2011 08:34
Forum: dotConnect for Oracle
Topic: Latest version causes "ORA-12704: character set mismatch"
Replies: 14
Views: 16888

We have the same error: "ORA-12704 Character mismatch" since we are using the latest DevArt Oracle drivers (5.0.336.0 and 6.50.237.0) the version before (5.0.327.0 and 6.50.228.0) did not have the problem.

Our Linq-Statement:

var result = context.Elements
.Include(e => e.Texts)
.Include(e => e.Texts.Select(t => t.Language)) .Where(e => e.Code.StartsWith(pattern) &&
e.ElementClassConfiguration.ElementClassId > 500)
.OrderBy(e => e.Code)
.ThenBy(e => e.Index)
.ThenBy(e => e.Variant);

SQL-Statement:

SELECT
"Project2".ID1 AS ID,
"Project2".ID AS ID1,
"Project2".ID2 AS ID2,
"Project2".C1 AS C1,
"Project2".CLUSD_ID AS CLUSD_ID,
"Project2".USERD_ID AS USERD_ID,
"Project2".CODE AS CODE,
"Project2".INDX AS INDX,
"Project2".VARIANT AS VARIANT,
"Project2".DARED_ID AS DARED_ID,
"Project2".TYPE_S AS TYPE_S,
"Project2".MASTA_ID AS MASTA_ID,
"Project2".COSTC_ID AS COSTC_ID,
"Project2".INCOMPLETE_F AS INCOMPLETE_F,
"Project2".TYPE_SI AS TYPE_SI,
"Project2".C2 AS C2,
"Project2".C3 AS C3,
"Project2".C4 AS C4,
"Project2".C5 AS C5,
"Project2".C6 AS C6,
"Project2".C7 AS C7,
"Project2".MASTR_ID AS MASTR_ID,
"Project2".LANGU_ID AS LANGU_ID,
"Project2".HEADER_DESCR AS HEADER_DESCR,
"Project2".SOURCE_LANGU_ID AS SOURCE_LANGU_ID,
"Project2".ID3 AS ID3,
"Project2".LANGUAGE_CODE AS LANGUAGE_CODE,
"Project2".LANGUAGE_DESCR_T AS LANGUAGE_DESCR_T,
"Project2".COUNTRY_CODE AS COUNTRY_CODE,
"Project2".COUNTRY_DESCR_T AS COUNTRY_DESCR_T,
"Project2".INSTALLED_F AS INSTALLED_F,
"Project2".METRIC_F AS METRIC_F
FROM ( SELECT
"Extent1".ID AS ID,
"Extent1".CLUSD_ID AS CLUSD_ID,
"Extent1".USERD_ID AS USERD_ID,
"Extent1".CODE AS CODE,
"Extent1".INDX AS INDX,
"Extent1".VARIANT AS VARIANT,
"Extent1".DARED_ID AS DARED_ID,
"Extent1".TYPE_S AS TYPE_S,
"Extent1".MASTA_ID AS MASTA_ID,
"Extent1".COSTC_ID AS COSTC_ID,
"Extent1".INCOMPLETE_F AS INCOMPLETE_F,
"Extent1".TYPE_SI AS TYPE_SI,
"Project1".ID AS ID1,
CASE WHEN NOT (("Project1".C1 = 1) AND ("Project1".C1 IS NOT NULL)) THEN '0X' ELSE '0X0X' END AS C1,
CASE WHEN NOT (("Project1".C1 = 1) AND ("Project1".C1 IS NOT NULL)) THEN TO_NCHAR(NULL) ELSE "Project1".SHORT_CODE END AS C2,
CASE WHEN NOT (("Project1".C1 = 1) AND ("Project1".C1 IS NOT NULL)) THEN TO_NUMBER(NULL) ELSE "Project1".ANMET_ID END AS C3,
CASE WHEN NOT (("Project1".C1 = 1) AND ("Project1".C1 IS NOT NULL)) THEN TO_NUMBER(NULL) ELSE "Project1".VACRM1_VACRI_ID END AS C4,
CASE WHEN NOT (("Project1".C1 = 1) AND ("Project1".C1 IS NOT NULL)) THEN TO_NUMBER(NULL) ELSE "Project1".VACRM2_VACRI_ID END AS C5,
CASE WHEN NOT (("Project1".C1 = 1) AND ("Project1".C1 IS NOT NULL)) THEN TO_NUMBER(NULL) ELSE "Project1".VACRM3_VACRI_ID END AS C6,
"Extent3".ID AS ID2,
"Join3".MASTR_ID AS MASTR_ID,
"Join3".LANGU_ID AS LANGU_ID,
"Join3".HEADER_DESCR AS HEADER_DESCR,
"Join3".SOURCE_LANGU_ID AS SOURCE_LANGU_ID,
"Join3".ID AS ID3,
"Join3".LANGUAGE_CODE AS LANGUAGE_CODE,
"Join3".LANGUAGE_DESCR_T AS LANGUAGE_DESCR_T,
"Join3".COUNTRY_CODE AS COUNTRY_CODE,
"Join3".COUNTRY_DESCR_T AS COUNTRY_DESCR_T,
"Join3".INSTALLED_F AS INSTALLED_F,
"Join3".METRIC_F AS METRIC_F,
CASE WHEN "Join3".MASTR_ID IS NULL THEN TO_NUMBER(NULL) ELSE 1 END AS C7
FROM TICON_4_20111013.MASTR "Extent1"
LEFT OUTER JOIN (SELECT
"Extent2".ID AS ID,
"Extent2".SHORT_CODE AS SHORT_CODE,
"Extent2".ANMET_ID AS ANMET_ID,
"Extent2".VACRM1_VACRI_ID AS VACRM1_VACRI_ID,
"Extent2".VACRM2_VACRI_ID AS VACRM2_VACRI_ID,
"Extent2".VACRM3_VACRI_ID AS VACRM3_VACRI_ID,
1 AS C1
FROM TICON_4_20111013.TELEM0E "Extent2" ) "Project1" ON "Extent1".ID = "Project1".ID
INNER JOIN TICON_4_20111013.CLUSD "Extent3" ON "Extent1".CLUSD_ID = "Extent3".ID
LEFT OUTER JOIN (SELECT
"Extent4".MASTR_ID AS MASTR_ID,
"Extent4".LANGU_ID AS LANGU_ID,
"Extent4".HEADER_DESCR AS HEADER_DESCR,
"Extent4".SOURCE_LANGU_ID AS SOURCE_LANGU_ID,
"Extent5".ID AS ID,
"Extent5".LANGUAGE_CODE AS LANGUAGE_CODE,
"Extent5".LANGUAGE_DESCR_T AS LANGUAGE_DESCR_T,
"Extent5".COUNTRY_CODE AS COUNTRY_CODE,
"Extent5".COUNTRY_DESCR_T AS COUNTRY_DESCR_T,
"Extent5".INSTALLED_F AS INSTALLED_F,
"Extent5".METRIC_F AS METRIC_F
FROM TICON_4_20111013.MASTR0T "Extent4"
INNER JOIN TICON_4_20111013.LANGU "Extent5" ON "Extent4".LANGU_ID = "Extent5".ID ) "Join3" ON "Extent1".ID = "Join3".MASTR_ID
WHERE ("Extent3".CLMOD_ID > 500) AND ("Extent1".CODE LIKE :p__linq__0 ESCAPE '/')
) "Project2"
ORDER BY "Project2".CODE ASC, "Project2".INDX ASC, "Project2".VARIANT ASC, "Project2".ID1 ASC, "Project2".ID ASC, "Project2".ID2 ASC, "Project2".C7 ASC