1. Thomas Rolseth
  2. SnapDevelop
  3. Monday, 20 April 2020 13:39 PM

I am in the process of migrating a web api from SnapDevelop R1 to R2.  We have about 50 datawindows that were exported to the api using the C# Model Generator.  The exported srd's and classes for these were in a 'DataWindows' folder along with the companion config file.  Per the migration instructions, I removed these from the project.  I then tried to use the Datawindow Converter but it is not working.  We are getting the following error regardless of which datawindow I try to convert:

ORA-00904: "C"."IDENTITY_COLUMN": invalid identifier

Our dw's are a mix of external datawindows and those with SELECT statements.  It's odd to me that an external datawindow would get this error.  In addition, if I try to preview the model in the Datawindow Converter window I get the attached error.

Before attempting to convert any of the datawindows, I was able to setup a connection to the Oracle (v12) database we use.  I also swapped out all of the old versions of the PB and SnapDevelop nuget packages with their newer counterparts.  Unfortunately, I can't do a successful build in SnapDevelop because it can't find the namespace for the dw models that no longer exist.

Did I miss a configuration setting or a migration step?  Any suggestions on how to resolve this issue?

Thanks, Tom

 

Attachments (1)
Accepted Answer
Logan Liu @Appeon Accepted Answer Pending Moderation
  1. Tuesday, 21 April 2020 08:50 AM
  2. SnapDevelop
  3. # Permalink
1
Votes
Undo

Hi Tom,

For the error  "ORA-00904: "C"."IDENTITY_COLUMN": invalid identifier".

Identity Column is a feature introduced in Oracle 12c. Refer to:

https://oracle-base.com/articles/12c/identity-columns-in-oracle-12cr1

So were you connecting to an unsupported version of Oracle?

DataWindow Converter supports Oracle 12c or 18c, refer to:

https://docs.appeon.com/appeon_online_help/dwconverter2019r2/Working_with_DataWindow_Converter/index.html#selecting-the-database-connection

BTW: When converting models for external source DataWindows, it doesn't need to connect to the database. You can report a .NET DataStore bug to track it in the Appeon Standard Support at https://www.appeon.com/standardsupport/. 

Regards, Logan

Comment
Logan, as it turns out the database version is Oracle 11g which the Datawindow Converter does not support. I have reported a bug regarding the external dw issue.
  1. Thomas Rolseth
  2. Wednesday, 22 April 2020 15:30 PM
OK. Thank you for your good question!
  1. Logan Liu @Appeon
  2. Wednesday, 22 April 2020 17:20 PM
There are no comments made yet.
Ricardo Jasso Accepted Answer Pending Moderation
  1. Wednesday, 22 April 2020 17:05 PM
  2. SnapDevelop
  3. # 1
0
Votes
Undo

Solution Explorer Model Folder.

Attachments (1)
Comment
There are no comments made yet.
Thomas Rolseth Accepted Answer Pending Moderation
  1. Wednesday, 22 April 2020 15:09 PM
  2. SnapDevelop
  3. # 2
0
Votes
Undo

screen shots of dw export process

Attachments (1)
Comment
There are no comments made yet.
Ricardo Jasso Accepted Answer Pending Moderation
  1. Wednesday, 22 April 2020 14:52 PM
  2. SnapDevelop
  3. # 3
0
Votes
Undo

Models folder.

Attachments (1)
Comment
There are no comments made yet.
Thomas Rolseth Accepted Answer Pending Moderation
  1. Tuesday, 21 April 2020 13:54 PM
  2. SnapDevelop
  3. # 4
0
Votes
Undo

Also, we were using the same database with SnapDevelop R1 and the C# Model Generator worked fine.  Since the database is the same, it feels to me like something has changed in SnapDevelop R2 with respect to how it works with an Oracle 12 database.

Comment
Yes. The whole implementation of .NET DataStore is different from 2019 GA. Now with 2019 R2, .NET DataStore has removed the dependency on the original DataWindow SRD file. Refer to:

https://docs.appeon.com/appeon_online_help/snapdevelop2019r2/Features_List/index.html#refactored-net-datastore
  1. Logan Liu @Appeon
  2. Wednesday, 22 April 2020 02:28 AM
There are no comments made yet.
Thomas Rolseth Accepted Answer Pending Moderation
  1. Tuesday, 21 April 2020 13:50 PM
  2. SnapDevelop
  3. # 5
0
Votes
Undo

"BTW: When converting models for external source DataWindows, it doesn't need to connect to the database. "

That may be true but I am always prompted to make a database connection when I try to export a datawindow using the Datawindow Converter.  Is there a way to suppress that for an external dw?

Comment
There is no way to suppress that for an External Source DataWindow now. You can report a .NET DataStore bug to track it in the Appeon Standard Support at https://www.appeon.com/standardsupport/.
  1. Logan Liu @Appeon
  2. Wednesday, 22 April 2020 02:23 AM
There are no comments made yet.
Thomas Rolseth Accepted Answer Pending Moderation
  1. Monday, 20 April 2020 18:36 PM
  2. SnapDevelop
  3. # 6
0
Votes
Undo

Models screenshot

Attachments (1)
Comment
There are no comments made yet.
Thomas Rolseth Accepted Answer Pending Moderation
  1. Monday, 20 April 2020 18:03 PM
  2. SnapDevelop
  3. # 7
0
Votes
Undo

I also created a test API and tried to convert a single 5-column external datawindow using the new tool (no sql).  I got the same error as posted above when using Oracle.  However, when I tried it with SQL Anywhere the process ran fine and a Models folder was created in the project (along with the corresponding model class for the dw).

Comment
I tried this again and it did not do what I would expect. Please look at the word document attached -- I took screenshots of each step in the process. The export of the external dw worked and it created the Models folder along with the newly exported class. However, it did not add the new Models folder to the solution in SnapDevelop. I have to manually add it in the Solution Explorer. That was handled automatically in SnapDevelop R1.
  1. Thomas Rolseth
  2. Wednesday, 22 April 2020 15:07 PM
It works for me (see attachement). Tested it againg deleting the folder. Maybe you should try recreating the whole test again to verify.
  1. Ricardo Jasso
  2. Wednesday, 22 April 2020 17:05 PM
I did as you suggested and created a new API solution. This time it worked. Something must have gotten out of sync. Thanks.
  1. Thomas Rolseth
  2. Wednesday, 22 April 2020 22:17 PM
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.