Page 1 of 1

ORA-00936: missing expression - LightSwitch

Posted: Thu 16 Sep 2010 20:01
by Mottor
I have asked this question in Microsoft Visual Studio LightSwitch forum:
http://social.msdn.microsoft.com/Forums ... 310592ed41
Oracle (DevArt provider)

After waiting 20 minutes "Attach Data Source Wizard" to show my tables, I am selecting a table and click Finish.

If the table has no field named "ID" then I am getting the error: "unexpected parameters count". It is unexpected :)

If the table has this field it is another error comming:

"An error occured while executed the command definition. See the inner exception for details.

ORA-00936: missing expression "
Steve Hoag (MSFT, Moderator) told me to search the solution here.

You can also see the other question too:
http://social.msdn.microsoft.com/Forums ... 98ef19c4f3

I don't believe that this huge select statement is from your provider. That cannot be written from Oracle programmer. :)

Posted: Fri 17 Sep 2010 11:21
by StanislavK
At the moment, dotConnect for Oracle does not provide support for Visual Studio LightSwitch. We plan to implement it but cannot provide any timeframe.

We will inform you here when Visual Studio LightSwitch is supported.

Posted: Fri 17 Sep 2010 11:53
by Mottor
You shouldn't provide support. You should see where the error come from. They say that they are working with EF. You have support for EF.

And waht about the second question. Is this statement from you or from Microsoft:

Code: Select all

SELECT   "Project6".c2 AS c1,
         "Project6"."CatalogName" AS "CatalogName",
         "Project6"."SchemaName" AS "SchemaName",
         "Project6"."Name" AS "Name",
         "Project6".c1 AS c2,
         "Project6".c3 AS c3,
         "Project6".c4 AS c4,
         "Project6".c5 AS c5,
         "Project6".c6 AS c6,
         "Project6".c7 AS c7,
         "Project6".c8 AS c8,
         "Project6".c9 AS c9,
         "Project6".c10 AS c10,
         "Project6".c11 AS c11
    FROM (SELECT "Extent1"."CatalogName" AS "CatalogName",
                 "Extent1"."SchemaName" AS "SchemaName",
                 "Extent1"."Name" AS "Name",
                 "UnionAll1"."Name" AS c1,
                 "UnionAll1"."Ordinal" AS c2,
                 "UnionAll1"."IsNullable" AS c3,
                 "UnionAll1"."TypeName" AS c4,
                 "UnionAll1"."MaxLength" AS c5,
                 "UnionAll1"."Precision" AS c6,
                 "UnionAll1"."DateTimePrecision" AS c7,
                 "UnionAll1"."Scale" AS c8,
                 "UnionAll1"."IsIdentity" AS c9,
                 "UnionAll1"."IsStoreGenerated" AS c10,
                 CASE
                    WHEN ("Project5".c2 IS NULL) THEN 0
                    ELSE "Project5".c2
                 END AS c11
            FROM (
                  /*SViews {0B22944E-0F7B-48be-89B5-743B50E1FC06} {BFD32F32-EEE4-4826-9725-C489B0EE1ACC}*/
                  SELECT   v.owner || '.' || v.view_name AS "Id",
                           'Catalog1' AS "CatalogName",
                           v.owner AS "SchemaName",
                           v.view_name AS "Name",
                           v.text AS "ViewDefinition",
                           0 AS "IsUpdatable"
                      FROM SYS.all_views v LEFT OUTER JOIN user_tab_privs p
                           ON (    v.owner = p.owner
                               AND p.grantee = USER
                               AND p.table_name = v.view_name
                               AND (p."PRIVILEGE" = 'SELECT' OR p."PRIVILEGE" = 'EXECUTE'))
                     WHERE v.owner = USER OR p.grantee = USER
                  ORDER BY 3, 1) "Extent1"
                 INNER JOIN
                 (SELECT "Extent2"."Id" AS "Id",
                         "Extent2"."Name" AS "Name",
                         "Extent2"."Ordinal" AS "Ordinal",
                         "Extent2"."IsNullable" AS "IsNullable",
                         "Extent2"."TypeName" AS "TypeName",
                         "Extent2"."MaxLength" AS "MaxLength",
                         "Extent2"."Precision" AS "Precision",
                         "Extent2"."DateTimePrecision" AS "DateTimePrecision",
                         "Extent2"."Scale" AS "Scale",
                         "Extent2"."IsIdentity" AS "IsIdentity",
                         "Extent2"."IsStoreGenerated" AS "IsStoreGenerated",
                         4 AS c1,
                         "Extent2"."ParentId" AS "ParentId"
                    FROM (
                          /*STableColumns {4D35D67E-B0EE-45e6-BA55-3238B93342FB} {BFD32F32-EEE4-4826-9725-C489B0EE1ACC}*/
                          SELECT   t.owner || '.' || t.table_name || '.' || t.column_name AS "Id",
                                   t.owner || '.' || t.table_name AS "ParentId",
                                   column_name AS "Name",
                                   column_id AS "Ordinal",
                                   ...,
                                   ...,
                                   NULL AS "Default"
                              FROM SYS.all_tab_columns t LEFT OUTER JOIN user_tab_privs p
                                   ON (    t.owner = p.owner
                                       AND p.grantee = USER
                                       AND p.table_name = t.table_name
                                       AND (p."PRIVILEGE" = 'SELECT' OR p."PRIVILEGE" = 'EXECUTE'))
                             WHERE t.owner = USER OR p.grantee = USER
                          ORDER BY 2, 4) "Extent2"
                  UNION ALL
                  SELECT "Extent3"."Id" AS "Id",
                         "Extent3"."Name" AS "Name",
                         "Extent3"."Ordinal" AS "Ordinal",
                         "Extent3"."IsNullable" AS "IsNullable",
                         "Extent3"."TypeName" AS "TypeName",
                         "Extent3"."MaxLength" AS "MaxLength",
                         "Extent3"."Precision" AS "Precision",
                         "Extent3"."DateTimePrecision" AS "DateTimePrecision",
                         "Extent3"."Scale" AS "Scale",
                         "Extent3"."IsIdentity" AS "IsIdentity",
                         "Extent3"."IsStoreGenerated" AS "IsStoreGenerated",
                         0 AS c1,
                         "Extent3"."ParentId" AS "ParentId"
                    FROM (
                          /*SViewColumns {02C89419-DB97-4abb-9F1A-6B313FAE7866} {BFD32F32-EEE4-4826-9725-C489B0EE1ACC}*/
                          SELECT t.owner || '.' || t.table_name || '.' || t.column_name AS "Id",
                                 t.owner || '.' || t.table_name AS "ParentId",
                                 column_name AS "Name",
                                 column_id AS "Ordinal",
                                 ...,
                                 NULL AS "Default"
                            FROM SYS.all_tab_columns t LEFT OUTER JOIN user_tab_privs p
                                 ON (    t.owner = p.owner
                                     AND p.grantee = USER
                                     AND p.table_name = t.table_name
                                     AND (p."PRIVILEGE" = 'SELECT' OR p."PRIVILEGE" = 'EXECUTE'))
                           WHERE t.owner = USER OR p.grantee = USER) "Extent3") "UnionAll1"
                 ON (0 = "UnionAll1".c1) AND ("Extent1"."Id" = "UnionAll1"."ParentId")
                 LEFT OUTER JOIN
                 (SELECT "UnionAll2"."Id" AS c1,
                         1 AS c2
                    FROM (
                          /*SViewConstraints {0C61BE7A-8D9D-4bf1-97B0-449F70A9470D} {BFD32F32-EEE4-4826-9725-C489B0EE1ACC}*/
                          SELECT CAST (NULL AS VARCHAR2 (1)) AS "Id",
                                 CAST (NULL AS VARCHAR2 (1)) AS "ParentId",
                                 CAST (NULL AS VARCHAR2 (1)) AS "Name",
                                 CAST (NULL AS VARCHAR2 (1)) AS "ConstraintType",
                                 0 AS "IsDeferrable",
                                 0 AS "IsInitiallyDeferred",
                                 CAST (NULL AS VARCHAR2 (1)) AS "Expression",
                                 CAST (NULL AS VARCHAR2 (1)) AS "UpdateRule",
                                 CAST (NULL AS VARCHAR2 (1)) AS "DeleteRule"
                            FROM DUAL
                           WHERE 0 = 1) "Extent4"
                         INNER JOIN
                         (SELECT 10 AS c1,
                                 "Extent5"."ConstraintId" AS "ConstraintId",
                                 "Extent6"."Id" AS "Id"
                            FROM (
                                  /*SConstraintColumns {F2DCFD5C-8B38-4e6c-92A5-34493F5A9237} {BFD32F32-EEE4-4826-9725-C489B0EE1ACC}*/
                                  SELECT cons.owner || '.' || cons.constraint_name AS "ConstraintId",
                                         cols.owner || '.' || cols.table_name || '.' || cols.column_name AS "ColumnId"
                                    FROM SYS.all_cons_columns cols INNER JOIN SYS.all_constraints cons
                                         ON (cols.constraint_name = cons.constraint_name AND cols.owner = cons.owner)
                                         LEFT OUTER JOIN user_tab_privs p
                                         ON (    cols.owner = p.owner
                                             AND p.grantee = USER
                                             AND p.table_name = cols.table_name
                                             AND (p."PRIVILEGE" = 'SELECT' OR p."PRIVILEGE" = 'EXECUTE'))
                                   WHERE cons.owner = USER OR p.grantee = USER) "Extent5"
                                 INNER JOIN
                                 (
                                  /*STableColumns {4D35D67E-B0EE-45e6-BA55-3238B93342FB} {BFD32F32-EEE4-4826-9725-C489B0EE1ACC}*/
                                  SELECT   t.owner || '.' || t.table_name || '.' || t.column_name AS "Id",
                                           t.owner || '.' || t.table_name AS "ParentId",
                                           column_name AS "Name",
                                           column_id AS "Ordinal",
                                           ...,
                                           NULL AS "Default"
                                      FROM SYS.all_tab_columns t LEFT OUTER JOIN user_tab_privs p
                                           ON (    t.owner = p.owner
                                               AND p.grantee = USER
                                               AND p.table_name = t.table_name
                                               AND (p."PRIVILEGE" = 'SELECT' OR p."PRIVILEGE" = 'EXECUTE'))
                                     WHERE t.owner = USER OR p.grantee = USER
                                  ORDER BY 2, 4) "Extent6" ON "Extent6"."Id" = "Extent5"."ColumnId"
                          UNION ALL
                          SELECT 7 AS c1,
                                 "Extent7"."ConstraintId" AS "ConstraintId",
                                 "Extent8"."Id" AS "Id"
                            FROM (
                                  /*SViewConstraintColumns {5AA2F6A5-AA81-4724-8593-55D34067FFEC} {BFD32F32-EEE4-4826-9725-C489B0EE1ACC}*/
                                  SELECT CAST (NULL AS VARCHAR2 (1)) AS "ConstraintId",
                                         CAST (NULL AS VARCHAR2 (1)) AS "ColumnId"
                                    FROM DUAL
                                   WHERE 0 = 1) "Extent7"
                                 INNER JOIN
                                 (
                                  /*SViewColumns {02C89419-DB97-4abb-9F1A-6B313FAE7866} {BFD32F32-EEE4-4826-9725-C489B0EE1ACC}*/
                                  SELECT t.owner || '.' || t.table_name || '.' || t.column_name AS "Id",
                                         t.owner || '.' || t.table_name AS "ParentId",
                                         column_name AS "Name",
                                         column_id AS "Ordinal",
                                         CASE nullable
                                            WHEN 'Y' THEN 1
                                            ELSE 0
                                         END AS "IsNullable",
                                         ...,
                                         NULL AS "Default"
                                    FROM SYS.all_tab_columns t LEFT OUTER JOIN user_tab_privs p
                                         ON (    t.owner = p.owner
                                             AND p.grantee = USER
                                             AND p.table_name = t.table_name
                                             AND (p."PRIVILEGE" = 'SELECT' OR p."PRIVILEGE" = 'EXECUTE'))
                                   WHERE t.owner = USER OR p.grantee = USER) "Extent8" ON "Extent8"."Id" = "Extent7"."ColumnId"
                                 ) "UnionAll2" ON (7 = "UnionAll2".c1) AND ("Extent4"."Id" = "UnionAll2"."ConstraintId")
                   WHERE "Extent4"."ConstraintType" = 'PRIMARY KEY') "Project5" ON "UnionAll1"."Id" = "Project5".c1
                 ) "Project6"
ORDER BY "Project6"."SchemaName" ASC, "Project6"."Name" ASC, "Project6".c2 ASC


Posted: Fri 17 Sep 2010 13:14
by StanislavK
The problem you are encountering is probably an integration one, whereas integration with VS LightSwitch is not supported yet.

We will investigate it and inform you about the results, but please notice that dotConnect for Oracle is not supposed to be used with the LightSwitch VS edition, nor do we guarantee they are compatible.

Posted: Tue 21 Sep 2010 08:15
by Mottor
And for third time:
Is this select statement composed from your provider?

Posted: Thu 23 Sep 2010 12:03
by AndreyR
We have reproduced the slow metadata quering situation.
I will let you know as soon as our investigation is complete.

Posted: Thu 23 Sep 2010 21:40
by Mottor
Thanks,
may be there will be changes from Microsoft side too.
To improve the overall experience we will be looking at ways to avoid generating the full model so the select itself might become irrelevant.
Regards

Posted: Sun 14 Nov 2010 11:31
by andreyp
Hi

Any news on this ?

Posted: Sun 14 Nov 2010 11:32
by andreyp
Hi

Any news on this ?

Posted: Mon 15 Nov 2010 15:50
by AndreyR
Our investigation is still in progress.
Have you tried Entity Developer? We have made a number of performance improvements in the latest Beta build.

ORA-00936: missing expression - LightSwitch

Posted: Tue 30 Nov 2010 10:23
by andreyp
The perfomance issue is not so problematic , we mainly have a problem with the the ORA-00936: missing expression when trying to add the entities

Posted: Tue 30 Nov 2010 14:55
by AndreyR
Our investigation is in progress.
I will let you know about the results.

Posted: Tue 18 Jan 2011 10:07
by tzi
Hi,

any updates on this topic? I encountered the same issue with the latest trial and I am eager to try Lightswitch + Oracle as an alternative RAD tool to Forms...

Cheers, Tom

Posted: Mon 24 Jan 2011 10:15
by AndreyR
We have improved the LightSwitch performance.
This improvement will be available in the nearest build.

Posted: Fri 04 Feb 2011 09:47
by AndreyR
The new build of dotConnect for Oracle 6.10.96 with improved LightSwitch performance is available.
It can be downloaded from here (trial version) or from Registered Users' Area (for users with valid subscription only).
For more information, please refer to this announcement.