DatabaseProcedure with the return type preceded of the schema name
Salvation (Paco)I have a question on the DatabaseProcedure class. We use proxy Oracle users to our database connections.
Everything is accessible via a role of database that are granted to the user. All of our database objects, tables, etc. are protected by this database role.
When I want to call a function/procedure of database, I need to add the name of the schema as a prefix to the custom database object that uses us for parameters and return types.
So far so good. I can also define a parameter prefixed by the name of schema via the DatabaseProcedure.registerArrayType...
But when I try to set a function call that uses this parameter I get an error saying "the statement is not valid.
The problem is the regular pattern of PROCEDURE_DEFINITION:
private static final Pattern PROCEDURE_DEFINITION = Pattern.compile("\\s* (FUNCTION|PROCEDURE) \\s+ ([\\w.$]+) \\s* (?:\\((.*?)\\))? \\s* (?:RETURN\\s+(\\w+))? \\s* ;? \\s*", CASE_INSENSITIVE | COMMENTS | DOTALL);
The return type cannot be prefixed by the name of schema.Any good suggestions or workarounds?
I have actually change the duration of reflection model to make it work-, but I really don't like this solution over the long term.
/ Torben
Published by: Zonic 2013-05-07 10:52
Hi Torben,
I think that I have a work around for the problem which might work for you. If you look at the source of DatabaseProcedure.registerArrayType you will find that it is actually called DatabaseProcedure.registerCustomParamType.
public static void registerArrayType(String name)
{
registerCustomParamType(name, Types.ARRAY, Array.getORADataFactory(), name);
}
A solution you can replace calls to DatabaseProcedure.registerArrayType with calls to DatabaseProcedure.registerCustomParamType as follows.
// Instead of DatabaseProcedure.registerArrayType("NAME.WITH.DOTS") call:
DatabaseProcedure.registerCustomParamType("anyNameWithoutDots", Types.ARRAY, Array.getORADataFactory(), "NAME.WITH.DOTS"); // Don't forget to use uppercase here.
DatabaseProcedure dp = DatabaseProcedure.define("procedure my.procedure(param1 in out anyNameWithoutDots)");
DatabaseProcedure.ParamType type = dp.getParamDef(0).getType();
System.out.println(type.getName() + " is " + type.getTypeName()); // ANYNAMEWITHOUTDOTS is NAME.WITH.DOTS
In this way, that you don't have to use the 'illegal' name in the definition of DatabaseProcedure.
Kind regards
Paco van der Linden
Tags: Java
Similar Questions
-
Return of the mistake of MUSE: why do we not have several files with the same name?
Well - I thought I had all this worked and fixed, but I met the download error 'Why do we have several files with the same name' once again. (I downloaded all the files several times today in order to 1) works the way it worked the last time and 2) get an OAM file that is not loading for some reason any load again and the download takes about an hour to transfer all the files manually.
To recap:
(1) an option "Upload only modified files" returns the 'Muse has encountered an error and closes. Why do we have several files with the same name? "error just as before.
(2) a full download will work but takes forever and is NOT a substitution for work changed files option.
Please advise with possible solutions!
-Dave
Is it possible to have two .oam different files in different folders on your computer where the .oam files have the same name? I'm theorizing that there may be a bug in the treatment to ensure the folder created for a .oam placed on the server receives a unique name, particularly in the case of a partial update of the site on the server.
Please send us the .muse file and all the files in .oam related to [email protected] along with a link to this topic for the context so we can attempt to reproduce this error and isolate the root cause. If files are larger than 20 MB, you'll need to use a service such as Adobe send & Track, Dropbox, creative cloud, WeTransfer, etc. file sharing. Thank you.
-
Problem in creating several attributes XML with the same name of the attribute
I am trying without success trying to create several attributes XML with the same name, as shown here in a Microsoft example configuration file:
I'm calling the NewDocument GetRootElement functions and then "newelement" (appSetting), "newelement" (add)
Then I call AddAttribute with add, key & Key0, then with add, value & 0. This seems to work fine but when I try to add the second pair of key & Key1 and value attributes & 1 for item "Add" replaces "
"and I find myself with" " only. I do something wrong or CVI is not able to create an XML of this type?
Thank you
Here's how you do it. I show not to keep things simple error checking.
#include
public static void CreateAddElement (mother of CVIXMLElement, const char * key, const char * value)
{
Add the CVIXMLElement;
CVIXMLNewElement (parent, -1, 'Add', &add);)
CVIXMLAddAttribute (add, "touch", key);
CVIXMLAddAttribute (add, "value", value);
CVIXMLDiscardElement (add);
}void main (void)
{
CVIXMLElement root, and appSetting;
Doc CVIXMLDocument.
CVIXMLNewDocument ("configuration", &doc);)
CVIXMLGetRootElement(doc, &root);)
CVIXMLNewElement (root,-1, "appSetting", and appSetting);
CreateAddElement (appSetting, "Key0", "0");
CreateAddElement (appSetting, "Key1", "1");
CreateAddElement (appSetting, "Key2", "2");
CVIXMLDiscardElement (appSetting);
CVIXMLDiscardElement (root);
CVIXMLSaveDocument (doc, 1, "c:\\temp\\temp.xml");
CVIXMLDiscardDocument (doc);
} -
Mix records with the same name of the internal and external space (clip +)
Hello
I have a question regarding the reading of 'File': if having a folder on the inside and external space microsd, both are named "graphics". Is it possible to shuffel these 2 files with the same name? There are also a few other folders I want to be included, so I just couldn't use the "play all" option. I don't want to use replay by id3tag because mines are always screwed up and would be a lot of work to mark all the appropriate files in the.
Thanks for help
m.
I've not played with playlists much.
If ID3 tags are all screwed up, I would use the MP3tag utility to change the label of the kind in "Charts" on internal and external memory, then you access the kind-> just Charts and play at all. It is probably not an option if your labels are blank and you don't want to ruin you, but it's really quick & easy to do with MP3tag.
I think that even Windows Explorer (XP/Vista) can change the field type in the batch (select all 'charts' music files, click right properties, summary (Advanced) tab change the field of its kind in "Charts", OK). I keep the ID3tags 'good' on my PC, but edit on my player according to the needs.
Just another idea which is really easy if you're not afraid of screwing the ID3 tags.
-
Two objects with the same name
Hi all
In my production database, there is a materialized view and a table with the same name. The two objects have the same number and type of columns.
Record from user_object table
OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE CREATED LAST_DDL_TIME TIMESTAMP STATUS TEMPORARY GENERATED SECONDARY NAMESPACE EDITION_NAME TEST_OBJ 151373 151373 TABLE 22/06/2012 22/06/2012 2012-06 - 22:15:39:30 VALID N N N 1 TEST_OBJ 152287 MATERIALIZED VIEW 22/06/2012 08/03/2012 2012-06 - 22:16:08:46 VALID N N N 19 I have another mode to normal display, TEST_NORMAL_VIEW, which selects the data of TEST_OBJ.
Then, on which table data select. Please give some input on this subject.
Kind regards
Matondo
A materialized view has 2 objects internally for her
1. the materialized view (it is more of a model)
2. the table that stores the actual data.
So when you create a materialized view, you can see 2 objects created by querying the USER_OBJECTS.
See this
SQL> create materialized view my_test_mv as select * from emp; Materialized view created. SQL> select object_type, object_name, data_object_id from user_objects where object_name = 'MY_TEST_MV'; OBJECT_TYPE OBJECT_NAME DATA_OBJECT_ID ------------------- -------------------- -------------- TABLE MY_TEST_MV 1638964 MATERIALIZED VIEW MY_TEST_MV
Now, you may notice that DATA_OBJECT_ID has null for the MV. DATA_OBJECT_ID is the Segment where the data is stored. As MV object is just a model and does not have data to null.
The user has no direct access to the MY_TEST_MV table. See this
SQL> drop table my_test_mv; drop table my_test_mv * ERROR at line 1: ORA-12083: must use DROP MATERIALIZED VIEW to drop "KARTHICK"."MY_TEST_MV"
Also, you can associate an existing table to a materialized using the clause ON TABLE PREDEFINED view.
Here is an example
SQL> drop materialized view my_test_mv; Materialized view dropped. SQL> create table my_test_mv_new as select * from emp; Table created. SQL> select object_type, object_name, data_object_id from user_objects where object_name = 'MY_TEST_MV_NEW'; OBJECT_TYPE OBJECT_NAME DATA_OBJECT_ID ------------------- -------------------- -------------- TABLE MY_TEST_MV_NEW 1638967 SQL> create materialized view my_test_mv_new on prebuilt table as select * from emp; Materialized view created. SQL> select object_type, object_name, data_object_id from user_objects where object_name = 'MY_TEST_MV_NEW'; OBJECT_TYPE OBJECT_NAME DATA_OBJECT_ID ------------------- -------------------- -------------- TABLE MY_TEST_MV_NEW 1638967 MATERIALIZED VIEW MY_TEST_MV_NEW SQL>
Once you associate a Table with a MV direct Table access is limited. You can directly access only the MV.
-
You can have two stored functions with the same name?
Hi all
You can have two stored functions with the same name?
My version of DB - connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0
Thank you.
You can have the same name as long as they are within a package and with different parameters
create or replace package test_pkg
as
function my_func (p1 in number)
return number;
function my_func (at number p1, p2)
return number;
end test_pkg;
/
create or replace package body test_pkg
as
function my_func (p1 in number)
Return number
as
Start
return 0;
end;
function my_func (at number p1, p2)
Return number
as
Start
return 0;
end;
end test_pkg;
/
-
New virtual machine for the model with the specific name
Hello
I'm trying to add some model VM to VAPP using recomposeVApp (...). And it works well except that I can not change the name of the virtual machine while recomposing. It takes the name of the model. But how to add VMS to model with the specific name? I use the v1.0 API.
This is my code:
ReferenceType vmTemplateRef = new ReferenceType();
vmTemplateRef.setName ("MyNewVM"); This name is ignored. The name of the model is taken!
vmTemplateRef.setHref (vmRef.getHref ()); reference to the model
CompositionItemParamType vmItem = new CompositionItemParamType();
vmItem.setSource (vmTemplateRef);
create the type params VAPP recompose.
RecomposeVAppParamsType recomposeVAppParamsType = new RecomposeVAppParamsType();
recomposeVAppParamsType.setName (vAppRef.getName ()); The name of vApp. It is ok.added the element of the virtual machine.
The newItems < CompositionItemParamType > recomposeVAppParamsType = list
. getItem().
newItems.add (vmItem);Task task = vapp.recomposeVapp (recomposeVAppParamsType);
Thank you
Hello
For after this code fragment:
vmTemplateRef.setName ("MyNewVM"); This name is ignored. The name of the model is taken!
The model name is ignored because vmTemplateRef is the only reference to the object that will be used for the operation of recomposition. If changing the name it will be always ignored.
I think that changing the name of the virtual machine template for recompose cannot be done as follows:
(1) operation recomposeVApp().
(2) get the recomposed VAPP
(3) download the children-> VM you want to change.
(4) change the name of the virtual computer.
I hope this helps!
-
How can I configure the element with the script names?
Could Hello someone give me a hand?
I created symbols on the stage of this script below.
------------------------------------------------------
for (k = 0; k < 5; k ++) {}
sym.createChildSymbol ("mySymB", "Stage");
}
------------------------------------------------------
How can I configure the element with the script names?
Because, when I try to control a symbol by using the getSymbol("---") command.
I need to know the name of the item given to each symbol.
Concerning
Yes, you're right.
Using 'Code-Example' If you write sym.getSymbol ("mySymB") that edge returns the undefined value.
With "Drag-and-drop-Example", you can use sym.getChildSymbols ().
-
CF8 cfquery multiple table join with the same names of columns - default
This seems to be a defect in the CF8 cfquery object. I'm at a loss as to a solution or a good work around. With regard to the substance, this query is generated dynamically on the fly based on what is happening in it a user. This isn't the most elegent SQL but work and return all columns. The app itself is a data viewer to look at the logs. Here is an example of a query being generated.
Select *.
of web_trans, web_info_trans, web_res_trans
where (web_info_trans.trans_dte > = '' 2008-12-1)
and web_info_trans.trans_dte < '' 2008-12-2)
and (web_info_trans.trans_dte = web_trans.trans_dte)
and (web_info_trans.trans_num = 5060345)
and (web_info_trans.trans_num = web_trans.trans_num)
and (web_res_trans.trans_num = 5060345)
and (web_res_trans.trans_num = web_trans.trans_num)
and (web_trans.web_trans_cde = "NTUI")
and (web_trans.web_status_cde = 'P')
and (web_trans. TRANS_NUM < 5060347)
order of web_trans. TRANS_NUM / / desc
These three tables contain a similar column called ZIP_CDE. They contain different values, and when this query is executed in Microsoft Query Analyzer results are displayed correctly. Run this same query SQL with CFQUERY and the value of one of the other tables (web_trans) will eventually replace the value for the other columns called ZIP_CDE. The exact amount columns are retruned only values some how get corrupted.
This is a defect of cf8 is a book autour or an update that resolves this problem that I may have missed?
Thank you for the ideas.
Thus it seems still as a default since CF is essentially where, except for the return value play. Other query tools return results correctly so for me, it turns out be CF bug at a certain level.
Actually I'm swinging to agree with you here, but not for the same reason. CF actually * is * get all the columns back (as you say), it just doesn't expose a way to tell the difference between a column called 'x' and an another column called 'x', because the way to access the data in columns is simple queryname [columnName] [rowNumber] (or a Variant fo this, but all the amount of variations to that or abbrev. it). This code shows how he has all four columns of the original two queries (being a stand-in for tables, in this case):
Q1 = queryNew("");
Q2 = queryNew("");
queryAddColumn (q1, 'id', [1,2,3,4]);
queryAddColumn (q1, "data", ["one", "two", "three", "four"]);
queryAddColumn (q2, 'id', [1,2,3,4]);
queryAddColumn (q2, "data", ["tahi", "rua", "toru", "wha"]); It's Maori, in case you are interested
SELECT *.
Q1, q2
WHERE q1.id = q2.id
So CF knows there are four columns (a call getMetadata (q3) get also demonstrates this), but it does not expose a way to approach the second (or even greater) column of the same name. This is the bug/shortfall.
However, relying on an underlying coldfusion.sql.QueryTable method, you can rename the columns, so:
Then you're OK.
I would be normally reluctant to recommend doing this, because these methods change from version to version of CF, but it's your call whether this approach will help you.
To be honest, I'm with Owain who, even in SQL one generally doesn't work with columns with the same name, an alias them qualified with a table name/alias. As the table columns from of is not returned by SQL with the result set, it must be evidence against this by folding the columns in the first place.
Also, I wonder at the bottom of the extraction of data, you don't really know the structure, that is to say, do SELECT *. How can you know not even that is ours as the first column, second column, etc.? I don't think that SQL applies in fact a contract that, t - it? (I don't know).
What are you actually do here?
--
Adam
-
Attributes with the same name - ADF BC Validation Messages
Hi all
I have two entities and associated views. Each of them have attributes with the same name. In my particular case, they are two dates - StartDate and EndDate. EndDate on both entities have validations (Expression of Script). The validations to check that the end Date is later than the Date of departure - "return newValue > StartDate. Is this a valid validation groovy script for dates?
I have a unique creation page that contains these two entities. What is happening now, is that if the validation fails even one of the entities, fields of both entities are reported. In some cases, I can even see two validation error messages is displayed.
Needless to say, rename the attribute on one of the entity (and the corresponding view object) seems to work.
I have a simple repro case (contains Jdev project and SQL script) here - http://dox.bijesh.info/reproValidationMsg.zip and a screenshot here - http://dox.bijesh.info/ReproADFBCValidation.jpg
Would be very happy if someone could either point out what I'm doing wrong or confirm that it is a bug.
About:
JDeveloper 11.1.1.3.0 JDEVADF_11.1.1.3.PS2_GENERIC_100408.2356.5660
11.1.1.56.60 ADF business components
Oracle IDE 11.1.1.3.37.56.60
Edited by: Bijesh Krishnadas November 25, 2010 04:21 - corrected the groovy expressionBijesh Krishnadas wrote:
FWIW, I've changed the validation script for "return false" on an entity and "return true" on the other. This leads to the same question as well.This seems to be a bug.
However, using a validator compares as stated earlier is the right way to accomplish what you're trying to do.
-
[JS CS3] First plan a selection of documents when others with the same name?
I have a few scripts that are used to perform various operations on the current selection in InDesign. Under normal circumstances these work very well, but I can't seem to reliable get the document/selection of foreground when there is another document opened with the same name. Most of the references to the document and any reference to the selection, I've tried so far will simply lead to this document which was recently opened (and has the same name).
app.activeDocument.fullName always return the path to the most recently opened document of the same name, but app.documents [0] .fullName returns the correct path. Try to get the selection well will always return the selection of the most recently opened document of the same name, regardless of the question of if I try app.selection, app.activeDocument.selection or app.documents [0] how. I also tried with getElements() [0] annexed to the document reference, but it makes no difference.
My primary environment is still CS3 and the problem seems to be that it only references the documents by name. Short tests with CS5 indicate that this has been resolved by Adobe, probably because it now makes reference to documents using a default id. Haven't tried CS4 but its document object not having a property id guess it will behave the same as CS3. Is there a way to get around this, or is the best I can do to detect the problem (a simple app.activeDocument! = app.documents [0] comparison seems to work reliably) and refuse to run if encountered?
The real problem is that the collections in the documents with the same name think to bad.
The APID solution was trying to solve the problem, but because it was not the document reference that was broken, the patch did not help...
Substances
-
Columns with the same name but different data or precision length.
DB version: 10 gr 2
In a diagram, I need to find all of the columns with the same name but different or precision data length (if the column is of type number). I know I have to use the USER_TAB_COLS view for this. But I need to find a logic to compare the names of columns and its lengths.something like
select t1.table_name , t1.column_name , t1.data_type , t1.data_length , t2.table_name , t2.column_name , t2.data_type , t2.data_length from user_tab_columns t1 , user_tab_columns t2 where t1.table_name != t2.table_name and t1.column_name = t2.column_name and t1.data_type = t2.data_type and t1.data_length != t2.data_length
... could be a starting point.
-
Under Options in Firefox, I clicked on save the files under downloads, but the file name twice and an additional file with the same name is created in the folder, i.e.:
G:\Akbar's Songs\HAMARA DOWNLOADS\HAMARA FORUMS DOWNLOADS FORUMS
As you can see the file repeats, how can I fix it?
Also the music files, I download from a site of downloads as a WinRar file and I need to open it. Y at - it an option where the file opens automatically in the folder I chose?
Thanks a lot for your help.
Hi Akush, when you install 7 - zip, make itself the default application to open .zip and .rar files. So if you double click on the .rar file, it should open in 7 - zip. If you prefer to decompress immediately, right click the file and look for new 7 - zip items in the menu. I can't think of a way to do this automatically, however.
-
Add salutation to connect with the entry name
I'm guessing that this was asked previously, but I can't find it anywhere. Is it possible to add a form of address to communicate with the entry name? For example, for a doctor Dr. Yes Dr. Fred Jones for example?
Use the prefix in the contacts
-
I have 2 bookmarks with the same name but different stuff in them. I want to remove one, but pass the contemts remaining bookmark
This is the first mention you made records. See this - https://support.mozilla.org/en-US/kb/Sorting%20bookmarks#w_rearranging-manually - and move individual bookmarks from one folder to the other folder. You may need to press the Alt key to display the Menu bar and the View menu item.
-
This very annoying message what I select my site
You are about to log on the site "keiron.me.uk" with the user name "Gerry", but the site requires no authentication. Maybe it's attempt to deceive you.
It is ok with Internet Explorer
To resolve this problem, simply is to remove all bookmarks you have to keiron.me.uk and then re-create by vising the site by typing the address directly into the address bar.
If you want to manually fix it then, check the properties of the location of all bookmarks that you have for keiron.me.uk. It is probably similar to http://keiron:[email protected] remove the keiron:password @ section and the dialog box should not appear again.
Maybe you are looking for
-
Toshiba 42L6453D is blacking out for 1 second interval every minute
I have problems with my Toshiba 42L6453D TV new blacking out [Picture & Sound] channels not HD for 1 second interval every minute or so - HD channels are functioning properly. I tried to re-tuning many times, but on some channels this question just k
-
Slate touch screen deactivation 21
I would like to know if there was a way to disable the touchscreen on the slate 21 all in one office. The evening when I watch movies or click Browse, sit of bugs on the screen and the screen moves on their landmark since the touchscreen slate 21 is
-
Printer will not work on Windows Vista laptop, but works fine on XP
Original title: printing problems I installed a printer on my laptop which runs windows vista. The printer worked fine on another computer that worked on windows XP. Is there a compatibility issue with this printer? The printer is an Epson Stylus R20
-
How to get normal Windows 7 updates without installing Windows 10?
Hello world I've been a happy user of Windows 7 and have always wanted to have Microsoft warn me of updates are available for my system. I am very careful to keep them, but I want to install them manually, myself. Two days earlier, Windows Update sta
-
Hello, whenever I try to open a file, the message "the remote procedure call failed and did not execute" appears. I checked that "Remote Procedure Call" began and is on automatic, as well as the RPC Locator is the manual value. I also ran a full syst