Sql Oracle在执行实体框架6.0生成的查询时抛出ORA-00911无效字符错误

Sql Oracle在执行实体框架6.0生成的查询时抛出ORA-00911无效字符错误,sql,oracle,entity-framework,oracle11g,ora-00911,Sql,Oracle,Entity Framework,Oracle11g,Ora 00911,我对下面由实体Framewrok 6.0生成的查询有问题。当我删除where子句时,查询执行得很好。但是我看不出where子句的问题。你能帮帮我吗 {SELECT "Extent1"."ID" AS "ID", "Extent1"."STATECODE" AS "STATECODE", "Extent1"."FIRMAID" AS "FIRMAID", "Extent1"."ILID" AS "ILID", "Extent1"."ILCEID" AS "ILCEID", "Exten

我对下面由实体Framewrok 6.0生成的查询有问题。当我删除where子句时,查询执行得很好。但是我看不出where子句的问题。你能帮帮我吗

{SELECT 
"Extent1"."ID" AS "ID", 
"Extent1"."STATECODE" AS "STATECODE", 
"Extent1"."FIRMAID" AS "FIRMAID", 
"Extent1"."ILID" AS "ILID", 
"Extent1"."ILCEID" AS "ILCEID", 
"Extent1"."PLANTURID" AS "PLANTURID", 
"Extent1"."ETUDTURID" AS "ETUDTURID", 
"Extent1"."ETUDAMACID" AS "ETUDAMACID", 
"Extent1"."DILIMID" AS "DILIMID", 
"Extent1"."ACIKLAMA" AS "ACIKLAMA", 
"Extent1"."BASVURUTARIHI" AS "BASVURUTARIHI", 
"Extent1"."ALAN" AS "ALAN", 
"Extent1"."OLCEK" AS "OLCEK", 
"Extent1"."CREATETIME" AS "CREATETIME", 
"Extent1"."UPDATETIME" AS "UPDATETIME", 
"Extent1"."CREATEUSERID" AS "CREATEUSERID", 
"Extent1"."UPDATEUSERID" AS "UPDATEUSERID", 
"Extent2"."ID" AS "ID1", 
"Extent2"."KOD" AS "KOD", 
"Extent2"."AD" AS "AD", 
"Extent2"."CREATETIME" AS "CREATETIME1", 
"Extent2"."UPDATETIME" AS "UPDATETIME1", 
"Extent2"."CREATEUSERID" AS "CREATEUSERID1", 
"Extent2"."UPDATEUSERID" AS "UPDATEUSERID1", 
"Extent3"."ID" AS "ID2", 
"Extent3"."KOD" AS "KOD1", 
"Extent3"."AD" AS "AD1", 
"Extent3"."PLANTURID" AS "PLANTURID1", 
"Extent3"."CREATETIME" AS "CREATETIME2", 
"Extent3"."UPDATETIME" AS "UPDATETIME2", 
"Extent3"."CREATEUSERID" AS "CREATEUSERID2", 
"Extent3"."UPDATEUSERID" AS "UPDATEUSERID2", 
"Extent4"."ID" AS "ID3", 
"Extent4"."VERGINUMARASI" AS "VERGINUMARASI", 
"Extent4"."EMAIL" AS "EMAIL", 
"Extent4"."FIRMAADI" AS "FIRMAADI", 
"Extent4"."BUROTESCILNUMARASI" AS "BUROTESCILNUMARASI", 
"Extent4"."TELEFON" AS "TELEFON", 
"Extent4"."ADRES" AS "ADRES", 
"Extent4"."ILID" AS "ILID1", 
"Extent4"."ILCEID" AS "ILCEID1", 
"Extent4"."MAHALLEID" AS "MAHALLEID", 
"Extent4"."VERGIDAIRESIID" AS "VERGIDAIRESIID", 
"Extent4"."USERID" AS "USERID", 
"Extent4"."NODEID" AS "NODEID", 
"Extent4"."CREATETIME" AS "CREATETIME3", 
"Extent4"."UPDATETIME" AS "UPDATETIME3", 
"Extent4"."CREATEUSERID" AS "CREATEUSERID3", 
"Extent4"."UPDATEUSERID" AS "UPDATEUSERID3", 
"Extent5"."FEATUREID" AS "FEATUREID", 
"Extent5"."ADI_NUMARASI" AS "ADI_NUMARASI", 
"Extent5"."UAVTKOD" AS "UAVTKOD", 
"Extent6"."FEATUREID" AS "FEATUREID1", 
"Extent6"."ADI_NUMARASI" AS "ADI_NUMARASI1", 
"Extent6"."UAVTKOD" AS "UAVTKOD1", 
"Extent6"."ILKOD" AS "ILKOD", 
"Extent7"."ID" AS "ID4", 
"Extent7"."ENLEM" AS "ENLEM", 
"Extent7"."BOYLAM" AS "BOYLAM", 
"Extent7"."DILIMI" AS "DILIMI", 
"Extent7"."MERIDYEN" AS "MERIDYEN", 
"Extent7"."ILADI" AS "ILADI", 
"Extent7"."ILID" AS "ILID2", 
"Extent8"."ID" AS "ID5", 
"Extent8"."KOD" AS "KOD2", 
"Extent8"."AD" AS "AD2", 
"Extent8"."CREATETIME" AS "CREATETIME4", 
"Extent8"."UPDATETIME" AS "UPDATETIME4", 
"Extent8"."CREATEUSERID" AS "CREATEUSERID4", 
"Extent8"."UPDATEUSERID" AS "UPDATEUSERID4"
FROM        "JEOLOJI"."PROJE" "Extent1"
INNER JOIN "JEOLOJI"."ETUDAMAC" "Extent2" ON "Extent1"."ETUDAMACID" = "Extent2"."ID"
INNER JOIN "JEOLOJI"."ETUDTUR" "Extent3" ON "Extent1"."ETUDTURID" = "Extent3"."ID"
INNER JOIN "JEOLOJI"."FIRMA" "Extent4" ON "Extent1"."FIRMAID" = "Extent4"."ID"
INNER JOIN "JEOLOJI"."IL" "Extent5" ON "Extent1"."ILID" = "Extent5"."FEATUREID"
LEFT OUTER JOIN "JEOLOJI"."ILCE" "Extent6" ON "Extent1"."ILCEID" = "Extent6"."FEATUREID"
INNER JOIN "JEOLOJI"."DILIM" "Extent7" ON "Extent1"."DILIMID" = "Extent7"."ID"
INNER JOIN "JEOLOJI"."PLANTUR" "Extent8" ON "Extent1"."PLANTURID" = "Extent8"."ID"
WHERE ((1 = (CASE WHEN (( NVL(INSTR(LOWER(CASE WHEN ("Extent1"."ACIKLAMA" IS NULL) THEN '' ELSE "Extent1"."ACIKLAMA" END), LOWER('Ma')), 0) ) = 1) THEN 1 WHEN (( NVL(INSTR(LOWER(CASE WHEN ("Extent1"."ACIKLAMA" IS NULL) THEN '' ELSE "Extent1"."ACIKLAMA" END), LOWER('Ma')), 0) ) <> 1) THEN 0 END)) AND (22 <> "Extent1"."FIRMAID"))}
{选择
“Extent1”。“ID”作为“ID”,
“Extent1”。“STATECODE”作为“STATECODE”,
“Extent1”。“FIRMAID”作为“FIRMAID”,
“Extent1”。“ILID”作为“ILID”,
“Extent1”。“ILCEID”作为“ILCEID”,
“Extent1”。“PLANTURID”作为“PLANTURID”,
“Extent1”。“ETUDTURID”作为“ETUDTURID”,
“Extent1”。“ETUDAMACID”作为“ETUDAMACID”,
“Extent1”。“DILIMID”作为“DILIMID”,
“extend1”。“ACIKLAMA”作为“ACIKLAMA”,
“Extent1”。“BASVURUTARIHI”作为“BASVURUTARIHI”,
“Extent1”。“ALAN”作为“ALAN”,
“Extent1”。“OLCEK”作为“OLCEK”,
“Extent1”。“CREATETIME”作为“CREATETIME”,
“Extent1”“UPDATETIME”作为“UPDATETIME”,
“Extent1”“CREATEUSERID”作为“CREATEUSERID”,
“Extent1”。“UPDATEUSERID”作为“UPDATEUSERID”,
“Extent2”“ID”作为“ID1”,
“Extent2”。“KOD”作为“KOD”,
“extend2”。“AD”作为“AD”,
“Extent2”“CREATETIME”作为“CREATETIME1”,
“Extent2”“UPDATETIME”作为“UPDATETIME1”,
“Extent2”“CREATEUSERID”作为“CREATEUSERID1”,
“Extent2”“UPDATEUSERID”作为“UPDATEUSERID”,
“Extent3”。“ID”作为“ID2”,
“Extent3”。“KOD”作为“KOD1”,
“Extent3”。“AD”作为“AD1”,
“extend3”。“PLANTURID”作为“PLANTURID1”,
“Extent3”“CREATETIME”作为“CREATETIME2”,
“Extent3”“UPDATETIME”作为“UPDATETIME2”,
“Extent3”“CREATEUSERID”作为“CREATEUSERID2”,
“Extent3”“UPDATEUSERID”作为“UPDATEUSERID2”,
“extend4”“ID”作为“ID3”,
“extend4”。“VERGINUMARASI”作为“VERGINUMARASI”,
“扩展4”。“电子邮件”作为“电子邮件”,
“扩展4”。“FIRMAADI”作为“FIRMAADI”,
“扩展4”。“Burotecsilnumarasi”作为“Burotecsilnumarasi”,
“Extent4”。“TELEFON”作为“TELEFON”,
“extend4”。“ADRES”作为“ADRES”,
“扩展名4”。“ILID”作为“ILID1”,
“extend4”。“ILCEID”作为“ILCEID1”,
“extend4”。“MAHALLEID”作为“MAHALLEID”,
“extend4”“vergidairesid”作为“vergidairesid”,
“extend4”.“USERID”作为“USERID”,
“extend4”。“NODEID”作为“NODEID”,
“Extent4”“CREATETIME”作为“CREATETIME3”,
“Extent4”“UPDATETIME”作为“UPDATETIME3”,
“Extent4”“CREATEUSERID”作为“CREATEUSERID3”,
“Extent4”“UPDATEUSERID”作为“UPDATEUSERID”,
“Extent5”。“FEATUREID”作为“FEATUREID”,
“extend5”。“ADI_NUMARASI”作为“ADI_NUMARASI”,
“extend5”。“UAVTKOD”作为“UAVTKOD”,
“Extent6”。“FEATUREID”作为“FEATUREID 1”,
“extend6”。“ADI_NUMARASI”作为“ADI_NUMARASI1”,
“extend6”“UAVTKOD”作为“UAVTKOD1”,
“Extent6”。“ILKOD”作为“ILKOD”,
“Extent7”“ID”作为“ID4”,
“Extent7”。“ENLEM”作为“ENLEM”,
“扩展7”。“BOYLAM”作为“BOYLAM”,
“extend7”。“DILIMI”作为“DILIMI”,
“Extent7”。“MERIDYEN”作为“MERIDYEN”,
“extend7”。“ILADI”作为“ILADI”,
“扩展7”。“ILID”作为“ILID2”,
“Extent8”“ID”作为“ID5”,
“扩展8”。“KOD”作为“KOD2”,
“Extent8”。“AD”作为“AD2”,
“Extent8”“CREATETIME”作为“CREATETIME4”,
“Extent8”“UPDATETIME”作为“UPDATETIME4”,
“Extent8”“CREATEUSERID”作为“CREATEUSERID4”,
将“UPDATEUSERID”扩展为“UpdateUserI4”
来自“JEOLOJI”。“PROJE”扩展名1
内部连接“JEOLOJI”。“ETUDAMAC”“Extent2”在“Extent1”。“ETUDAMACID”=“Extent2”。“ID”
内部连接“JEOLOJI”。“ETUDTUR”“Extent3”位于“Extent1”。“ETUDTURID”=“Extent3”。“ID”
内部连接“JEOLOJI”。“FIRMA”“Extent4”位于“Extent1”。“FIRMAID”=“Extent4”。“ID”
内部连接“JEOLOJI”。“Extent1”上的“IL”“Extent5”。“ILID”=“Extent5”。“FEATUREID”
左外连接“JEOLOJI”。“Extent1”上的“ILCE”“Extent6”。“ILCEID”=“Extent6”。“FEATUREID”
内部连接“JEOLOJI”。“Extent1”上的“DILIM”“Extent7”。“DILIMID”=“Extent7”。“ID”
内部连接“JEOLOJI”。“PLANTUR”“Extent8”位于“Extent1”。“PLANTURID”=“Extent8”。“ID”
式中((1=(当((NVL)(INSTR(小写(“Extent1”,“ACIKLAMA”为空)然后“”ELSE“Extent1”,“ACIKLAMA”END),LOWER('Ma')),0))=1)然后1当((NVL(INSTR(小写(“Extent1”,“ACIKLAMA”为空)然后“”ELSE“Extent1”,“ACIKLAMA”END),LOWER('Ma')),0))和(22“Extent1”,“FIRMAID”))
我解决了这个问题

我们正在使用
StringLength
属性在c#中标记
string
类型,以防止实体框架将它们创建为Oracle上的
NCLOB
列。然后实体框架为标有
StringLenth
属性的c属性生成类型为
nvarchar
的列


在这个查询中,
where
子句可以很好地处理
varchar2
,因为存在qoutes(正如我从我的Db Professional朋友那里学到的),所以我更改了列的类型并解决了它

它没有给出什么字符..只有主题错误?唯一的输出是:错误ORA-00911:无效字符您是否尝试在oracle窗口中运行它?我假设{和}实际上不在实际查询中?尝试在sqlplus或类似工具中运行,看看会发生什么。另外,WHERE子句在实际运行时不太可能执行得很好。这个复杂的
WHERE…
子句是否相当于
WHERE lower(“Extent1.”“ACIKLAMA”)比如“ma%”和“Extent1.”“FIRMAID”22