How to resolve "JDBC-5072:Failure converting NUMBER to or from a native type" error in tibero? - tibero

We are getting two different execution response for the same kind of scripts in Tibero.
It Accepts the below script without any error:
Insert into ABCD(LINKNAME,NAME,VALUE) values ('KH_CIF_ACC_LIST_INQ_LINK_ID','AddressLocation','http://170.12.3.185:2044/axis2/services/WS_Engine_stub?wsdl');
Not Accepting the below script:
Insert into ABCD(LINKNAME,NAME,VALUE) values ('KH_CUSTOMER_ONBOARDING_LINK_ID','AddressLocation','http://170.12.3.185:2044/axis2/services/WS_Engine_stub?wsdl');
Getting the below Error:
JDBC-5072:Failure converting NUMBER to or from a native type.

Related

InfluxDB insert statement in shell

I am trying to run the following insert statement in an Influx shell:
insert test_overwrite,version=v5,channel=exchange-logs,account=NKI records=-523463,input_records=-53456 1675897200000000000;
I get the error:
ERR: {"error":"unable to parse [...] bad timestamp"}
I also tried to cast the numbers to integer like
insert test_overwrite,version=v5,channel=exchange-logs,account=NKI records=-523463i,input_records=-53456i 1675897200000000000;
but it also fails with bad timestamp error...
The measurement does not exist, and it should be created upon the first insert. This has worked out-of-the-box already in previous cases.
test_overwrite is the name of the measurement, version, channel and account are the tags and input_records, records are the fields. The last part is the timestamp.
Supposedly the syntax is
insert <measurement>,<comma separated tag_set with values> <comma separated field_set with values> <timestamp>
Not sure if it makes sense to include all I've tried, since they all fail with different reasons.
What's wrong with the syntax?
I am using Influx 1.8.2

Oracle command gives error while inserting - C#

I'm executing a regular Oracle insert query, I don't know why this error happens, any clue?
Insert query is a bit complicated, can't paste it here
is ParamInfo893e67a5-d0ab-4489-b8b3-4f5b05dbdb3d mean that the issue is because of Guide?
System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
at Oracle.ManagedDataAccess.Client.OracleParameter.set_Size(Int32 value)
at ParamInfo893e67a5-d0ab-4489-b8b3-4f5b05dbdb3d(IDbCommand , Object )

Return Oracle LONG value from SSIS Execute SQL Task

I have a procedure in Oracle that takes a varchar2 as input and returns a long.
I want to run that procedure from SSIS, and then use that value in subsequent SSIS steps.
I have a sequence container, so once I have received that result, I can use it. But I am failing at calling the procedure. I try various things, and always get an error.
Here is what I have:
In Oracle, my procedure (and it's not mine, so I can't change it) is defined as
P_CREATE_BATCH (V_NAME IN VARCHAR2, V_BATCH OUT LONG)
In SSIS, I have a Variable called v_batch which is Int32 and has a value of 0.
I also have an Execute SQL Task. It has an OLE connection to the Oracle database. The SourceType is Direct input, the ResultSet is Single row, and my SQL Query is
BEGIN
P_CREATE_BATCH ('FACT_METER',?);
END;
I have Parameter Mapping from user::v_batch, direction Output, Data Type LONG, Parameter 0.
I have a Result Name called MyBatch, with a Variable Name of User::v_batch.
And when I run it, I get the error:
[Execute SQL Task] Error: Executing the query "BEGIN P_CREATE_BATCH
('FACT_METER',?); END;" failed with the following error: "ORA-06550:
line 1, column 7: PLS-00306: wrong number or types of arguments in
call to 'P_CREATE_BATCH' ORA-06550: line 1, column 7: PL/SQL:
Statement ignored". Possible failure reasons: Problems with the query,
"ResultSet" property not set correctly, parameters not set correctly,
or connection not established correctly.
I have tried it with my variable having at data type of Int64. I have tried with Result Set of none. I have forgotten how many different permutations I've tried. Sometimes I get a different error, but it's because I'm trying something that is obviously wrong.
How do I successfully call an Oracle procedure that returns a LONG, and get that value in SSIS?
Update, based on comment:
The underlying table that is written to (in Oracle) has a data type of number(18). I have made a version of the Oracle procedure that returns NUMBER, instead of LONG.
When I call it, it still gives me an error, and I think it's because I need a different type for my SSIS variable. The procedure does run, and then returns the error
[Execute SQL Task] Error: Executing the query "BEGIN
P_CREATE_BATCHK ('FACT_METER',?);
END;" failed with the following error: "ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at line 1". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
I have my parameter as Data Type NUMERIC and my variable as Int32, and then Int64, then Double, then UInt64, then Decimal. There aren't a lot of options left.
Update
If I have my SSIS variable as Double, and my parameter data type as Double, with no result set, the task runs. I don't know yet if I can access the return value, but there isn't an error, so it's progress.
LONG is not a numeric type in Oracle - it's a deprecated variety of LOB. In Oracle you should use the type NUMBER to store numeric values. NUMBER is the basic data type used to store a base-10 floating point value with 38 digits of precision, and thus does not suffer from the problem of having values (such as 0.1) which cannot be represented in e.g. IEEE-754 binary floating point values. On the SSIS side this would correspond to, variously, DOUBLE, INT, DECIMAL, etc - i.e. all the numeric types.

Linux birtviewer error on flat file: invalid table name

I have developed a report that is using a flat file for some parameter values. It runs fine in birt designer but when I run it on birtviewer in linux environment, I get the below error
Table (id = 4172):
+ An exception occurred during processing. Please see the following message for details:
Failed to prepare the query execution for the data set: distinct qmid
Failed to prepare the following query for the data set type (org.eclipse.datatools.connectivity.oda.flatfile.dataSet).
[select "qmid" from "qmids.csv" : {"qmid","qmid",INT}]
org.eclipse.datatools.connectivity.oda.flatfile.InvalidResourceException: Invalid table name:qmids.csv
Can someone please guide what is this error about and how to fix it
I found the problem. There is a bug in Birt that it gives some problem with relative path on flat files. Try to use the absolute path and it should work fine
Arif

ORA-01422 error on recompilation/revalidation (NOT EXECUTION) of package/trigger

I'm running into a problem where I'm trying to grant execution on a package to another schema.
GRANT EXECUTE ON PP.PKG_PROF TO PPSERVICE;
Looks like Oracle attempts to recompile/revalidate the package before making the grant. However it is failing with the following error:
GRANT EXECUTE ON PP.PKG_PROF TO PPSERVICE
Error report -
SQL Error: ORA-04045: errors during recompilation/revalidation of PP.PKG_PROF
ORA-20000: ORA-01422: exact fetch returns more than requested number of rows
ORA-06512: at line 83
04045. 00000 - "errors during recompilation/revalidation of %s.%s"
*Cause: This message indicates the object to which the following
errors apply. The errors occurred during implicit
recompilation/revalidation of the object.
*Action: Check the following errors for more information, and
make the necessary corrections to the object.
But if i look at the code on line 83, it executes the following query:
select 'x' into vtemp
from cust_field_vals
where cust_fields = vin_cust_fields
and userid = vin_user_id;
vin_cust_fields and vin_user_id are parameter based values that are provided when the procedure in the package gets called.
My question is: what in the world is oracle doing? I understand that a "SELECT INTO"
can theoretically return more than the requested number of rows (which would need to be one in this case), but since it doesn't know what my vin parameters are, how can it make that assessment? Why is a recompilation/revalidation throwing what essentially amounts to an exception for a data anomaly which it shouldn't even be looking at for what I'm trying to do (ie: i'm not trying to actually execute the procedure).
This is not the first time I've seen this, and if I remember correctly, I even think it's happened on recompilation of triggers as well (not when inserting data).
Any thoughts? Thanks!
apparently, the problem was the package i was trying to GRANT execute on was "invalid" even though there were no actual code errors. Compiling the body first was generating the above mentioned error. If I manually compiled the package spec first, then the body, the error went away and the grant executed normally. No code errors were present in the package, it was just stuck in an invalid state it could not get out of.

Resources