For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!
Please let me know what you think. We have added SQL*Plus support. See these web pages: SQL*Plus common commands: https://www.oracle.com/database/technologies/appdev/dotnet/odtvscodesqlplus.html SQL*Plus Reference: https://www.oracle.com/database/technologies/appdev/dotnet/odtvscodesqlplusref.html More features from the changelog: Changes in version 19.3.3 Connection Dialog enhancements: Set/Change the current schema, improved proxy user connection UI Improved connection failure detection with an option to reconnect Support for macOS connections to Oracle Autonomous Database over TLS Support for database connections using LDAP Browse other schemas ("Other Users" node) in Oracle Explorer tree control SQL History and Bookmarks Limited SQL*Plus support Detection and warning of unsupported SQL*Plus commands in scripts (and child scripts) SQL*Plus CONNECT command associates the file with a connection Preservation of all session associated properties from execution to execution Autocommit On/Off setting Autocompletion of SQL*Plus commands Autocompletion of procedure/function parameters Intellisense/Autocomplete performance enhancements Syntax coloring for SQL and PL/SQL keywords and SQL*Plus commands/variables Append new results to existing results window Toolbar buttons to cancel running query and to clear results window Setting to automatically clear results window after each execution Remember previous selections in some UI elements and offer as defaults Support for REFCURSOR variables and implicit cursors Visual Studio Code theme support for Light/Dark/High Contrast themes
Hello Friends,
Any Suggestion??
Thanks Sanjeev
User, tell us your exact JDev version, please! I don't see any chance to do this declaratively. You can do this as a groovy script or a java business rule in the VO/EO.
Timo
Hi Timo, Thanks for the update jdev version is 11.1.1.9.0.
Hi Timo, Using groovy script can we validate it with the querytext result, if so please help with some information? Thanks Sanjeev
On second thought, I would do it in java as a business rule. This way you are free to use pl/sql or other methods to help you implement the validation. Using groovy limits you somewhat, e.g., you can't easily call other methods from different objects like AM or other VOs.
Hi Timo, Thanks for the information, want to check one more thing, where we can have this validation in EOImpl.java file or in backing bean, Which one will be the best suggestable approach? Kindly suggest. Thanks Sanjeev
The rule of thumb is to install validations at the EO level. This ensures that every data written to the DB has been validated. ADF uses this approach but adds some client-side validation too (e.g. checking for numbers). Still, all data written to DB tables should be valid. As a DBA I would enforce the final validation in the DB using constraints. In the end, users expect to see valid data in the DB and a DBA will not trust anybody but the DB. I would implement the validation in the DB (that's the DBAs work) and on EO level. Timo
Hi Timo, Thanks for the information, want to check can we do the transit attribute level validation in Enitiy Object at attribute level or at entity level. Please suggest.
You can do both. It depends on the use case. If the attribute can be tested without knowing other values from the same EO (or other EOs), you can do it at the attribute level. If the attribute needs information from other attributes of the same EO, it's better to do an entity-level validation. This way, you know that all attributes are given (have the values the user wants to store), and the validation must fulfill the rule.
Hi Timo, Thanks for the information, I'm having one transit attribute(EMPName) which is based on other db attribute(Ename) of Entity Object. Here when I'm doing the entity level validation on db attribute(Ename) it's performing the validation and showing the error message properly but when I'm doing the same validation on transit attribute (which is based on db attribute using groovy). I've assign the Ename db attribute value to EMPName transit attribute) the validation is not getting triggered and not showing any validation message. Jdeveloper version is 11.1.1.9.0. Kindly suggest.
Thanks Sanjeev SA.7z (167.81 KB)
Sanjeev, I'm not sure what to do with the test case. I don't see any description on how to get to the problem. Please tell me what to do. From what I see in the sources, you don't get any exception because there is no rule defined for your transient attribute.
Hi Timo, Actually having two attribute EName which is db attribute on this if I'm putting validation either on attribute or entity level it's showing the message properly. but if the same validation i'm applying on transit attribute EMPName (which is based on EName ) is not triggering any validation neither at entity level nor at attribute level and not showing any message.
Kindly suggest, how i can trigger the validation on transit attribute. Thanks Sanjeev
Sanjeev, your data model is OK, but the rules you try to implement are not. You can't implement a rule that the data in the DB is not fulfilling. The transient attribute EMPName should be one of the department names from the dept table but must be equal to the emp_name attribute of the employee. This rule is not valid in the data you added to the DB. So, your test case can't be used to show anything. A test case should show the problem but should not be the problem. If you remove the emp_name setting from the transient attribute and add a rule that checks if the value entered by the user is a known department name (from the list rule), it works as expected. Timo
Hi Timo, Thanks for the information and yes you are right in this way we can do the transit attribute validation. Actually as we need to validate one of the DB attribute which hold 8 combined value ie.("001.100.101.00012.ABC123,24343,12019,ak200") and we need to validate starting 4 value ie.("001.100.101.00012") with other query result so to achieve this declaratively I thought to have 1 transit attribute and compare the value with query result but somehow it's not working so thought to check. Please suggest if there is any other way to achieve this using declarative approach. Thanks Sanjeev
Well, I remember that I told you to do this in the DB already. Sure, you can use a transient or original attribute and compare it against something else. But why do you want to do it declarative? You need to extract part of the original value and compare it. This you don't do declaratively. Use either a groovy expression or use a method validator.