Wacky JDOLOCKX values
Thanks for your help yesterday. It got me pointed in the right direction.
Today I have a problem with the JDOLOCKX field. I create an instance of
an object, save it, modify it, and save it again. The JDBC looks fine,
but the JDOLOCKX field gets set to a really wacky value. I'm using Oracle
9i on RedHat 8 and ojdbc14.jar. (This is not the first time we've seen
this). Is this a known Oracle bug? I'm going to try the classes12.jar to
see if that helps.
JDOLOCKX value: "-~.000E+40"
Extracted using a sql statement.
JDBC trace:
67336 DEBUG [AWT-EventQueue-0] jdbc.SQL - <t 7231150, conn 21731956> [0
ms] executing prepstmnt 12159494 SELECT SEQUENCEX FROM JDO_SEQUENCEX WHERE
PKX = ? FOR UPDATE [params=(int) 0] [reused=0]
67346 DEBUG [AWT-EventQueue-0] jdbc.SQL - <t 7231150, conn 21731956> [0
ms] executing prepstmnt 18129862 UPDATE JDO_SEQUENCEX SET SEQUENCEX = ?
WHERE PKX = ? AND SEQUENCEX = ? [params=(long) 7336050, (int) 0, (long)
7336000] [reused=0]
67356 DEBUG [AWT-EventQueue-0] jdbc.SQL - <t 7231150, conn 21731956> [0
ms] executing prepstmnt 26811303 INSERT INTO CATADMIN.ABSTR_ARRAYSTATUSES
(ARRAYSTATUSES_JDOID, JDOIDX) VALUES (?, ?) [params=(long) 7336003, (long)
7336000] [reused=0]
67366 DEBUG [AWT-EventQueue-0] jdbc.SQL - <t 7231150, conn 21731956> [0
ms] executing prepstmnt 16350503 INSERT INTO CATADMIN.WHOWHENX (DATEX,
JDOCLASSX, JDOIDX, JDOLOCKX, USERIDX) VALUES (?, ?, ?, ?, ?)
[params=(Timestamp) 2004-05-26 09:21:31.974, (String) com.bd.rms.WhoWhen,
(long) 7336001, (int) 0, (long) 17] [reused=0]
67366 DEBUG [AWT-EventQueue-0] jdbc.SQL - <t 7231150, conn 21731956> [0
ms] executing prepstmnt 16350503 INSERT INTO CATADMIN.WHOWHENX (DATEX,
JDOCLASSX, JDOIDX, JDOLOCKX, USERIDX) VALUES (?, ?, ?, ?, ?)
[params=(Timestamp) 2004-05-26 09:22:14.575, (String) com.bd.rms.WhoWhen,
(long) 7336002, (int) 0, (long) 17] [reused=1]
67366 DEBUG [AWT-EventQueue-0] jdbc.SQL - <t 7231150, conn 21731956> [0
ms] executing prepstmnt 25671167 INSERT INTO CATADMIN.ARRAYSTATUSDATE
(DATE02, JDOCLASS, JDOID, JDOVERSION, STATUSID) VALUES (?, ?, ?, ?, ?)
[params=(Timestamp) 2004-05-26 09:22:09.088, (String)
com.bd.arm.model.ArrayStatusDate, (long) 7336003, (int) 0, (long) 4]
[reused=0]
67376 DEBUG [AWT-EventQueue-0] jdbc.SQL - <t 7231150, conn 21731956> [0
ms] executing prepstmnt 12433070 INSERT INTO CATADMIN.ABSTRACTCONTAINERX
(ARRAYID, BARCODEX, COMMENTX, CONTAINERCREATEDX, CONTAINERFORMATX,
CREATEDDATE, CREATEDUID, CREATEDWHOWHENX, DATADESCRIPTOR_JDOIDX,
EXPERIMENTID, EXPIRATIONDATEX, FORMAT, JDOCLASSX, JDOIDX, JDOLOCKX,
MODIFIEDDATE, MODIFIEDUID, MODIFIEDWHOWHENX, NAME0, NOTEBOOKIDX,
NOTEBOOKPAGES, NUMREPLICATES, PARENTARRAYID, PARENTARRAY_JDOIDX,
PROJECTIDX, PROTOCOLID, REPLICATE, SOURCECONTAINERBARCODES, STATUS,
STORAGELOCX, TIMESUSED, TOTALUSES, TYPE0) VALUES (?, ?, ?, ?, ?, ?, ?, ?,
[params=(long) -1, (String) 32636, (null) null, (long) 7336001, (null)
null, (Timestamp) 2004-05-26 09:21:31.974, (long) 0, (null) null, (null)
null, (null) null, (null) null, (null) null, (String)
com.bd.arm.model.PhysicalArray, (long) 7336000, (int) 0, (Timestamp)
2004-05-26 09:22:14.575, (long) 17, (long) 7336002, (null) null, (null)
null, (null) null, (int) 1, (long) 0, (null) null, (int) 0, (null) null,
(int) 1, (null) null, (String) 4, (null) null, (int) 0, (int) 0, (int) 6]
[reused=0]
78653 DEBUG [AWT-EventQueue-0] jdbc.SQL - <t 7231150, conn 21731956> [0
ms] executing prepstmnt 13797435 UPDATE CATADMIN.WHOWHENX SET DATEX = ?,
JDOLOCKX = ? WHERE JDOIDX = ? AND JDOLOCKX = ? [params=(Timestamp)
2004-05-26 09:22:25.892, (int) 1, (long) 7336002, (int) 0] [reused=0]
78663 DEBUG [AWT-EventQueue-0] jdbc.SQL - <t 7231150, conn 21731956> [10
ms] executing prepstmnt 32380789 UPDATE CATADMIN.ABSTRACTCONTAINERX SET
JDOLOCKX = ?, MODIFIEDDATE = ?, STATUS = ? WHERE JDOIDX = ? AND JDOLOCKX =
? [params=(int) 1, (Timestamp) 2004-05-26 09:22:25.892, (String) 5, (long)
7336000, (int) 0] [reused=0]
Dylan-
This does seem to be limited to the ojdbc14.jar that I have, which, I
think, is release 9.0.1.Can you clarify what you mean by this? Have you found that it works with
a different Oracle driver jar? If so, which one does it work with?
JDOLOCKX value: "-~.000E+40"
Extracted using a sql statement.Are you saying that this is the value that winds up getting inserted
into the JDOLOCKX row (thus preventing the update from working)? Does
this happen with any of your other fields that you might be setting to
0, or just the JDOLOCKX column? Also, what type is the column defined as
in the database?
Also, can you expand this to the full numeric value without the scientific
notation? I think that some
In article <[email protected]>, Dylan Wilson wrote:
>
Thanks for your help yesterday. It got me pointed in the right direction.
Today I have a problem with the JDOLOCKX field. I create an instance of
an object, save it, modify it, and save it again. The JDBC looks fine,
but the JDOLOCKX field gets set to a really wacky value. I'm using Oracle
9i on RedHat 8 and ojdbc14.jar. (This is not the first time we've seen
this). Is this a known Oracle bug? I'm going to try the classes12.jar to
see if that helps.
JDOLOCKX value: "-~.000E+40"
Extracted using a sql statement.
JDBC trace:
67336 DEBUG [AWT-EventQueue-0] jdbc.SQL - <t 7231150, conn 21731956> [0
ms] executing prepstmnt 12159494 SELECT SEQUENCEX FROM JDO_SEQUENCEX WHERE
PKX = ? FOR UPDATE [params=(int) 0] [reused=0]
67346 DEBUG [AWT-EventQueue-0] jdbc.SQL - <t 7231150, conn 21731956> [0
ms] executing prepstmnt 18129862 UPDATE JDO_SEQUENCEX SET SEQUENCEX = ?
WHERE PKX = ? AND SEQUENCEX = ? [params=(long) 7336050, (int) 0, (long)
7336000] [reused=0]
67356 DEBUG [AWT-EventQueue-0] jdbc.SQL - <t 7231150, conn 21731956> [0
ms] executing prepstmnt 26811303 INSERT INTO CATADMIN.ABSTR_ARRAYSTATUSES
(ARRAYSTATUSES_JDOID, JDOIDX) VALUES (?, ?) [params=(long) 7336003, (long)
7336000] [reused=0]
67366 DEBUG [AWT-EventQueue-0] jdbc.SQL - <t 7231150, conn 21731956> [0
ms] executing prepstmnt 16350503 INSERT INTO CATADMIN.WHOWHENX (DATEX,
JDOCLASSX, JDOIDX, JDOLOCKX, USERIDX) VALUES (?, ?, ?, ?, ?)
[params=(Timestamp) 2004-05-26 09:21:31.974, (String) com.bd.rms.WhoWhen,
(long) 7336001, (int) 0, (long) 17] [reused=0]
67366 DEBUG [AWT-EventQueue-0] jdbc.SQL - <t 7231150, conn 21731956> [0
ms] executing prepstmnt 16350503 INSERT INTO CATADMIN.WHOWHENX (DATEX,
JDOCLASSX, JDOIDX, JDOLOCKX, USERIDX) VALUES (?, ?, ?, ?, ?)
[params=(Timestamp) 2004-05-26 09:22:14.575, (String) com.bd.rms.WhoWhen,
(long) 7336002, (int) 0, (long) 17] [reused=1]
67366 DEBUG [AWT-EventQueue-0] jdbc.SQL - <t 7231150, conn 21731956> [0
ms] executing prepstmnt 25671167 INSERT INTO CATADMIN.ARRAYSTATUSDATE
(DATE02, JDOCLASS, JDOID, JDOVERSION, STATUSID) VALUES (?, ?, ?, ?, ?)
[params=(Timestamp) 2004-05-26 09:22:09.088, (String)
com.bd.arm.model.ArrayStatusDate, (long) 7336003, (int) 0, (long) 4]
[reused=0]
67376 DEBUG [AWT-EventQueue-0] jdbc.SQL - <t 7231150, conn 21731956> [0
ms] executing prepstmnt 12433070 INSERT INTO CATADMIN.ABSTRACTCONTAINERX
(ARRAYID, BARCODEX, COMMENTX, CONTAINERCREATEDX, CONTAINERFORMATX,
CREATEDDATE, CREATEDUID, CREATEDWHOWHENX, DATADESCRIPTOR_JDOIDX,
EXPERIMENTID, EXPIRATIONDATEX, FORMAT, JDOCLASSX, JDOIDX, JDOLOCKX,
MODIFIEDDATE, MODIFIEDUID, MODIFIEDWHOWHENX, NAME0, NOTEBOOKIDX,
NOTEBOOKPAGES, NUMREPLICATES, PARENTARRAYID, PARENTARRAY_JDOIDX,
PROJECTIDX, PROTOCOLID, REPLICATE, SOURCECONTAINERBARCODES, STATUS,
STORAGELOCX, TIMESUSED, TOTALUSES, TYPE0) VALUES (?, ?, ?, ?, ?, ?, ?, ?,
[params=(long) -1, (String) 32636, (null) null, (long) 7336001, (null)
null, (Timestamp) 2004-05-26 09:21:31.974, (long) 0, (null) null, (null)
null, (null) null, (null) null, (null) null, (String)
com.bd.arm.model.PhysicalArray, (long) 7336000, (int) 0, (Timestamp)
2004-05-26 09:22:14.575, (long) 17, (long) 7336002, (null) null, (null)
null, (null) null, (int) 1, (long) 0, (null) null, (int) 0, (null) null,
(int) 1, (null) null, (String) 4, (null) null, (int) 0, (int) 0, (int) 6]
[reused=0]
78653 DEBUG [AWT-EventQueue-0] jdbc.SQL - <t 7231150, conn 21731956> [0
ms] executing prepstmnt 13797435 UPDATE CATADMIN.WHOWHENX SET DATEX = ?,
JDOLOCKX = ? WHERE JDOIDX = ? AND JDOLOCKX = ? [params=(Timestamp)
2004-05-26 09:22:25.892, (int) 1, (long) 7336002, (int) 0] [reused=0]
78663 DEBUG [AWT-EventQueue-0] jdbc.SQL - <t 7231150, conn 21731956> [10
ms] executing prepstmnt 32380789 UPDATE CATADMIN.ABSTRACTCONTAINERX SET
JDOLOCKX = ?, MODIFIEDDATE = ?, STATUS = ? WHERE JDOIDX = ? AND JDOLOCKX =
? [params=(int) 1, (Timestamp) 2004-05-26 09:22:25.892, (String) 5, (long)
7336000, (int) 0] [reused=0]
Marc Prud'hommeaux
SolarMetric Inc.
Similar Messages
-
Reading lock and pk column values
Hi!
I was wondering whether it is possible to somehow read the value a
persistent object has for its lock column (JDOLOCKX by default) and pk
column (with datastore identity, JDOIDX by default).
Especially reading the lock would be useful. My specific problem is this:
in J2EE environment when a persistent object is serialized and given to the
web (or any other ui-) layer to display, its identity is lost. There are
nice examples for solving this problem in the documentation so this is not
an issue. However, there is no easy way to determine whether someone else
changed the same data while it was being watched (and modified) on the web
page. So, in essence, this is an optimistic transaction. However, to use
optimistic transactions one would have to use stateful session beans. And
if I am correct, an optimistic transaction has to have a live persistence
manager all the time, so this is not acceptable unless the
persistencemanager releses its sql connection in between calls. I don't
think it does, or does it? And anyhow, I'd prefer using stateless session
beans.
It would be quite easy to implement some sort of timestamp mechanism by
inserting a persistent field for it and updating its value by using
InstanceCallback interface. However, as the JDOLOCKX column already exists
it would be nice not to reinvent the wheel.
The pk value I would need in case the same db is used by many apps (not
all in Java) and they need to communicate some information about a specific
object stored in the db (in which case it would be easiest to give the pk
value to identify an object). Again, I could use ApplicationIdentity or
make some field where to store some unique value, but I'd prefer using the
pk value since it is already there (and would not like to use Application
Identity just because of this).
Any other solutions to the above problems besides being able to read the
JDOIDX and JDOLOCKX values are welcome, too.
-AnttiYou can either parse the toString () generated from
JDOHelper.getObjectId () or cast it to ObjectIds.Id (in 2.5.x) or Id (in
3.0) to get the pk value.
You can also retrieve the lock version in the same fashion.
In Kodo 3:
KodoHelper.getVersion (yourPC).
In Kodo 2.5.x:
((PersistenceManagerImpl) pm).getState (JDOHelper.getObjectId
(yourPC)).getVersion ();
Antti Karanta wrote:
On Tue, 14 Oct 2003 10:46:56 -0400, Patrick Linskey
<[email protected]> wrote:
Based on your description of your problem, you might want to look at the
new attach/detach functionality in Kodo 3.0:
http://solarmetric.com/Software/Documentation/3.0.0RC2/docs/ref_guide_detach.html
This functionality is a preview of a proposed JDO 2.0 feature, and is
targeted at exactly the use case that you've described.Yes, it definitely looks nice. One thing it does not mention, though:
is the String stored in the detached-objectid-field just the (string
version of the) primary key or is there something else there?
And what about a case where I do not want a detachable instance, just
want to be able to have the primary key value?
And I take it there is no way to read these values (lock and pk) in the
present version of Kodo?
On Tue, 14 Oct 2003 18:38:21 +0300, Antti Karanta wrote:
Hi!
I was wondering whether it is possible to somehow read the value a
persistent object has for its lock column (JDOLOCKX by default) and
pk column (with datastore identity, JDOIDX by default).
Especially reading the lock would be useful. My specific problem is
this: in J2EE environment when a persistent object is serialized and
given to the web (or any other ui-) layer to display, its identity is
lost. There are nice examples for solving this problem in the
documentation so this is not an issue. However, there is no easy way
to determine whether someone else changed the same data while it was
being watched (and modified) on the web page. So, in essence, this is
an optimistic transaction. However, to use optimistic transactions
one would have to use stateful session beans. And if I am correct, an
optimistic transaction has to have a live persistence manager all the
time, so this is not acceptable unless the persistencemanager releses
its sql connection in between calls. I don't think it does, or does
it? And anyhow, I'd prefer using stateless session beans.
It would be quite easy to implement some sort of timestamp mechanism
by inserting a persistent field for it and updating its value by
using InstanceCallback interface. However, as the JDOLOCKX column
already exists it would be nice not to reinvent the wheel.
The pk value I would need in case the same db is used by many apps
(not all in Java) and they need to communicate some information about
a specific object stored in the db (in which case it would be easiest
to give the pk value to identify an object). Again, I could use
ApplicationIdentity or make some field where to store some unique
value, but I'd prefer using the pk value since it is already there
(and would not like to use Application Identity just because of this).
Any other solutions to the above problems besides being able to read
the JDOIDX and JDOLOCKX values are welcome, too.
-Antti
Steve Kim
[email protected]
SolarMetric Inc.
http://www.solarmetric.com -
Data refresh bug when using inheritance?
I am getting unexpected behaviour when using the pm.refresh(Object) method.
Refresh works correctly and reloads data if the lock has been updated on
tables/objects with no inheritance. However, if I try to use refresh on an
object that is part of an inheritance hierarchy, the query that is executed
to get the jdolockx value is missing the table join.
Example:
Table Entity
id
displayname
jdolockx
jdoclassx
Table Individual (inherits from Entity)
id
firstName
lastName
jdolockx
Query executed when calling refresh and passing in Individual
SELECT
t0.JDOLOCKX
FROM
ENTITY t0,
INDIVIDUAL t1
WHERE
t1.ID = 1151
Problem
Missing crucial join t1.ID = t0.ID
These classes work correctly with correct SQL when inserting/selecting.
Any help is greatly appreciated.
Regards
Nathan BoyesSorry, forgot to mention Kodo version
Kodo 2.5.3
SQLServer2000
"nathan boyes" <[email protected]> wrote in message
news:bmj215$qq3$[email protected]..
I am getting unexpected behaviour when using the pm.refresh(Object)method.
Refresh works correctly and reloads data if the lock has been updated on
tables/objects with no inheritance. However, if I try to use refresh onan
object that is part of an inheritance hierarchy, the query that isexecuted
to get the jdolockx value is missing the table join.
Example:
Table Entity
id
displayname
jdolockx
jdoclassx
Table Individual (inherits from Entity)
id
firstName
lastName
jdolockx
Query executed when calling refresh and passing in Individual
SELECT
t0.JDOLOCKX
FROM
ENTITY t0,
INDIVIDUAL t1
WHERE
t1.ID = 1151
Problem
Missing crucial join t1.ID = t0.ID
These classes work correctly with correct SQL when inserting/selecting.
Any help is greatly appreciated.
Regards
Nathan Boyes -
SQL incorrect using pm.refresh on inheritance tree 2.5.3
Hi, Sorry for the repeat post, but didn't get a response from the last one
and I'm still searching for a solution
I am getting unexpected behaviour when using the pm.refresh(Object) method.
Refresh works correctly and reloads data if the lock has been updated on
tables/objects with no inheritance. However, if I try to use refresh on an
object that is part of an inheritance hierarchy, the query that is executed
to get the jdolockx value is missing the table join.
Example:
Table Entity
id
displayname
jdolockx
jdoclassx
Table Individual (inherits from Entity)
id
firstName
lastName
jdolockx
Query executed when calling refresh and passing in Individual
SELECT
t0.JDOLOCKX
FROM
ENTITY t0,
INDIVIDUAL t1
WHERE
t1.ID = 1151
Problem
Missing crucial join t1.ID = t0.ID
These classes work correctly with correct SQL when inserting/selecting.
Any help is greatly appreciated.
Regards
Nathan BoyesI've changed the metadata configuration so that jdolockx is defined only in
the base class and the query is still missing the join.
I have attached the metadata files I'm using.
(SELECT t0.JDOLOCKX FROM Bean t0, MQBean t1 WHERE t1.id = ?):
[reused=1;params={(int)460}]
"Stephen Kim" <[email protected]> wrote in message
news:[email protected]...
How is your metadata configured? JDOLOCKX should only be defined at the
base class level.
begin 666 MQBean.jdo
M/#]X;6P@=F5R<VEO;CTB,2XP(B!E;F-O9&EN9STB551&+3@B/SX-"@T*/&ID
M;SX-"B @(" \<&%C:V%G92!N86UE/2)T82YE=F5N="(^#0H@(" @(" @(#QC
M;&%S<R!N86UE/2)-44)E86XB('!E<G-I<W1E;F-E+6-A<&%B;&4M<W5P97)C
M;&%S<STB0F5A;B(@:61E;G1I='DM='EP93TB87!P;&EC871I;VXB/@T*(" @
M(" @(" @(" @/&5X=&5N<VEO;B!V96YD;W(M;F%M93TB:V]D;R(@:V5Y/2)T
M86)L92(@=F%L=64](DU10F5A;B(O/@T*(" @(" @(" @(" @/&9I96QD(&YA
M;64](G-E<G9E<B(^#0H@(" @(" @(" @(" @(" @/&5X=&5N<VEO;B!V96YD
M;W(M;F%M93TB:V]D;R(@:V5Y/2)I9"UD871A+6-O;'5M;B(@=F%L=64](E-%
M4E9%4DE$(B\^#0H@(" @(" @(" @(" \+V9I96QD/@T*(" @(" @(" @(" @
M/&9I96QD(&YA;64](F5V96YT5'EP92(^#0H@(" @(" @(" @(" @(" @/&5X
M=&5N<VEO;B!V96YD;W(M;F%M93TB:V]D;R(@:V5Y/2)I9"UD871A+6-O;'5M
M;B(@=F%L=64](D5614Y45%E014E$(B\^#0H@(" @(" @(" @(" \+V9I96QD
M/@T*(" @(" @(" @(" @/&9I96QD(&YA;64](G%U975E36%N86=E<B(^#0H@
M(" @(" @(" @(" @(" @/&5X=&5N<VEO;B!V96YD;W(M;F%M93TB:V]D;R(@
M:V5Y/2)D871A+6-O;'5M;B(@=F%L=64](E%5155%34%.04=%4B(O/@T*(" @
M(" @(" @(" @/"]F:65L9#X-"B @(" @(" @(" @(#QF:65L9"!N86UE/2)Q
M=65U94YA;64B/@T*(" @(" @(" @(" @(" @(#QE>'1E;G-I;VX@=F5N9&]R
M+6YA;64](FMO9&\B(&ME>3TB9&%T82UC;VQU;6XB('9A;'5E/2)1545514Y!
M344B+SX-"B @(" @(" @(" @(#PO9FEE;&0^#0H@(" @(" @(" @(" \9FEE
M;&0@;F%M93TB8VAA;FYE;"(^#0H@(" @(" @(" @(" @(" @/&5X=&5N<VEO
M;B!V96YD;W(M;F%M93TB:V]D;R(@:V5Y/2)D871A+6-O;'5M;B(@=F%L=64]
M(D-(04Y.14PB+SX-"B @(" @(" @(" @(#PO9FEE;&0^#0H@(" @(" @(" @
M(" \9FEE;&0@;F%M93TB;VY-97-S86=E365T:&]D(CX-"B @(" @(" @(" @
M(" @(" \97AT96YS:6]N('9E;F1O<BUN86UE/2)K;V1O(B!K97D](F1A=&$M
M8V]L=6UN(B!V86QU93TB3TY-15-304=%34542$]$(B\^#0H@(" @(" @(" @
M(" \+V9I96QD/@T*(" @(" @(" \+V-L87-S/@T*(" @(#PO<&%C:V%G93X-
'"CPO:F1O/@``
`
end
begin 666 Bean.jdo
M/#]X;6P@=F5R<VEO;CTB,2XP(B!E;F-O9&EN9STB551&+3@B/SX-"@T*/&ID
M;SX-"B @(" \<&%C:V%G92!N86UE/2)T82YE=F5N="(^#0H@(" @(" @(#QC
M;&%S<R!N86UE/2)"96%N(B!O8FIE8W1I9"UC;&%S<STB=&$N:60N0F5A;DE$
M(CX-"B @(" @(" @(" @(#QE>'1E;G-I;VX@=F5N9&]R+6YA;64](FMO9&\B
M(&ME>3TB8VQA<W,M8V]L=6UN(B!V86QU93TB2D1/0TQ!4U-8(B\^#0H@(" @
M(" @(" @(" \97AT96YS:6]N('9E;F1O<BUN86UE/2)K;V1O(B!K97D](FQO
M8VLM8V]L=6UN(B!V86QU93TB2D1/3$]#2U@B+SX-"B @(" @(" @(" @(#QE
M>'1E;G-I;VX@=F5N9&]R+6YA;64](FMO9&\B(&ME>3TB=&%B;&4B('9A;'5E
M/2)"96%N(B\^#0H@(" @(" @(" @(" \9FEE;&0@;F%M93TB:60B('!R:6UA
M<GDM:V5Y/2)T<G5E(CX-"B @(" @(" @(" @(" @(" \97AT96YS:6]N('9E
M;F1O<BUN86UE/2)K;V1O(B!K97D](F1A=&$M8V]L=6UN(B!V86QU93TB:60B
M+SX-"B @(" @(" @(" @(#PO9FEE;&0^#0H@(" @(" @(" @(" \9FEE;&0@
M;F%M93TB8V]N=')O;&QE<B(^#0H@(" @(" @(" @(" @(" @/&5X=&5N<VEO
M;B!V96YD;W(M;F%M93TB:V]D;R(@:V5Y/2)I9"UD871A+6-O;'5M;B(@=F%L
M=64](D-/3E123TQ,15))1"(O/@T*(" @(" @(" @(" @/"]F:65L9#X-"B @
M(" @(" @(" @(#QF:65L9"!N86UE/2)E;F%B;&5D(CX-"B @(" @(" @(" @
M(" @(" \97AT96YS:6]N('9E;F1O<BUN86UE/2)K;V1O(B!K97D](F1A=&$M
M8V]L=6UN(B!V86QU93TB14Y!0DQ%1"(O/@T*(" @(" @(" @(" @/"]F:65L
M9#X-"B @(" @(" @(" @(#QF:65L9"!N86UE/2)P;VQL:6YG26YT97)V86PB
M/@T*(" @(" @(" @(" @(" @(#QE>'1E;G-I;VX@=F5N9&]R+6YA;64](FMO
M9&\B(&ME>3TB9&%T82UC;VQU;6XB('9A;'5E/2)03TQ,24Y'24Y415)604PB
M+SX-"B @(" @(" @(" @(#PO9FEE;&0^#0H@(" @(" @(#PO8VQA<W,^#0H@
5(" @/"]P86-K86=E/@T*/"]J9&\^
`
end -
"The movie contains an incorrect time value" error - saving a trimmed video
I am attempting to trim a video shot on my Samsung CL65. The video was shot in High Quality HD 1280 x 720. I open the video in QuickTime and then use the Trim command to remove the last part of the video and then close it to Save it. When I save it I get the following error: "The document SAM_0306.MP4 could not be saved as "SAM_0306". The movie contains an incorrect time value." I think this has to do with an encoding error in the original file or in the trimmed file but I have no idea how to get around it.
Any ideas?This info probably won't help with your problem, but it's information for others who get this error.
It's probably the software that made the MP4. ffmpegX, for example, and the mencoder program inside it, do this with every H264 encoding when the video is longer than 1 hour. Time codes are correct up to 1 hour, then the seconds value gets wacky (3600 is added to it). Quicktime won't save a movie with a time code like 1:20:3623.120 (although it will correctly display 1:20:23 in the player).
Apple used to offer quicktime scripts that would allow you to see what the time code in a stream really looked like. Applescript appears to have officially and quietly gone missing, though, and those scripts are no longer available online as far as I can tell. There were some really handy other scripts that would allow you to view all sorts of movie properties and manipulate tracks (great for syncing poorly synced sound, for example), but time code problems like the above would invariably mean the movie couldn't be saved. -
With sqlserver - The cursor identifier value provided (abcdef0) is not valid.
With the Microsoft SQL Server 2000 JDBC Driver I keep getting the following
exception from kodo:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for
JDBC][SQLServer]sp_
cursorclose: The cursor identifier value provided (abcdef0) is not valid.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown
Source)
in kodo.properties i have
javax.jdo.option.ConnectionURL
set to
jdbc:microsoft:sqlserver://BALT-DB1:1433;DatabaseName=db_mamick;SelectMethod
=cursor
I am using kodo 2.4.1
Has anyone seen this?
Thanks
-MarcTele-
This is just a warning that is issued when we clean up the ResultSet.
The MS driver seems to be prematurly closing them for some reason.
Is this causeing an error for you? Otherwise, you can just ignore the
warning. You can set the logging level for JDBC to be "ERROR" in order
to stop the error message from being logged.
In article <[email protected]>, Tele wrote:
I'm using the MS JDBC driver i downloaded 3 days ago from MSDN. And i got
the exactly same message like Marc
my program:
import java.io.*;
import java.util.*;
import javax.jdo.*;
public class KodoConn {
public KodoConn() {
try {
Properties props = new Properties();
props.load(getClass().getResourceAsStream("/kodo.properties"));
PersistenceManagerFactory pmf =
JDOHelper.getPersistenceManagerFactory(props);
PersistenceManager pm = pmf.getPersistenceManager();
Extent e = pm.getExtent(Animal.class, true);
for (Iterator i = e.iterator(); i.hasNext(); ) {
Animal temp = (Animal) i;
System.out.println(temp.getPrice() + " " + temp.getType());
catch (IOException ex) {
public static void main(String[] args) {
KodoConn kodo = new KodoConn();
com.solarmetric.kodo.ConnectionProperties=
com.solarmetric.kodo.DataCacheClass=
com.solarmetric.kodo.LicenseKey=505152535454555647
com.solarmetric.kodo.PersistenceManagerClass=com.solarmetric.kodo.runtime.Pe
rsistenceManagerImpl
com.solarmetric.kodo.impl.jdbc.DictionaryClass=com.solarmetric.kodo.impl.jdb
c.schema.dict.SQLServerDictionary
com.solarmetric.kodo.impl.jdbc.SQLExecutionListenerClass=
com.solarmetric.kodo.impl.jdbc.SequenceFactoryClass=com.solarmetric.kodo.imp
l.jdbc.schema.ClassDBSequenceFactory
com.solarmetric.kodo.impl.jdbc.TransactionIsolation=READ_UNCOMMITTED
com.solarmetric.kodo.impl.jdbc.WarnOnPersistentTypeFailure=true
javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.JDBC
PersistenceManagerFactory
javax.jdo.option.ConnectionDriverName=com.microsoft.jdbc.sqlserver.SQLServer
Driver
javax.jdo.option.ConnectionPassword=xxx
javax.jdo.option.ConnectionURL=jdbc\:microsoft\:sqlserver\://xxx\:1433;Datab
aseName\=xxx;SelectMethod\=cursor
javax.jdo.option.ConnectionUserName=xxx
javax.jdo.option.MaxPool=80
javax.jdo.option.MinPool=1
javax.jdo.option.MsWait=5000
javax.jdo.option.Multithreaded=true
0 [main] INFO kodo.Runtime - Starting Kodo JDO version 2.4.1
(kodojdo-2.4.1-20030126-1556) with capabilities: [Enterprise Edition
Features, Standard Edition Features, Lite Edition Features, Query
Extensions, Datacache Plug-in, Statement Batching, Global Transactions,
Developer Tools, Custom Database Dictionaries, Enterprise Databases, Custom
ClassMappings, Custom ResultObjectProviders]
81 [main] INFO kodo.MetaData -
com.solarmetric.kodo.meta.JDOMetaDataParser@39ab89: parsing source:
file:/C:/kodo-jdo-2.4.1/samples/swing/petshop/classes/Animal.jdo
912 [main] INFO jdbc.JDBC - [ C:15779934; T:9489155; D:15493888 ] open:
jdbc:microsoft:sqlserver://xxx:1433;DatabaseName=xxx;SelectMethod=cursor
(xxx)
1102 [main] INFO jdbc.JDBC - [ C:15779934; T:9489155; D:15493888 ] get
[com.solarmetric.datasource.PoolConnection@f0c85e[[requests=0;size=0;max=0;h
its=0;created=0;redundant=0;overflow=0;new=0;leaked=0;unavailable=0]]] from
[com.solarmetric.datasource.DataSourceImpl$SortablePool[min=1; max=80;
size=1; taken=0]]
1222 [main] INFO jdbc.JDBC - [ C:15779934; T:9489155; D:15493888 ] begin
rollback
1222 [main] INFO jdbc.JDBC - [ C:15779934; T:9489155; D:15493888 ] end
rollback 0ms
1222 [main] INFO jdbc.JDBC - [ C:15779934; T:9489155; D:15493888 ] return
[com.solarmetric.datasource.PoolConnection@f0c85e[[requests=0;size=0;max=0;h
its=0;created=0;redundant=0;overflow=0;new=0;leaked=0;unavailable=0]]] to
[com.solarmetric.datasource.DataSourceImpl$SortablePool[min=1; max=80;
size=1; taken=1]]
1392 [main] INFO jdbc.JDBC - Using dictionary class
"com.solarmetric.kodo.impl.jdbc.schema.dict.SQLServerDictionary" to connect
to "Microsoft SQL Server" (version "Microsoft SQL Server 2000 - 8.00.194
(Intel X86)
Aug 6 2000 00:57:48
Copyright (c) 1988-2000 Microsoft Corporation
Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 3)
") with JDBC driver "SQLServer" (version "2.2.0029")
1453 [main] INFO jdbc.JDBC - [ C:15779934; T:9489155; D:15493888 ] get
[com.solarmetric.datasource.PoolConnection@f0c85e[[requests=0;size=0;max=0;h
its=0;created=0;redundant=0;overflow=0;new=0;leaked=0;unavailable=0]]] from
[com.solarmetric.datasource.DataSourceImpl$SortablePool[min=1; max=80;
size=1; taken=0]]
1453 [main] WARN jdbc.JDBC - java.sql.SQLWarning: java.sql.SQLWarning:
[Microsoft][SQLServer 2000 Driver for JDBC]Database changed to xxx
1453 [main] WARN jdbc.JDBC - java.sql.SQLWarning: java.sql.SQLWarning:
[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]______"________________________________
'xxx'____
1473 [main] WARN jdbc.JDBC - java.sql.SQLWarning: java.sql.SQLWarning:
[Microsoft][SQLServer 2000 Driver for JDBC]Language changed to ________________
1473 [main] WARN jdbc.JDBC - java.sql.SQLWarning: java.sql.SQLWarning:
[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]______"________________________ ________
1613 [main] INFO jdbc.SQL - [ C:15779934; T:9489155; D:15493888 ] preparing
statement <8752113>: SELECT DISTINCT ANIMALX.JDOCLASSX FROM ANIMALX
1623 [main] INFO jdbc.SQL - [ C:15779934; T:9489155; D:15493888 ] executing
statement <8752113>: [reused=1;params={}]
1773 [main] WARN jdbc.JDBC - [ C:15779934; T:9489155; D:15493888 ] Error
when closing Statement/ResultSet
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for
JDBC][SQLServer]sp_cursorclose: ____________________________________________abcdef0________________
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown
Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown
Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRPCRequest.processReplyToken(Unknown
Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSCursorRequest.closeCursor(Unknown
Source)
at
com.microsoft.jdbc.sqlserver.tds.TDSCursorRequest.completeRowProcessing(Unkn
own Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplResultSet.close(Unknown
Source)
at com.microsoft.jdbc.base.BaseResultSet.close(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown
Source)
at com.microsoft.jdbc.base.BaseStatement.close(Unknown Source)
at com.microsoft.jdbc.base.BasePreparedStatement.close(Unknown Source)
at
com.solarmetric.datasource.StatementWrapper.close(StatementWrapper.java:201)
at
com.solarmetric.datasource.PreparedStatementCache$CachePreparedStatement.des
troy(PreparedStatementCache.java:278)
at
com.solarmetric.datasource.PreparedStatementCache$CachePreparedStatement.clo
se(PreparedStatementCache.java:350)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.close(SQLExecutionMan
agerImpl.java:986)
at
com.solarmetric.kodo.impl.jdbc.ormapping.SubclassProviderImpl.getSubclasses(
SubclassProviderImpl.java:278)
at
com.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping.getPrimaryMappingField
s(ClassMapping.java:1093)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.executeQuery(JDBCSto
reManager.java:704)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCExtent.getResultList(JDBCExtent.j
ava:64)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCExtent.getIterator(JDBCExtent.jav
a:46)
at
com.solarmetric.kodo.runtime.ExtentImpl$TransactionAwareIterator.newIterator
(ExtentImpl.java:242)
at serp.util.MultiIterator.setIterator(MultiIterator.java:70)
at serp.util.MultiIterator.hasNext(MultiIterator.java:25)
at
com.solarmetric.kodo.runtime.ExtentImpl$TransactionAwareIterator.hasNext(Ext
entImpl.java:218)
at KodoConn.<init>(KodoConn.java:23)
at KodoConn.main(KodoConn.java:33)
1773 [main] INFO jdbc.JDBC - [ C:15779934; T:9489155; D:15493888 ] begin
rollback
1783 [main] INFO jdbc.JDBC - [ C:15779934; T:9489155; D:15493888 ] end
rollback 10ms
1783 [main] INFO jdbc.JDBC - [ C:15779934; T:9489155; D:15493888 ] return
[com.solarmetric.datasource.PoolConnection@f0c85e[[requests=1;size=0;max=0;h
its=0;created=1;redundant=0;overflow=1;new=1;leaked=0;unavailable=0]]] to
[com.solarmetric.datasource.DataSourceImpl$SortablePool[min=1; max=80;
size=1; taken=1]]
1783 [main] INFO jdbc.JDBC - [ C:15779934; T:9489155; D:15493888 ] get
[com.solarmetric.datasource.PoolConnection@f0c85e[[requests=1;size=0;max=0;h
its=0;created=1;redundant=0;overflow=1;new=1;leaked=0;unavailable=0]]] from
[com.solarmetric.datasource.DataSourceImpl$SortablePool[min=1; max=80;
size=1; taken=0]]
1813 [main] INFO jdbc.SQL - [ C:15779934; T:9489155; D:15493888 ] preparing
statement <2715510>: SELECT t0.JDOIDX, t0.JDOCLASSX, t0.JDOLOCKX, t0.PRICEX,
t0.TYPEX FROM ANIMALX t0
1813 [main] INFO jdbc.SQL - [ C:15779934; T:9489155; D:15493888 ] executing
statement <2715510>: [reused=1;params={}]
"Marc Prud'hommeaux" <[email protected]> wrote in message
news:[email protected]...
Marc-
Are you using the lastest version of MS's JDBC driver? I seem to recall
this problem with the beta version of the driver.
If that doesn't help, can you send us the complete stack trace?
In article <[email protected]>, Marc Amick wrote:
With the Microsoft SQL Server 2000 JDBC Driver I keep getting the
following
exception from kodo:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for
JDBC][SQLServer]sp_
cursorclose: The cursor identifier value provided (abcdef0) is notvalid.
atcom.microsoft.jdbc.base.BaseExceptions.createException(Unknown
Source)
in kodo.properties i have
javax.jdo.option.ConnectionURL
set to
jdbc:microsoft:sqlserver://BALT-DB1:1433;DatabaseName=db_mamick;SelectMethod
=cursor
I am using kodo 2.4.1
Has anyone seen this?
Thanks
-Marc
Marc Prud'hommeaux [email protected]
SolarMetric Inc. http://www.solarmetric.com
Marc Prud'hommeaux [email protected]
SolarMetric Inc. http://www.solarmetric.com -
MakePersistent exception and second class object value
1. When makePersistent is called on an object with application id that
already exists in the database, a JDOFatalDataStoreException is thrown.
The JDO specification calls for a JDOUserException (17.1.4).
2. If there are stray data for a second class field (e.g. Hashtable)
before the object is created, the stray data will become part of the value
of the second class object.
Suggestion: Delete statements should be issued to delete stray values for
second class fields.
---------- Program output -------------
After makePersistent: Persistent-Dirty-New
After add inside transaction: Persistent-Dirty-New
[ C:9; S:58; T:5; D:11/29/02 9:47 PM ] INSERT INTO PORTFOLIOX(JDOLOCKX,
JDOCLASSX, NAMEX) VALUES (0, 'quocp.ent.Portfolio', 'TESTPF')
[ C:9; T:5; D:11/29/02 9:47 PM ] roll back data store transaction
javax.jdo.JDOFatalDataStoreException:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper: [SQL=INSERT INTO
PORTFOLIOX(JDOLOCKX, JDOCLASSX, NAMEX) VALUES (0, 'quocp.ent.Portfolio',
'TESTPF')] Invalid argument value: Duplicate entry 'TESTPF' for key 1
[code=1062;state=S1009]
NestedThrowables:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper: [SQL=INSERT INTO
PORTFOLIOX(JDOLOCKX, JDOCLASSX, NAMEX) VALUES (0, 'quocp.ent.Portfolio',
'TESTPF')] Invalid argument value: Duplicate entry 'TESTPF' for key 1
end trans[11/29 21:47:28:913]Well, you can always do this type of cleanup manually if you so desire.
Having Kodo automatically guess about what constitutes valid data seems
pretty dangerous though.
I'd suggest that you put the appropriate deferred referential integrity
checks on your schema instead. This will let the database guarantee the
consistency of the data.
-Patrick
Quoc Pham wrote:
If the data for the second class member somehow are there in the table
(maybe someone deleted the owning instance without cleaning up the owned
data), then it woul be picked up. It would be safer to have an option to
issue an SQL statement to clean up the data.
"Patrick Linskey" wrote in message
news:asegfu$9r0$[email protected]..
Quoc Pham wrote:
2. If there are stray data for a second class field (e.g. Hashtable)
before the object is created, the stray data will become part of the
value
of the second class object.What do you mean by 'stray data?'
-Patrick
Patrick Linskey [email protected]
SolarMetric Inc. http://www.solarmetric.com
Patrick Linskey [email protected]
SolarMetric Inc. http://www.solarmetric.com -
ResultEvent object is reversing my string values. Why?
Hello
Here is another wacky problem I am facing, maybe someone here can clarify or shed some light on this.
I have a web service and HTTPService object that invokes it. I get data back just fine. I noticed though, that some of the data is reversed.
Here is the raw data output, from my WSDL. This is what the Web Service really returns:
Now, here is what I get from my ResultObject:
Why is this value reversed? Is FLEX actually trying to help me by reversing this?
I now must perform a reverse string hack, which I can handle. But why would the ResultEvent be reversing string values? Just because it has a lot of period characters in it? Riddle me this Batman???I am unsure what you mean by "server".
I kind of need my server in the equation because it supplies my data via Web Service, lol. It is required.
I am not using XML either.
Test case? Do you mean to try the ArrayCollection test scenario jbf00 suggested? Or some other test case?
I havent tried it because:
1.) I dont have time, I have to many other bugs to try to fix.
2.) I am pretty sure the problem will persist in an XML object or ArrayCollection object.
Unless those objects perform string reversals magically. -
Repost: FontMetrics getMaxAdvance returns a large value
I am trying to use the getMaxAdvance method of the FontMetrics class and it returns a value that's really large for my font.
It returns 36, while the char 'W' returns a 17.
What character would return such a big value?
I would think that W or M would be the widest characters.There could be some wacky characters in there. Who knows. I usually just get the width of the 'W' character in the font and use that.
-
Get all values from request.getParameter
In ASP, I can do something like that...
For each item in Request.Form
Response.write "Name is:" & item & " value is:" & Request(item)
Next
How about in JSP? How do i get the names and values of the form using a loop?You can use request.getParameterNames() which will return an enumeration, then you can iterate through the enumeration and use request.getParameterValue(String paramName) method to get the values.
-
Error while assigning a character value to a numeric variable.
I fire a sql statement and check the number of rows returned by the sql.
I check this result with the application logs.
The application logs keeps the sqls fired by the application and the no of rows returned, in the example below the sql returned 8454 rows.
My script compares the two results.
***********Application Log***********
4/14/2008 11:15:01 AM: 0059 SQL SELECT "CLUSTER_CD",
4/14/2008 11:15:01 AM: 0060 "PRODUCT_DESC",
4/14/2008 11:15:01 AM: 0061 "TEAM_CD"
4/14/2008 11:15:01 AM: 0062 FROM "OPS$TMS"."MAP_CLUSTER_TEAM_PROD"
4/14/2008 11:15:01 AM: 3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD, 8,454 lines fetched
***********Application Log***********
My script:
#!/bin/ksh
typeset -i resA
typeset -i resB
opstms_conn_string="abc/[email protected]"
set `sqlplus -s $opstms_conn_string << EOF
set pages 0
WHENEVER SQLERROR CONTINUE
SELECT count(*)
FROM MAP_CLUSTER_TEAM_PROD;
exit
EOF`
resA=$1 ##returns 8454
resB=`grep '3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD,' BCVP_Main_Loader.qvw.log | awk '{print $10}'`
##resB returns 8,454
## here i get syntax error
if [ $resA -eq $resB ]; then
echo "QA passed for sql1"
else
echo "QA failed for sql1"
fi
The problem is as resB is integer variable it does not accept character value: 8,454 so returns a syntax error:
How do I change the value assigned to resB into a numeric variable?
error:
+ grep 3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD, BCVP_Main_Loader.qvw.log
run.ksh[52]: 8,454: syntax errorChange:
resB=`grep '3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD,' BCVP_Main_Loader.qvw.log | awk '{print $10}'`
to this:
resB=`grep '3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD,' BCVP_Main_Loader.qvw.log | awk '{print $10}' | tr -d ,`
to drop the comma. Or you could do it in awk(1):
resB=`grep '3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD,' BCVP_Main_Loader.qvw.log | awk '{ gsub( /,/, "", $10 ); print $10}'`
Or you could to it all in awk(1):
resB=`awk '
/3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD/ {
gsub( /,/, "", $10 )
print $10
' BCVP_Main_Loader.qvw.log`
(This example was not tested, it's just for a model.)
Someone more of an SQL guru than I can probably tell you how to change your numeric locale to avoid presenting those commas in the first place and avoid the problem.
HTH -
Issue in Creation of new Value Field in CO-PA
Hi,
I have a query in CO-PA Value Field Linking.
In my Development Client,
1. Created a New Value Field (No Transport Request Generated)
2. Linked to the above to new Conditon type created in SD. (Tranport request was generated) i.e. in Flow of Actual Values->Transfer of Billing Documents->Assign Value Fields
However then i try creating a new Value Field in my Production Client it throws a message 'You have no authorization to change Fields".
Is this an issue with authorization or i need to transport the Value field too from Development to Production client.
Please Advise.
Thanks in Advance,
SafiThanks Phaneendra for the response.
The creation of Value field did not create any tranportation request. Will this too be transported if i transport the Operating Concern.
Please Advise.
Thanks,
Safi -
Query help : Query to get values SYSDATE-1 18:00 hrs to SYSDATE 08:00 hrs
Hi Team
I want the SQl query to get the data for the following comparison : -
Order Created is a Date Column , and i want to find out all the values from (SYSDATE-1) 18:00 hours to SYSDATE 08:00 hours
i.e.
(SYSDATE-1) 18:00:00 < Order.Created < SYSDATE 08:00:00.
RegardsHi, Rohit,
942281 wrote:
If i want the data in the below way i.e.
from (SYSDATE-1) 18:00 hours to SYSDATE 17:59 hours ---> (SYSDATE-1) 18:00:00 < Order.Created < SYSDATE 07:59:00.If you want to include rows from exactly 18:00:00 yesterday (but no earlier), and exclude rows from exatly 08:00:00 today (or later), then use:
WHERE ord_dtl.submit_dt >= TRUNC (SYSDATE) - (6 / 24)
AND ord_dtl.submit_dt < TRUNC (SYSDATE) + (8 / 24)
So can i use the below format : -
ord_dtl.submit_dt BETWEEN trunc(sysdate)-(6/24) and trunc(sysdate)+(7.59/24) . Please suggest . .59 hours is .59 * 60 * 60 = 2124 seconds (or .59 * 60 = 35.4 minutes), so the last time included in the range above is 07:35:24, not 07:59:59.
If you really, really want to use BETWEEN (which includes both end points), then you could do it with date arithmentic:
WHERE ord_dtl.submit_dt BETWEEN TRUNC (SYSDATE) - (6 / 24)
AND TRUNC (SYSDATE) + (8 / 24)
- (1 / (24 * 60 * 60))but it would be simpler and less error prone to use INTERVALs, as Karthick suggested earlier:
WHERE ord_dtl.submit_dt BETWEEN TRUNC (SYSDATE) - INTERVAL '6' HOUR
AND TRUNC (SYSDATE) + INTERVAL '8' HOUR
- INTERVAL '1' SECONDEdited by: Frank Kulash on Apr 17, 2013 9:36 AM
Edited by: Frank Kulash on Apr 17, 2013 11:56 AM
Changed "- (8 /24)" to "+ (8 /24)" in first code fragment (after Blushadown, below) -
Unable to capture return values in web services api
At the time of login to web services if my server is down ,
it returns following error :
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1438)
at java.lang.String.substring(String.java:1411)
I want to capture this error so that i can try another server to login. how do i capture this error
Another place where i want to capture the return Value is when i look for a report on the server
rh = boBIPlatform.get("path://InfoObjects/Root Folder/"src_folder"/" + reportName +
"@SI_SCHEDULEINFO,SI_PROCESSINFO" ,oGetOptions);
oInfoObjects = rh.getInfoObjects();
CrystalReport = (CrystalReport)oInfoObjects.getInfoObject(0);
Here if the report is not there on the server , it returns a null handler exception.
but if i try catching it by checking my responsehandler is null like rh == null it does not catch it.
Any help will be appreciated
thanks
Rakesh GuptaTed : i have two cases
1) server = server_st.nextToken();
providerURL = "http://"server"/dswsbobje/services";
sessConnURL = new URL(providerURL + "/session");
Connection boConnection = new Connection(sessConnURL);
Session boSession = new Session(boConnection);
EnterpriseCredential boEnterpriseCredential = new EnterpriseCredential();
boEnterpriseCredential.setLogin(userid);
boEnterpriseCredential.setPassword(pwd);
boEnterpriseCredential.setAuthType(auth);
SessionInfo boSI = boSession.login(boEnterpriseCredential);
I have got a list of servers running web servcies stored in my tokens. when i pass the first server name say " test:8080" and that server is down , i want to catch somewhere in the code above that it did not get the connection so that i can loop back and try with the second server say test1:8080
This is for failover purposes.
at present when i was trying to capture return value of boSI it breaks giving the error
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1438)
at java.lang.String.substring(String.java:1411)
2nd case :
I am geeting reports from the server and scheduling them:
i run the following code which works fine if reports is there
rh = boBIPlatform.get("path://InfoObjects/Root Folder/"src_folder"/" + reportName +
"@SI_SCHEDULEINFO,SI_PROCESSINFO" ,oGetOptions);
oInfoObjects = rh.getInfoObjects();
CrystalReport = (CrystalReport)oInfoObjects.getInfoObject(0);
Here if the report is not there on the server then i should be able to catch from the response handle rh that it has got a null value.
but rh does not return a null value
the code ultimately throws a null handle at the following line
CrystalReport = (CrystalReport)oInfoObjects.getInfoObject(0);
i am not able to catch the null value there also.
hope you got my issue. -
Unable to capture the parameter values from a PL/SQL procedure
hi.
i'm trying to capture the parameter values of a PL/SQL procedure by calling inside a anonymous block but i'm getting a "reference to uninitialized collection error" ORA-06531.
Please help me regarding.
i'm using following block for calling the procedure.
declare
err_cd varchar2(1000);
err_txt VARCHAR2(5000);
no_of_recs number;
out_sign_tab search_sign_tab_type:=search_sign_tab_type(search_sign_type(NULL,NULL,NULL,NULL,NULL));
cntr_var number:=0;
begin
rt843pq('DWS','3000552485',out_sign_tab,no_of_recs,err_cd,err_txt);
dbms_output.put_line('The error is ' ||err_cd);
dbms_output.put_line('The error is ' ||err_txt);
dbms_output.put_line('The cntr is ' ||cntr_var);
for incr in 1 .. OUT_SIGN_TAB.count
loop
cntr_var := cntr_var + 1 ;
Dbms_output.put_line(OUT_SIGN_TAB(incr).ref_no||','||OUT_SIGN_TAB(incr).ciref_no||','||OUT_SIGN_TAB(incr).ac_no||','||OUT_SIGN_TAB(incr).txn_type||','||OUT_SIGN_TAB(incr).objid);
end loop;
end;
Error is thrown on "for incr in 1 .. OUT_SIGN_TAB.count" this line
Following is some related information.
the 3rd parameter of the procedure is a out parameter. it is a type of a PL/SQL table (SEARCH_SIGN_TAB_TYPE) which is available in database as follows.
TYPE "SEARCH_SIGN_TAB_TYPE" IS TABLE OF SEARCH_SIGN_TYPE
TYPE "SEARCH_SIGN_TYPE" AS OBJECT
(ref_no VARCHAR2(22),
ciref_no VARCHAR2(352),
ac_no VARCHAR2(22),
txn_type VARCHAR2(301),
objid VARCHAR2(1024))............We don't have your rt843pq procedure, but when commenting that line out, everything works:
SQL> create TYPE "SEARCH_SIGN_TYPE" AS OBJECT
2 (ref_no VARCHAR2(22),
3 ciref_no VARCHAR2(352),
4 ac_no VARCHAR2(22),
5 txn_type VARCHAR2(301),
6 objid VARCHAR2(1024))
7 /
Type is aangemaakt.
SQL> create type "SEARCH_SIGN_TAB_TYPE" IS TABLE OF SEARCH_SIGN_TYPE
2 /
Type is aangemaakt.
SQL> declare
2 err_cd varchar2(1000);
3 err_txt VARCHAR2(5000);
4 no_of_recs number;
5 out_sign_tab search_sign_tab_type:=search_sign_tab_type(search_sign_type(NULL,NULL,NULL,NULL,NULL));
6 cntr_var number:=0;
7 begin
8 -- rt843pq('DWS','3000552485',out_sign_tab,no_of_recs,err_cd,err_txt);
9 dbms_output.put_line('The error is ' ||err_cd);
10 dbms_output.put_line('The error is ' ||err_txt);
11 dbms_output.put_line('The cntr is ' ||cntr_var);
12 for incr in 1 .. OUT_SIGN_TAB.count
13 loop
14 cntr_var := cntr_var + 1 ;
15 Dbms_output.put_line(OUT_SIGN_TAB(incr).ref_no||','||OUT_SIGN_TAB(incr).ciref_no||','||OUT_SIGN_TAB(incr).ac_no||','||OUT_SIGN
TAB(incr).txntype||','||OUT_SIGN_TAB(incr).objid);
16 end loop;
17 end;
18 /
The error is
The error is
The cntr is 0
PL/SQL-procedure is geslaagd.Regards,
Rob.
Maybe you are looking for
-
External screen resolution on 15"MBP
Hi there, I know a lot of us are suffering from a real range of different problems with 10.5, this is the first problem i've come across since updating, i own a 15" MBP and do my updates at work (not connected up to an external display), i've got a m
-
Button to copy text to the clipboard
Reading the document "Javascript for Acrobat API Reference" Page 120: http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/js_api_reference.pdf the document discusses the execMenuItem command. From all that I have researched it appears I can
-
We use a ServerSocket Listening on port 162 to receive Traps from a Remote agent. If the application is launched on a multi-homed system (system with Multiple IP Addresses), which IP Address does the socket bind to ? Is it the case that the Socket bi
-
Mac mini crashes without a reason
I have mac mini 8GB RAM with thunderbolt 27" display. Sometimes it crashes when I'm working, sometimes on screensaver, sometimes when watching movie. There is no rule for that. There is no rule for timing either - mac can crash once in a month, or so
-
Further info about NSURLVolumeTotalCapacityKey
I have the NSFileManager working to get data about the mounted volumes via: NSArray *keys = [[NSArray alloc] initWithObjects: NSURLNameKey, NSURLIsVolumeKey, NSURLVolumeTotalCapacityKey, NSURLVolumeAvailableCapacityKey, NSURLVolumeLocalizedFormatDesc