CommitAndResume and JDOHelper.isDeleted
Hi!
I am having a problem and don't understand the cause. In the following
code, the first assert succeeds and the second fails. I understand that
the commitAndResume starts a new Transaction and that isDeleted only
returns true if the current Transaction was the one where the object was
deleted. Why is this? Shouldn't the object still be deleted after I have
commited and flushed? Why is it still there?
final PersistenceManagerImpl pm = (PersistenceManagerImpl) getPm();
final Transaction transaction = pm.currentKodoTransaction();
if (!transaction.isActive()) transaction.begin();
pm.deletePersistent(object);
assert JDOHelper.isDeleted(object);
pm.commitAndResume();
pm.flush();
assert JDOHelper.isDeleted(object);
Thanks,
Nic.
Once the transaction in which an object is deleted is committed, JDO
stops managing the object completely. The object is no longer
attached to the PM, so it is just a plain old Java object. All JDOHelper
methods return "false" or "null" for plain old Java objects.
Similar Messages
-
Kodo 4.0.0EA3 JDOHelper.is...() state functions
I'm trying to write unit tests for some of my higher level classes, and I've run into trouble trying
to test functions that delete persistent objects. I'm using Spring Framework's
AbstractTransactionalSpringContextTests class as my harness (which derives from JUnit's TestCase).
It sets up a transaction before each test function and rolls the transaction back (by default, this
is editable) after each test function. Because of this, I decided to base the test on the results of
JDOHelper.isDelete( objectThatWasDeleted ). My tests fail though, and all of the JDOHelper.is...()
functions return false at all points during the test. I know things are getting deleted though,
because before the Spring created transaction is started, I create my own transaction and persist
some objects, and after the Spring transaction is finished (and the test case), I create another
transaction to remove them (both my transactions are committed). Even in the tear down function,
JDOHelper.is...() functions don't seem to work; for example, isDeleted() returns false even though
the object has been scheduled for deletion and is in fact deleted when the transaction commits.
Is this a known bug? I was under the impression that JDOHelper functions were working as of EA2 (I
know they weren't working before that and we had to use KodoHelper).
Thanks,
Mark
Here's the code in question:
* This function is called after the test and the transaction it ran in have been completed.
* By default, the transaction is rolled back, but this can be overridden. This function
* should ensure the tests have been cleaned up, including anything that was created by the
* companion function onSetUpBeforeTransaction().
* @see onSetUpBeforeTransaction()
protected void onTearDownAfterTransaction()
if( transactionManager != null )
getLogger().info( "Starting transaction for post-test tear down." );
TransactionStatus status =
transactionManager.getTransaction( new DefaultTransactionDefinition() );
if( status != null )
getLogger().info( "Transaction for post-test tear down has been created." );
UserManager userManager = (UserManager) applicationContext.getBean( "userManager" );
User userToAlter = userManager.getUser( USER_TO_ALTER_USERNAME );
userManager.removeUser( userToAlter );
getLogger().debug(
"userToAlter (Kodo) - isDirty = " + KodoJDOHelper.isDirty( userToAlter )
+ ", isNew = " + KodoJDOHelper.isNew( userToAlter )
+ ", isPersistent = " + KodoJDOHelper.isPersistent( userToAlter )
+ ", isDeleted = " + KodoJDOHelper.isDeleted( userToAlter ) );
getLogger().debug( "userToAlter - isDirty = " + JDOHelper.isDirty( userToAlter )
+ ", isNew = " + JDOHelper.isNew( userToAlter )
+ ", isPersistent = " + JDOHelper.isPersistent( userToAlter )
+ ", isDeleted = " + JDOHelper.isDeleted( userToAlter ) );
try
transactionManager.commit( status );
finally
status = null;
else
getLogger().info( "Could not create transaction for post-test tear down."
+ " Superclass' transactionManager is null." );
And here's the log output (I've put blank lines around the relevant output):
2005-11-10 12:50:17,669 INFO [edu.ucsc.whisper.test.integration.UserManagerIntegrationTest] -
<Rolled back transaction after test execution>
2005-11-10 12:50:17,669 INFO [edu.ucsc.whisper.test.integration.UserManagerIntegrationTest] -
<Starting transaction for post-test tear down.>
2005-11-10 12:50:17,670 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Using
transaction object [org.springframework.orm.jdo.JdoTransactionManager$JdoTransactionObject@82d44b]>
2005-11-10 12:50:17,670 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Creating new
transaction with name [null]>
2005-11-10 12:50:17,670 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Opened new
PersistenceManager [kodo.jdo.PersistenceManagerImpl@3faa8d] for JDO transaction>
2005-11-10 12:50:17,670 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Exposing JDO
transaction as JDBC transaction
[org.springframework.orm.jdo.DefaultJdoDialect$DataStoreConnectionHandle@285701]>
2005-11-10 12:50:17,671 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Bound value
[org.springframework.jdbc.datasource.ConnectionHolder@681dea] for key [datasource 9833630] to thread
[main]>
2005-11-10 12:50:17,671 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Bound value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] to thread [main]>
2005-11-10 12:50:17,671 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Initializing
transaction synchronization>
2005-11-10 12:50:17,671 INFO [edu.ucsc.whisper.test.integration.UserManagerIntegrationTest] -
<Transaction for post-test tear down has been created.>
2005-11-10 12:50:17,671 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory]
- <Returning cached instance of singleton bean 'userManager'>
2005-11-10 12:50:17,671 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory]
- <Bean with name 'userManager' is a factory bean>
2005-11-10 12:50:17,671 DEBUG [org.springframework.transaction.interceptor.TransactionInterceptor] -
<Getting transaction for edu.ucsc.whisper.core.UserManager.getUser>
2005-11-10 12:50:17,671 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] bound to thread [main]>
2005-11-10 12:50:17,671 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Found
thread-bound PersistenceManager [kodo.jdo.PersistenceManagerImpl@3faa8d] for JDO transaction>
2005-11-10 12:50:17,671 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.jdbc.datasource.ConnectionHolder@681dea] for key [datasource 9833630] bound to
thread [main]>
2005-11-10 12:50:17,671 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Using
transaction object [org.springframework.orm.jdo.JdoTransactionManager$JdoTransactionObject@87f48e]>
2005-11-10 12:50:17,671 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Participating
in existing transaction>
2005-11-10 12:50:17,671 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] bound to thread [main]>
2005-11-10 12:50:17,672 DEBUG [kodo.Query] - <executing query: [SELECT UNIQUE FROM
edu.ucsc.whisper.core.DefaultUser WHERE username==searchName
PARAMETERS java.lang.String searchName] with parameters: {searchName=userToAlter}>
2005-11-10 12:50:17,674 DEBUG [kodo.jdbc.JDBC] - <<t 977184> connection pool: active=0, idle=1>
2005-11-10 12:50:17,674 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> checkout>
2005-11-10 12:50:17,674 DEBUG [kodo.jdbc.JDBC] - <<t 977184> prepared statement cache: size=8,
max=50, requests=12, hits=4, created=8, redundant=0, overflow=0, leaked=0>
2005-11-10 12:50:17,677 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [3 ms] executing prepstmnt
1168959 SELECT t0.userId, t0.VERSN, t0.enabled, t0.password, t1.userInfoId, t1.VERSN, t1.aboutText,
t1.familyName, t1.firstName, t1.gender, t1.namePrefix, t1.nameSuffix, t1.otherNames, t2.userId,
t2.VERSN, t2.enabled, t2.password, t2.USERINFO, t2.username, t0.username FROM whisper_user t0 LEFT
OUTER JOIN userinfo t1 ON t0.USERINFO = t1.userInfoId LEFT OUTER JOIN whisper_user t2 ON
t1.userInfoId = t2.USERINFO WHERE (t0.username = ?) [params=(String) userToAlter] [reused=1]>
2005-11-10 12:50:17,690 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [3 ms] executing prepstmnt
4297359 SELECT t0.previousName, t0.nameOrder FROM userInfo_PreviousNames t0 WHERE t0.userInfoId = ?
ORDER BY t0.nameOrder ASC [params=(long) 1] [reused=0]>
2005-11-10 12:50:17,693 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [2 ms] executing prepstmnt
16585718 SELECT t1.authorityId, t1.VERSN, t1.authority FROM user_authorities t0 INNER JOIN
authorities t1 ON t0.authorityId = t1.authorityId WHERE t0.userId = ? [params=(long) 1] [reused=0]>
2005-11-10 12:50:17,697 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [3 ms] executing prepstmnt
11277980 SELECT t0.organizationId, t0.VERSN, t0.city, t0.country, t0.isPrimary, t0.orgName,
t0.positionTitle, t0.postalCode, t0.state, t0.streetAddress1, t0.streetAddress2, t0.streetAddress3,
t0.userId FROM organization t0 WHERE t0.userId = ? [params=(long) 1] [reused=0]>
2005-11-10 12:50:17,698 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> return>
2005-11-10 12:50:17,698 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> [0 ms] close>
2005-11-10 12:50:17,698 DEBUG [org.springframework.transaction.interceptor.TransactionInterceptor] -
<Invoking commit for transaction on edu.ucsc.whisper.core.UserManager.getUser>
2005-11-10 12:50:17,698 DEBUG [org.springframework.transaction.interceptor.TransactionInterceptor] -
<Getting transaction for edu.ucsc.whisper.core.UserManager.removeUser>
2005-11-10 12:50:17,698 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] bound to thread [main]>
2005-11-10 12:50:17,698 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Found
thread-bound PersistenceManager [kodo.jdo.PersistenceManagerImpl@3faa8d] for JDO transaction>
2005-11-10 12:50:17,698 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.jdbc.datasource.ConnectionHolder@681dea] for key [datasource 9833630] bound to
thread [main]>
2005-11-10 12:50:17,698 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Using
transaction object [org.springframework.orm.jdo.JdoTransactionManager$JdoTransactionObject@ba0b12]>
2005-11-10 12:50:17,699 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Participating
in existing transaction>
2005-11-10 12:50:17,700 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] bound to thread [main]>
2005-11-10 12:50:17,702 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] bound to thread [main]>
2005-11-10 12:50:17,702 DEBUG [org.springframework.transaction.interceptor.TransactionInterceptor] -
<Invoking commit for transaction on edu.ucsc.whisper.core.UserManager.removeUser>
2005-11-10 12:50:17,702 DEBUG [edu.ucsc.whisper.test.integration.UserManagerIntegrationTest] -
<userToAlter (Kodo) - isDirty = false, isNew = false, isPersistent = false, isDeleted = false>
2005-11-10 12:50:17,702 DEBUG [edu.ucsc.whisper.test.integration.UserManagerIntegrationTest] -
<userToAlter - isDirty = false, isNew = false, isPersistent = false, isDeleted = false>
2005-11-10 12:50:17,703 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Triggering
beforeCommit synchronization>
2005-11-10 12:50:17,703 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Triggering
beforeCompletion synchronization>
2005-11-10 12:50:17,703 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Initiating
transaction commit>
2005-11-10 12:50:17,703 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Committing JDO
transaction on PersistenceManager [kodo.jdo.PersistenceManagerImpl@3faa8d]>
2005-11-10 12:50:17,703 DEBUG [kodo.jdbc.JDBC] - <<t 977184> connection pool: active=0, idle=1>
2005-11-10 12:50:17,703 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> checkout>
2005-11-10 12:50:17,703 DEBUG [kodo.jdbc.JDBC] - <<t 977184> prepared statement cache: size=11,
max=50, requests=16, hits=5, created=11, redundant=0, overflow=0, leaked=0>
2005-11-10 12:50:17,705 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [1 ms] executing prepstmnt
1104991 DELETE FROM userInfo_PreviousNames WHERE userInfoId = ? [params=(long) 1] [reused=0]>
2005-11-10 12:50:17,706 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [1 ms] executing prepstmnt
15986263 DELETE FROM user_authorities WHERE authorityId = ? [params=(long) 1] [reused=0]>
2005-11-10 12:50:17,708 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [1 ms] executing prepstmnt
10794796 DELETE FROM user_authorities WHERE userId = ? [params=(long) 1] [reused=0]>
2005-11-10 12:50:17,710 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [2 ms] executing prepstmnt
16100636 DELETE FROM authorities WHERE authorityId = ? AND VERSN = ? [params=(long) 1, (int) 1]
[reused=0]>
2005-11-10 12:50:17,711 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [1 ms] executing prepstmnt
3677634 DELETE FROM userinfo WHERE userInfoId = ? AND VERSN = ? [params=(long) 1, (int) 1] [reused=0]>
2005-11-10 12:50:17,713 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [1 ms] executing prepstmnt
2745891 DELETE FROM whisper_user WHERE userId = ? AND VERSN = ? [params=(long) 1, (int) 1] [reused=0]>
2005-11-10 12:50:17,828 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> [115 ms] commit>
2005-11-10 12:50:17,829 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> return>
2005-11-10 12:50:17,829 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> [1 ms] close>
2005-11-10 12:50:17,830 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Triggering
afterCompletion synchronization>
2005-11-10 12:50:17,830 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Clearing transaction
synchronization>
2005-11-10 12:50:17,830 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Removed value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] from thread [main]>
2005-11-10 12:50:17,830 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Removed value
[org.springframework.jdbc.datasource.ConnectionHolder@681dea] for key [datasource 9833630] from
thread [main]>
2005-11-10 12:50:17,831 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Closing JDO
PersistenceManager [kodo.jdo.PersistenceManagerImpl@3faa8d] after transaction>
2005-11-10 12:50:17,831 DEBUG [org.springframework.orm.jdo.PersistenceManagerFactoryUtils] -
<Closing JDO PersistenceManager>Abe White wrote:
You need to make sure that when you enhance, you include JDO
enhancement, not just the base Kodo enhancement. Now that Kodo 4
supports EJB 3 users who might not want JDO, it doesn't enhance-in
dependencies on JDO unless you ask it to.
If you enhance on the command line, that means using the "jdoc" command
rather than "kodoc" ("jdoc" is actually just a shortcut for "kodoc -jdo
true"). If you use the PCEnhancerTask, it means setting the jdoEnhance
attribute:
<taskdef name="kodoc" classname="kodo.ant.PCEnhancer"/>
<kodoc jdoEnhance="true">
</kodoc>So, what are the primary differences between the enhancement done for EJB3
and JDO? I gather that "base Kodo enhancement" is EJB3.
Scott -
JDOHelper cannot be used in place of KodoHelper
Environment: _
kodo-jdo-3.0.0RC1 on Windows XP Pro SP1
Hi all,
I think we have found a bug regarding Kodo licensing and JDOHelper. I have a test case, based on Kodo's tutorial, which demonstrates this, available on demand.
As far as we can see, you have no other choice than using KodoHelper class, which will pick-up kodo.properties properly.
If you use JDOHelper class instead you get a license error - See stack below.
We feel this is a regression since using JDOHelper was working fine with Kodo 3.0 beta release.
Could you please confirm there is a bug here ?
I have modified the JDOFactory class in the tutorial to either use KodoHelper or use JDOHelper, based on a parameter:
PersistenceManager pm _ JDOFactory.getPersistenceManager (JDOFactory.KODO_HELPER);
or
PersistenceManager pm _ JDOFactory.getPersistenceManager (JDOFactory.JDO_HELPER);
In JDOFactory.java:
if ( mode __ KODO_HELPER ) {
/* Solution 1 : use KodoHelper.
* This is currently the only working solution._
factory _ KodoHelper.getPersistenceManagerFactory("kodo.properties");
} else if ( mode __ JDO_HELPER ) {
/* Solution 2 : use JDOHelper.
* This is the standard solution. But it does not work._
Properties properties _ new Properties();
properties.setProperty(
"javax.jdo.PersistenceManagerFactoryClass",
"kodo.versant.ObjectPersistenceManagerFactory");
properties.setProperty("javax.jdo.option.ConnectionURL", "jdodb");
properties.setProperty("javax.jdo.option.ConnectionUserName",
System.getProperty("user.name"));
factory _ JDOHelper.getPersistenceManagerFactory(properties);
Using KodoHelper we get the following:
[c:\myarea\dev\jdo\tutorial kodo]java tutorial.SeedDatabase
Created 5 new dogs.
Using JDOHelper we get the following:
Exception in thread "main" javax.jdo.JDOFatalUserException: Exception thrown by getPersistenceManagerFactory(Properties)
NestedThrowables:
java.lang.reflect.InvocationTargetException
at javax.jdo.JDOHelper.getPersistenceManagerFactory(Unknown Source)
at javax.jdo.JDOHelper.getPersistenceManagerFactory(Unknown Source)
at tutorial.JDOFactory.getPersistenceManagerFactory(JDOFactory.java:49)
at tutorial.JDOFactory.getPersistenceManager(JDOFactory.java:64)
at tutorial.SeedDatabase.main(SeedDatabase.java:30)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
.... 5 more
Caused by: com.solarmetric.license.LicenseException: No product license key was found. Please ensure that your license key is specified in y
our kodo.properties file (or in the "General" tab of your IDE's configuration dialog), that the key has not expired, and that it is the corr
ect key for the version of the product that you are running. If you need to request an evaluation key, please go to http://www.solarmetric.c
om, or contact [email protected].
at com.solarmetric.license.License.<init>(License.java:43)
at kodo.conf.JDOConfigurationImpl.getLicense(JDOConfigurationImpl.java:311)
at kodo.runtime.PersistenceManagerFactoryImpl.<init>(PersistenceManagerFactoryImpl.java:79)
at kodo.versant.ObjectPersistenceManagerFactory.<init>(ObjectPersistenceManagerFactory.java:35)
at kodo.versant.ObjectPersistenceManagerFactory.getPersistenceManagerFactory(ObjectPersistenceManagerFactory.java:47)
.... 9 more
Thanks,
P@trick
Patrick Guillot Versant France Support Technique
tel.: 0 810 810 664 http://www.versant.fr [email protected]Patrick-
Excuse the interruption, and if I am stating the obvious, but I don't
see a "kodo.LicenseKey" property in the Properties object that you create:
Properties properties = new Properties();
properties.setProperty(
"javax.jdo.PersistenceManagerFactoryClass",
"kodo.versant.ObjectPersistenceManagerFactory");
properties.setProperty("javax.jdo.option.ConnectionURL", "jdodb");
properties.setProperty("javax.jdo.option.ConnectionUserName",
System.getProperty("user.name"));
factory = JDOHelper.getPersistenceManagerFactory(properties);
Are you expecting Kodo to pick it up from a kodo.properties file in the
CLASSPATH? If so, then that isn't the way it works: Kodo will only use
the kodo.properties file if you maually specify it. You need to include
the license key in your properties object.
In article <[email protected]>, Guillot wrote:
This is exactly what I did! I reproduce the issue not only with Versant,
but also with JDBC, using MySQL.
If you allow, I can send you the very simple test case and all information
you'll ask me to send.
Thanks,
Stephen Kim wrote:
My guess is that Versant's ObjectPersistenceManagerFactory creates a new
JDOConfiguration with the loadDefaults option set to false. If you can
replicate this with JDBCPersistenceManagerFactory, we can continue
discussing this problem here. Otherwise, I would point you to Versant's
internal Kodo support system.
Guillot wrote:
But my classpath does not change between my test using KodoHelper and
the one using JDOHelper. I use the same command window and run one test
after the other. So, why does KodoHelper find kodo.properties while
JDOHelper does not?
More over, kodo.properties is located in the directory where I have the
tutorial package. So, if it was a classpath issue, I would get a
ClassNotFound Exception when using tutorial.SeedDatabase. Which is not the
case.
I agree that using FileInputStream to load kodo.properties is a working
work-around. But the method I use should also work - and it used t work.
In the past, we have never been setting the license key in a property, in
the source code. It has always been picked up by kodo in kodo.properties.
Cheers,
P@trick
Stephen Kim wrote:
This is not a bug as we use JDOHelper for most of our internal tests for
JDO compliance. My guess is that you do not have kodo.properties at the
root of your system classpath, and thus when you initialize your
properties object, there is no license key. Instead of setting
properties (in which case you should be setting the kodo.LicenseKey
property), try using a FileInputStream to load kodo.properties.
support.versant wrote:
Environment:
kodo-jdo-3.0.0RC1 on Windows XP Pro SP1
Hi all,
I think we have found a bug regarding Kodo licensing and JDOHelper. I
have a test case, based on Kodo's tutorial, which demonstrates this,
available on demand.
As far as we can see, you have no other choice than using KodoHelper
class, which will pick-up kodo.properties properly.
If you use JDOHelper class instead you get a license error - See stack
below.
We feel this is a regression since using JDOHelper was working fine with
Kodo 3.0 beta release.
Could you please confirm there is a bug here ?
I have modified the JDOFactory class in the tutorial to either use
KodoHelper or use JDOHelper, based on a parameter:
PersistenceManager pm = JDOFactory.getPersistenceManager
(JDOFactory.KODO_HELPER);
or
PersistenceManager pm = JDOFactory.getPersistenceManager
(JDOFactory.JDO_HELPER);
In JDOFactory.java:
if ( mode == KODO_HELPER ) {
/* Solution 1 : use KodoHelper.
* This is currently the only working solution.
factory = KodoHelper.getPersistenceManagerFactory("kodo.properties");
} else if ( mode == JDO_HELPER ) {
/* Solution 2 : use JDOHelper.
* This is the standard solution. But it does not work.
Properties properties = new Properties();
properties.setProperty(
"javax.jdo.PersistenceManagerFactoryClass",
"kodo.versant.ObjectPersistenceManagerFactory");
properties.setProperty("javax.jdo.option.ConnectionURL", "jdodb");
properties.setProperty("javax.jdo.option.ConnectionUserName",
System.getProperty("user.name"));
factory = JDOHelper.getPersistenceManagerFactory(properties);
Using KodoHelper we get the following:
=====================================
[c:myareadevjdotutorial kodo]java tutorial.SeedDatabase
Created 5 new dogs.
Using JDOHelper we get the following:
=====================================
Exception in thread "main" javax.jdo.JDOFatalUserException: Exception
thrown by getPersistenceManagerFactory(Properties)
NestedThrowables:
java.lang.reflect.InvocationTargetException
at javax.jdo.JDOHelper.getPersistenceManagerFactory(Unknown Source)
at javax.jdo.JDOHelper.getPersistenceManagerFactory(Unknown Source)
at tutorial.JDOFactory.getPersistenceManagerFactory(JDOFactory.java:49)
at tutorial.JDOFactory.getPersistenceManager(JDOFactory.java:64)
at tutorial.SeedDatabase.main(SeedDatabase.java:30)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
... 5 more
Caused by: com.solarmetric.license.LicenseException: No product license
key was found. Please ensure that your license key is specified in y
our kodo.properties file (or in the "General" tab of your IDE's
configuration dialog), that the key has not expired, and that it is thecorr
ect key for the version of the product that you are running. If you need
to request an evaluation key, please go to http://www.solarmetric.c
om, or contact [email protected].
at com.solarmetric.license.License.<init>(License.java:43)
at
kodo.conf.JDOConfigurationImpl.getLicense(JDOConfigurationImpl.java:311)
at
kodo.runtime.PersistenceManagerFactoryImpl.<init>(PersistenceManagerFactoryImpl.java:79)
at
kodo.versant.ObjectPersistenceManagerFactory.<init>(ObjectPersistenceManagerFactory.java:35)
at
kodo.versant.ObjectPersistenceManagerFactory.getPersistenceManagerFactory(ObjectPersistenceManagerFactory.java:47)
... 9 more
Thanks,
P@trick
Patrick Guillot Versant France SupportTechnique
tel.: 0 810 810 664 http://www.versant.fr
[email protected] <mailto:[email protected]>
Steve Kim
[email protected]
SolarMetric Inc.
http://www.solarmetric.com
Steve Kim
[email protected]
SolarMetric Inc.
http://www.solarmetric.com
Marc Prud'hommeaux [email protected]
SolarMetric Inc. http://www.solarmetric.com -
[SQL QUERY] Select TCP Port Monitors and their related Watcher Node
Hi everybody,
I'm working on a SSRS report and SQL Query, I have no problem to find all my TCP Port Monitor (SCOM 2012 R2) based on the DisplayName, but I can't figure out how to get their related watcher nodes (in my case only 1 computer is a watcher node).
I can't find which table, which field, contains this information..?
Here is the query i started to write (i select * since i still searching for the right column):
SELECT
FROM StateView s
INNER JOIN BaseManagedEntity me on me.BaseManagedEntityId=s.BaseManagedEntityId
INNER JOIN MonitorView mv on mv.Id=s.MonitorId
INNER JOIN ManagedTypeView mtv on mtv.Id=s.TargetManagedEntityType
--where mv.DisplayName like 'Ping Target Status Check%'
AND me.IsDeleted = '0'
where mv.DisplayName like '%tcpmon%'
and mv.LanguageCode = 'ENU'
--and s.HealthState in (@state)
ORDER BY s.Lastmodified DESC
It would be great if someone can help me !
Thanks,
JulienHi,
After creating a TCP port monitor, we can find a table for this monitor under operationsmanager database :
SELECT *
FROM [OperationsManager].[dbo].[MT_TCPPortCheck_******WatcherComputersGroup]
You will find the warcher computer group.
Regards,
Yan Li
Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact [email protected] -
Monthly and Yearly backups not working for Protection Group?
Hi
We have a Protection Group with 160 members currently attached to it. The group has the following customized Recovery Points:-
- 1 recovery point every 1 day for the last 2 weeks, 1 recovery point every 1 month for the last 60 months and 1 recovery point every year for the last 5 years.
The schedule is as follows:-
- Every Day at 01:00, Every Month on First Day at 01:00 and Every 12 Months on 01 January at 01:00.
The daily tape backups are working fine without issue but neither the Monthly or Yearly backups are being attempted. We have checked the monthly backups for this issue for the last few months and are unable to see any evidence of the Monthly schedule even
running? This means that we are having to manually label the Daily tapes once a month as Monthly tapes but they will then stay on the Reports for the next 5 years as DPM will constantly request these tapes back.
Are you able to help with this matter?
Not that we really want to do this but if we removed the group completely and re-create it would this cause problems with our restore points?Hi,
This is a known issue that can occur in all current versions of
DPM including DPM 2012, to correct the condition, you simply need to perform this step. Any time before the next scheduled (monthly or longer) backup, manually update
the long term backup schedule by hitting the MODIFY button. The code that runs when modifying the backup schedule redoes the bacup schedules and it fixes the scheduling issue.
Below is a DPM Power-shell script that will show you the scheduled backups for all recovery goals for all protection groups. You can see the last time each recovery goal ran, and the NEXT run time, so you can monitor
the goals and re-fix them if necessary.
NOTE: It takes about 20-30 minutes before the fixed next run time schedule will be populated after modify the protection group and updating the schedule.
# This script will list all currently scheduled backup to tape jobs #
# It will list scheduled, last run and next run dates #
# Note: The script takes in consideration that the DPM Database was installed locally on its #
# Default instance. If SQL is installed on a different location/instance, edit the line #
# that starts with $instance = '.\msdpm2010 #
# Author : Wilson Souza #
# Date Created : 1/13/2012 #
# Last modified : 1/17/2012 #
# Version : 1.0 #
# This version of the script was only tested on DPM 2010 #
param([string] $verbose)
add-pssnapin sqlservercmdletsnapin100
Add-PSSnapin -Name Microsoft.DataProtectionManager.PowerShell
$ConfirmPreference = 'None'
cls
$instance = '.\msdpm2010' # <---- If DPM Database is on a different location, edit this line accordinly
$query = "use DPMDB
go
CREATE FUNCTION label (@GUID varchar(36), @kindred varchar(4), @vault varchar(8))
returns varchar (1024)
as
Begin
declare @result varchar (1024)
select @result = vaUltlabel from tbl_mm_vaultlabel where mediapoolid = @GUID and generation =
case @kindred
when 'Fath' Then '2'
when 'Gran' then '1'
when 'grea' Then '0'
end and
vault =
case @vault
when 'Offsite1' then '3'
when 'Offsite2' then '4'
when 'Offsite3' then '5'
when 'Offsite4' then '6'
when 'Offsite5' then '7'
when 'Offsite6' then '8'
when 'Offsite7' then '9'
else
'1'
end
RETURN @result
END
go
use DPMDB
select ScheduleId as name
,def.JobDefinitionId as JD
,FriendlyName as PG
,SUBSTRING (CONVERT(VARCHAR(10),active_start_date),5,2) + '-' + SUBSTRING (CONVERT(VARCHAR(10),active_start_date),7,2) + '-' + SUBSTRING (CONVERT(VARCHAR(10),active_start_date),1,4) as SD
,jobs.date_created as SCD
,SUBSTRING (CONVERT(VARCHAR(10),last_run_date),5,2) + '-' + SUBSTRING (CONVERT(VARCHAR(10),last_run_date),7,2) + '-' + SUBSTRING (CONVERT(VARCHAR(10),last_run_date),1,4) + ' ' +
SUBSTRING (CONVERT(VARCHAR(6),last_run_time),1,2) + ':' + SUBSTRING (CONVERT(VARCHAR(6),last_run_time),3,2) + ':' + SUBSTRING (CONVERT(VARCHAR(6),last_run_time),5,2) as LRD
,SUBSTRING (CONVERT(VARCHAR(10),next_run_date),5,2) + '-' + SUBSTRING (CONVERT(VARCHAR(10),next_run_date),7,2) + '-' + SUBSTRING (CONVERT(VARCHAR(10),next_run_date),1,4) + ' ' +
SUBSTRING (CONVERT(VARCHAR(6),next_run_time),1,2) + ':' + SUBSTRING (CONVERT(VARCHAR(6),next_run_time),3,2) + ':' + SUBSTRING (CONVERT(VARCHAR(6),next_run_time),5,2) as NRD
,dbo.label ((substring(xml,(patindex('%MediaPoolId%',Xml))+13,36)), (substring(xml,(patindex('%generation%',Xml))+12,4)), (substring(xml,(patindex('%vault%',Xml))+7,8))) as TL
,case
when substring(xml,(patindex('%vault%',Xml))+7,3) = 'off' then 'Long-Term'
else 'Short-term'
end as STLT
,case
when substring(xml,(patindex('%generation%',Xml))+12,4) = 'Fath' then 'Recovery Goal 1'
when substring(xml,(patindex('%generation%',Xml))+12,4) = 'Gran' then 'Recovery Goal 2'
when substring(xml,(patindex('%generation%',Xml))+12,4) = 'Grea' then 'Recovery Goal 3'
end as RG
from tbl_SCH_ScheduleDefinition sch
,msdb.dbo.sysjobs jobs
,tbl_JM_JobDefinition def
,DPMDB.dbo.tbl_IM_ProtectedGroup prot
,msdb.dbo.sysjobschedules jobsch
,msdb.dbo.sysjobsteps jobsteps
,msdb.dbo.sysschedules syssch
where CAST(sch.ScheduleId as NCHAR (128)) = jobs.name
and def.JobDefinitionId = sch.JobDefinitionId
and def.ProtectedGroupId = prot.ProtectedGroupId
and jobs.job_id = jobsch.job_id
and jobs.job_id = jobsteps.job_id
and jobsch.schedule_id = syssch.schedule_id
and (def.Type = '913afd2d-ed74-47bd-b7ea-d42055e5c2f1' or def.Type = 'B5A3D25C-8EB2-4032-9428-C852DA5CE2C5')
and sch.IsDeleted = '0' and def.ProtectedGroupId is not null
order by FriendlyName, next_run_date, next_run_time
go
drop function label
go"
$result = Invoke-Sqlcmd -ServerInstance $instance -Query $query
$count = 1
write-host " The list below shows all scheduled backup to tape jobs (short term and long term)" -f green
write-host
if ($verbose.ToLower() -eq '')
write-host " For optimun output, set PoweShell Width for screen buffer size to at least 200" -f yellow; write-host
write-host
write-host " Protection Group name Creation Date [Schedule Creation Date] [Last Run Date / time] [Next Sched Run Date/time] Goal type Recovery Goal # Custom Tape Label"
write-host " ------------------------------ ------------- ------------------------ ---------------------- -------------------------- ---------- --------------- -----------------"
foreach ($result1 in $result)
if ($color -eq 'white') {$color = 'cyan'} else {$color = 'white'}
write-host ("{0,2}"-f $count) -foreground green -nonewline
write-host ( " - {0,-30} {1,-13} {2,-24} {3,-24} {4,-27} {5,-10} {6,15} " -f $result1.PG, $result1.SD, $result1.SCD, $result1.LRD, $result1.NRD, $result1.STLT, $result1.RG) -nonewline -f $color
write-host $result1.TL -f yellow
$count++
else
write-host " For optimun output, set PoweShell Width for screen buffer size to at least 110" -f yellow; write-host
write-host " Protection Group Term Goal Tape Label"
write-host " ------------------------------ ---------- --------------- --------------"
foreach ($result1 in $result)
if ($color -eq 'white') {$color = 'cyan'} else {$color = 'white'}
write-host ("{0,2}"-f $count) -foreground green -nonewline
write-host ( " - {0,-30} {1,-10} {2,15} " -f $result1.PG, $result1.STLT, $result1.RG) -nonewline -f $color
write-host $result1.TL -f yellow
$count++
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Mike J. [MSFT] This
posting is provided "AS IS" with no warranties, and confers no rights.
I cant seem to get this script to run.. can someone point out what might be missing..
I've tried creating a shortcut like the following as well:
Target: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -File "C:\Program Files\Microsoft
DPM\DPM\bin\dpmcliinitscript.ps1" "C:\Data\scripts\scheduledjobs.ps1"
Start in: "C:\Program Files\Microsoft DPM\DPM\bin\"
If i run as admin in just takes you to a command line prompt in PS..
Any thoughts on what is missing here.. i've modified the ps1 to reflect 2012 in my case.. 2012 R2
DPM
Tech, the Universe, Everything: http://tech-stew.com
Ok, the 1.6 script works.. but only if i run it from the ps1 script file.. by right clicking it and doing the Run with Powershell option (non admin).. my shortcut doesnt work.. same issue.. it just goes to a power shell prompt. The right click and
run is non admin mode as well.
When I run it with the right click it shows no jobs scheduled.. If i look in dpm 2012 r2 i see a yearly tape backup scheduled for today.. the script doesnt show me a way to also get the monthly to appear (i've set the monthly for a day later but it doesnt
appear in the scheduled tasks for next 7 days).. i was under the impression this script would help force the monthly to appear/run.. but even the yearly that does show in DPM scheduled tasks isnt showing up with the script (maybe admin issue?)
Tech, the Universe, Everything: http://tech-stew.com -
Has anyone found an answer to this yet? I have uninstalled/reinstalled the agents both manually and through the push. Rebooted the client, rebooted the sce server. Forced the group policy to reapply, forced the health agent to /reportnow and I still get the error. The client shows up under the agent managed section but under the health state column it shows not monitored. The clients can ping the SCE server by FQDN and RDP to it as well so name resolution is working fine.
On the the SCE server I get this in the log
Event Type: Information
Event Source: OpsMgr Connector
Event Category: None
Event ID: 20000
Date: 6/25/2009
Time: 10:09:40 AM
User: N/A
Computer: *******
Description:
A device which is not part of this management group has attempted to access this Health Service.
Requesting Device Name : *****
And this
Event Type: Information
Event Source: OpsMgr Connector
Event Category: None
Event ID: 21042
Date: 6/25/2009
Time: 10:25:14 AM
User: N/A
Computer: ***********
Description:
Operations Manager has discarded 1 items in management group Servername_MG, which came from $$ROOT$$. These items have been discarded because no valid route exists at this time. This can happen when new devices are added to the topology but the complete topology has not been distributed yet. The discarded items will be regenerated.
On the client I get
Event Type: Error
Event Source: OpsMgr Connector
Event Category: None
Event ID: 20070
Date: 06/25/2009
Time: 10:06:13 AM
User: N/A
Computer: ******
Description:
The OpsMgr Connector connected to ****** but the connection was closed immediately after authentication occured. The most likely cause of this error is that the agent is not authorized to communicate with the server, or the server has not received configuration. Check the event log on the server for the presence of 20000 events, indicating that agents which are not approved are attempting to connect.
And this as well
Event Type: Error
Event Source: OpsMgr Connector
Event Category: None
Event ID: 21016
Date: 06/25/2009
Time: 10:06:18 AM
User: N/A
Computer: ******
Description:
OpsMgr was unable to set up a communications channel to **** and there are no failover hosts. Communication will resume when ******* is both available and allows communication from this computer.
And this
OpsMgr has no configuration for management group Servername_MG and is requesting new configuration from the Configuration Service.Hey Nathan,
Yea I have sent the script to eveyone that has aked for it. I dont know if its helped anybody else as none has given me any feedback either way.
I guess I can post it here for everyone to use.
Please keep in mind that if you use this script from MS its at your own risk, If your DB blows up, massive catastrophic failure ensues and so forth ITS YOUR OWN FAULT. MAKE SURE YOU HAVE GOOD BACKUPS
Step 1) Run this against your SCE 2007 DB
DECLARE @BaseManagedEntityInternalId int
DECLARE @BaseManagedEntityId uniqueidentifier
DECLARE @ViewName sysname
DECLARE @Statement nvarchar(max)
SET @BaseManagedEntityInternalId = 0
WHILE EXISTS (SELECT * FROM BaseManagedEntity WHERE (BaseManagedEntityInternalId >
@BaseManagedEntityInternalId))
BEGIN
SELECT TOP 1
@BaseManagedEntityInternalId = bme.BaseManagedEntityInternalId
,@BaseManagedEntityId = bme.BaseManagedEntityId
,@ViewName = met.ManagedTypeViewName
FROM BaseManagedEntity bme
JOIN ManagedType met ON (bme.BaseManagedTypeId = met.ManagedTypeId)
WHERE (bme.BaseManagedEntityInternalId > @BaseManagedEntityInternalId)
AND (bme.IsDeleted = 0)
ORDER BY BaseManagedEntityInternalId
SELECT @Statement = 'IF NOT EXISTS (SELECT * FROM ' + QUOTENAME(@ViewName) + '
WHERE BaseManagedEntityId = ''' + CAST(@BaseManagedEntityId AS varchar(50)) + ''')
PRINT ''' + CAST(@BaseManagedEntityId AS varchar(50)) + ' ' + @ViewName + ''''
EXECUTE(@Statement)
END
STEP 2)
If your problem was the same a mine you should get some GUID’s returned. (For example 93790c0B-09C4-3A4D-CE72-F4E3Dd917D78 MTV_DeploymentSettings)
Using the GUID that we got in the output file
Execute the below given query:
==========================
select fullname
from basemanagedentity
where basemanagedentityid = ‘<GUID>’
==========================
Verify that the device or the object mentioned in the above output is not displayed in Operations console.
Only in case if the object is not displayed then use the below given query to delete it from database.
==========================
update basemanagedentity
set isdeleted = 1
where basemanagedentityid = ‘<GUID>’
==========================
Before executing the above query please ensure that you have the backup of the database. Also note that you need to run the above said query only incase if you do not see the object in the Operations console.
After executing this query, run this stored procedure:
==========================
exec p_Detectandfixinstancespaceinconsistencies
==========================
Once it is done:
> Stop all the three OpsMgr services: health, Config and SDK on Management Server
> Cleared the health service state folder.
> Start all the three OpsMgr services: SDK, Config, and health on Management Server.
> Wait for 30 minutes and see if the agents start getting monitored.
I hope this helps everyone -
Setting primary key fields from sequence. Please advise
What is the most logical place to automatically set primary key fields from
sequence?
jdoPrestore seems to be a little late - my instance will not have id till
it's committed. I can not do it in constructor because it gets called every
time Kodo needs to construct an instance. What other options do I have for
automatic pk assignment except do it in my code (hate it)?
I wish I could use store managed OIDs but I need access to OID underlying
data
Please also see my previous message "Application Identity Extention"I came up with following pattern:
public class OrgUnit implements InstanceCallbacks {
private long orgUnitId = -1;
private transient long tempOrgUnitId = -1;
public long getOrgUnitId() {
if (orgUnitId < 0) {
if (tempOrgUnitId < 0) {
tempOrgUnitId = JDOFactory.getNextSequenceId(getClass());
return tempOrgUnitId;
} else {
return orgUnitId;
public void jdoPreStore() {
if (!JDOHelper.isDeleted(this)) {
if (orgUnitId < 0) {
setOrgUnitId(getOrgUnitId());
I use -1 as an indicator that ID has not been assigned yet. If you use Long
instead of long it will be cleaner since we can test for null
"Alex Roytman" <[email protected]> wrote in message
news:9q27co$r35$[email protected]..
What is the most logical place to automatically set primary key fieldsfrom
sequence?
jdoPrestore seems to be a little late - my instance will not have id till
it's committed. I can not do it in constructor because it gets calledevery
time Kodo needs to construct an instance. What other options do I have for
automatic pk assignment except do it in my code (hate it)?
I wish I could use store managed OIDs but I need access to OID underlying
data
Please also see my previous message "Application Identity Extention" -
CCA 8.1.2 FP2 Oracle 4.5 Linux Bea 10 MP1 - Unable to Process Hashtable
Hi,
I am able to login to TAW successfully. But when I tried to add a new workgroup or add number of users in the licensing tab or anything to do with the update into db, I am getting this error.
=================================
[DEPLOYMENT, 03:31:09 11:28:13] TAW: started service HistoryRoutingTransfers
[DEPLOYMENT, 03:31:09 11:28:13] TAW: started service DataDatabaseConnections
[DEPLOYMENT, 03:31:09 11:28:13] TAW: started service ProjectsSMSs
[DEPLOYMENT, 03:31:09 11:28:13] TAW: started service Session
[DEPLOYMENT, 03:31:09 11:28:13] TAW: started service QualityControls
[DEPLOYMENT, 03:31:09 11:28:13] TAW: started service DataProjectMenus
[DEPLOYMENT, 03:31:09 11:28:13] TAW: started service TablesSynchronization
[DEPLOYMENT, 03:31:09 11:28:13] TAW: started service UserLogins
[DEPLOYMENT, 03:31:09 11:28:13] TAW: started service ProjectStats
[DEPLOYMENT, 03:31:09 11:28:13] TAW: started service Campaigns
[DEPLOYMENT, 03:31:09 11:28:13] TAW: started service DataUsers
[DEPLOYMENT, 03:31:09 11:28:13] TAW: started service InteractionsPeak
[DEPLOYMENT, 03:31:09 11:28:13] TAW: started service Workgroups
[DEPLOYMENT, 03:31:09 11:28:13] TAW: started service ProjectsWebCallbacks
[DEPLOYMENT, 03:31:09 11:28:13] TAW: started service Projects
[DEPLOYMENT, 03:31:09 11:28:13] TAW: started service WorkgroupStats
[DEPLOYMENT, 03:31:09 11:28:13] TAW: started service ClientsHistories
[DEPLOYMENT, 03:31:09 11:28:13] TAW: started service DataLibraryUrls
[DEPLOYMENT, 03:31:09 11:28:14] TAW: started service FileTransfers
[DEPLOYMENT, 03:31:09 11:28:14] TAW: started service Users
[DEPLOYMENT, 03:31:09 11:28:14] TAW: started service DataLanguages
[DEPLOYMENT, 03:31:09 11:28:14] TAW: started service ProjectsEmails
[DEPLOYMENT, 03:31:09 11:28:14] TAW: started service system/console
[DEPLOYMENT, 03:31:09 11:28:14] TAW: started service UserStats
[DEPLOYMENT, 03:31:09 11:28:14] TAW: started service HistoryRoutingWorkgroups
log4j:WARN No appenders could be found for logger (Revision: 11 ).
log4j:WARN Please initialize the log4j system properly.
604 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] INFO Revision: 1 - Initializing Logging System.
31 Mar 2009 11:28:15,313 Revision: 1 Debug.java init Line:64 : - Logging pattern set to : %d{DATE} %-15c %-25.25F %-25.25M Line:%-4L: - %m
31 Mar 2009 11:28:15,383 Revision: 1 Debug.java init Line:65 : - Max Number of Rolling Logs set to : 5
31 Mar 2009 11:28:15,384 Revision: 1 Debug.java init Line:66 : - Max Logfile size set to : 5000 KB
31 Mar 2009 11:28:15,385 Revision: 1 Debug.java init Line:67 : - Log file path set to : /ccamain/bea/user_projects/domains/base_domain/applications/cca/WEB-INF/logs/ccalnxvm-cca.log
31 Mar 2009 11:28:15,387 Revision: 1 Debug.java init Line:68 : - Priority set to : INFO
31 Mar 2009 11:28:15,411 Revision: 1 Debug.java init Line:69 : - Finished Initializing Logging System.
31 Mar 2009 11:28:15,592 Revision: 10 DatabaseService.java query Line:408 : - Query on [CCA_PRIVATE_DATASOURCE] with [SELECT tcpipbusport, urlforccatotawreports, casesensitiveauthentication ,casesensitivesearch FROM SystemConfiguration]
31 Mar 2009 11:28:15,639 Revision: 10 DatabaseService.java query Line:493 : - SELECT tcpipbusport, urlforccatotawreports, casesensitiveauthentication ,casesensitivesearch FROM SystemConfiguration delay to execute in milliseconds 34
31 Mar 2009 11:28:15,644 Revision: 10 DatabaseService.java query Line:408 : - Query on [CCA_PRIVATE_DATASOURCE] with [SELECT localelanguageid, language, country, filename, lastmodifieddate FROM LocaleLanguages where usage=1]
31 Mar 2009 11:28:15,649 Revision: 10 DatabaseService.java query Line:493 : - SELECT localelanguageid, language, country, filename,lastmodifieddate FROM LocaleLanguages where usage=1 delay to execute in milliseconds 2
31 Mar 2009 11:28:15,685 Revision: 10 DatabaseService.java executeQuery Line:283 : - CCA ExecuteQuery on [CCA_PRIVATE_DATASOURCE] with [SELECT parametername, parametervalue FROM filetransferconfiguration WHERE type = 0]
31 Mar 2009 11:28:15,730 Revision: 10 DatabaseService.java executeQuery Line:334 : - SELECT parametername, parametervalue FROM filetransferconfiguration WHERE type = 0 delay to execute in milliseconds 40
31 Mar 2009 11:28:16,004 Revision: 10 DatabaseService.java executeQuery Line:283 : - CCA ExecuteQuery on [CCA_PRIVATE_DATASOURCE] with [SELECT parametername, parametervalue FROM filetransferconfiguration WHERE type = 1]
31 Mar 2009 11:28:16,009 Revision: 10 DatabaseService.java executeQuery Line:334 : - SELECT parametername, parametervalue FROM filetransferconfiguration WHERE type = 1 delay to execute in milliseconds 1
31 Mar 2009 11:28:16,031 Revision: 11 CCAComponentManager.java initializeBusConnections Line:166 : - Creating physical bus connections
31 Mar 2009 11:28:16,036 Revision: 4 MessageSender.java connect Line:55 : - MessageSender attempting to connect to 192.168.1.2
31 Mar 2009 11:28:16,041 Revision: 3 BusConnection.java connect Line:68 : - Connected to host 192.168.1.2 on port 8888
31 Mar 2009 11:28:16,200 Revision: 11 CCAComponentManager.java initializeBusConnections Line:177 : - Found host 192.168.1.2
31 Mar 2009 11:28:16,409 Revision: 5 BusClient.java connect Line:205 : - [CONNECTED] [BusClient 1238524097, IP 192.168.1.2]
31 Mar 2009 11:28:16,752 Revision: 11 CCAComponentManager.java initializeBusConnections Line:177 : - Found host 192.168.1.2
31 Mar 2009 11:28:16,754 Revision: 2 BusHandler.java startBusClient Line:69 : - Host 192.168.1.2 already exists
31 Mar 2009 11:28:16,796 Revision: 11 CCAComponentManager.java initializeMessageCenter Line:192 : - Maximum number of sessions set to 500
31 Mar 2009 11:28:16,800 Revision: 11 CCAComponentManager.java initializeMessageCenter Line:197 : - Maximum session size set to 1000 KB
31 Mar 2009 11:28:16,882 Revision: 9 BusClient_IM.java socketConnect Line:153 : - [SOCKET_CONNECT, IMServer 9, Company 1] [BusClient 1238524097, IP 192.168.1.2]
31 Mar 2009 11:28:16,886 Revision: 2 BusHandler.java addIMServer Line:96 : - Adding IMServer for Company 1
31 Mar 2009 11:28:17,040 Revision: 9 BusClient_IM.java socketConnect Line:167 : - Total # of IMServers for Company 1 = 1
31 Mar 2009 11:28:17,664 [192.168.1.2] DEBUG Revision: 21 .handleMessage(BusClient_IM.java:142) - ************** [KEEP_ALIVE 192.168.1.2 ] **************
31 Mar 2009 11:28:18,208 Revision: 10 DatabaseService.java executeQuery Line:283 : - CCA ExecuteQuery on [CCA_PRIVATE_DATASOURCE] with [SELECT name, tableid, positionid, datatype from dynamicupdatesfields ORDER BY tableId]
31 Mar 2009 11:28:18,496 Revision: 10 DatabaseService.java executeQuery Line:334 : - SELECT name, tableid, positionid, datatype from dynamicupdatesfields ORDER BY tableId delay to execute in milliseconds 285
<Mar 31, 2009 11:28:18 AM PDT> <Notice> <Log Management> <BEA-170027> <The server initialized the domain log broadcaster successfully. Log messages will now bebroadcasted to the domain log.>
<Mar 31, 2009 11:28:19 AM PDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to ADMIN>
<Mar 31, 2009 11:28:19 AM PDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RESUMING>
<Mar 31, 2009 11:28:20 AM PDT> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 192.168.1.2:80 for protocols iiop, t3, ldap, snmp, http.>
<Mar 31, 2009 11:28:20 AM PDT> <Notice> <Server> <BEA-002613> <Channel "Default[1]" is now listening on 127.0.0.1:80 for protocols iiop, t3, ldap, snmp, http.>
<Mar 31, 2009 11:28:20 AM PDT> <Notice> <WebLogicServer> <BEA-000329> <Started WebLogic Admin Server "AdminServer" for domain "base_domain1" running in Production Mode>
<Mar 31, 2009 11:28:20 AM PDT> <Warning> <Server> <BEA-002611> <Hostname "OEL4", maps to multiple IP addresses: 192.168.1.2, 127.0.0.1>
<Mar 31, 2009 11:28:20 AM PDT> <Warning> <Server> <BEA-002611> <Hostname "ccalnxvm", maps to multiple IP addresses: 192.168.1.2, 127.0.0.1>
<Mar 31, 2009 11:28:21 AM PDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING>
<Mar 31, 2009 11:28:21 AM PDT> <Notice> <WebLogicServer> <BEA-000360> <Server started in RUNNING mode>
31 Mar 2009 11:28:25,810 [192.168.1.2] DEBUG Revision: 21 .handleMessage(BusClient_IM.java:142) - ************** [KEEP_ALIVE 192.168.1.2 ] **************
31 Mar 2009 11:28:33,658 [192.168.1.2] DEBUG Revision: 21 .handleMessage(BusClient_IM.java:142) - ************** [KEEP_ALIVE 192.168.1.2 ] **************
31 Mar 2009 11:28:41,679 [192.168.1.2] DEBUG Revision: 21 .handleMessage(BusClient_IM.java:142) - ************** [KEEP_ALIVE 192.168.1.2 ] **************
31 Mar 2009 11:28:49,813 [192.168.1.2] DEBUG Revision: 21 .handleMessage(BusClient_IM.java:142) - ************** [KEEP_ALIVE 192.168.1.2 ] **************
31 Mar 2009 11:28:57,787 [192.168.1.2] DEBUG Revision: 21 .handleMessage(BusClient_IM.java:142) - ************** [KEEP_ALIVE 192.168.1.2 ] **************
31 Mar 2009 11:29:05,807 [192.168.1.2] DEBUG Revision: 21 .handleMessage(BusClient_IM.java:142) - ************** [KEEP_ALIVE 192.168.1.2 ] **************
31 Mar 2009 11:29:13,828 [192.168.1.2] DEBUG Revision: 21 .handleMessage(BusClient_IM.java:142) - ************** [KEEP_ALIVE 192.168.1.2 ] **************
31 Mar 2009 11:29:21,845 [192.168.1.2] DEBUG Revision: 21 .handleMessage(BusClient_IM.java:142) - ************** [KEEP_ALIVE 192.168.1.2 ] **************
<Mar 31, 2009 11:29:22 AM PDT> <Notice> <Security> <BEA-090078> <User in security realm myrealm has had 5 invalid login attempts, locking account for 5 minutes.>
31 Mar 2009 11:29:29,871 [192.168.1.2] DEBUG Revision: 21 .handleMessage(BusClient_IM.java:142) - ************** [KEEP_ALIVE 192.168.1.2 ] **************
31 Mar 2009 11:29:37,065 [192.168.1.2] DEBUG Revision: 21 .handleMessage(BusClient_IM.java:142) - ************** [KEEP_ALIVE 192.168.1.2 ] **************
31 Mar 2009 11:29:45,108 [192.168.1.2] DEBUG Revision: 21 .handleMessage(BusClient_IM.java:142) - ************** [KEEP_ALIVE 192.168.1.2 ] **************
31 Mar 2009 11:29:48,723 [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQuery(DatabaseService.java:281) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [Select systempackageid, resourcebundlekey, packageconfigurable, sequence, defaultSelection from systempackage where packageconfigurable=1 AND isdeleted=0]
31 Mar 2009 11:29:48,742 [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:48,792 [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQuery(DatabaseService.java:281) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [SELECT name, tableid, positionid, datatype from dynamicupdatesfields ORDER BY tableId]
31 Mar 2009 11:29:48,799 [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:49,018 [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQuery(DatabaseService.java:281) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [SELECT resourceid, tableid, broadcast from dynamicupdatesresources ORDER BY tableId]
31 Mar 2009 11:29:49,022 [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:49,052 [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQuery(DatabaseService.java:281) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [select languagelibraryidas libraryid from companies where companyId = -1]
31 Mar 2009 11:29:49,054 [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:49,061 [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQuery(DatabaseService.java:281) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [select name, descriptionfrom regionalizationlibrary where regionalizationlibraryid=1 AND isdeleted=0]
31 Mar 2009 11:29:49,064 [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:49,072 [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQuery(DatabaseService.java:281) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [select lk.value as displayname, ltl.elementid, sequence, regionalizationlibraryid from regionalizationlibraryelements ltl, localelanguages ll, localekeys lk where ltl.regionalizationlibraryid=1 AND ll.usage=1 AND lk.localelanguageid=ll.localelanguageid AND lk.localevariantid=1 AND ll.localelanguageid = ltl.elementid and (ll.language || '_' ||ll.country) = lk.keyid AND ltl.isdeleted=0]
31 Mar 2009 11:29:49,116 [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:49,126 [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQuery(DatabaseService.java:281) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [select lk.value as displayname, ll.localelanguageid as elementid from localelanguages ll, localekeys lkwhere ll.usage=1 AND lk.localelanguageid=-99 AND lk.localevariantid=1 AND (ll.language || '_' || ll.country) = lk.keyid AND (ll.localelanguageid not in( select ltli.elementid from regionalizationlibraryelements ltli where ltli.isdeleted = 0 and ltli.regionalizationlibraryid=1)) ]
31 Mar 2009 11:29:49,130 [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:49,133 [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG RegionalizationLibrary.populateBean(RegionalizationLibrary.java:208) - command[]_state[2]_languageId[2]_sequence[2]_displayName[English (GB)]_state[2]_languageId[4]_sequence[4]_displayName[Français (France)]_state[2]_languageId[11]_sequence[3]_displayName[Français (CA)]_state[2]_languageId[1]_sequence[0]_displayName[English (US)]_state[2]_languageId[7]_sequence[5]_displayName[Español (México)]_state[2]_languageId[12]_sequence[1]_displayName[English (AU)]
31 Mar 2009 11:29:49,169 [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG RegionalizationLibrary.getLanguagesFormatter(RegionalizationLibrary.java:492) - ****Creating new LanguagesFormatter
31 Mar 2009 11:29:53,126 [192.168.1.2] DEBUG Revision: 21 .handleMessage(BusClient_IM.java:142) - ************** [KEEP_ALIVE 192.168.1.2 ] **************
31 Mar 2009 11:29:54,422 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 38 .doPost(ProxyLoginHandler.java:118) - Received action [1002]
31 Mar 2009 11:29:54,496 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQueryPrepared(DatabaseService.java:324) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [SELECT companyid, name, alias, timezone, dateformatid, remotecontacts, remoteclienthistory, remotequalitycontrol, externalapp, runapp, textlabel, htmlfile, enablecustomtab, countryid, enableexternalapp, enablepredictive, enablepreview, donotrecordstatus, applicationtype, runhtmlapp, enabledialout, securitypolicyid, displayname, templateid FROM companies WHERE (alias = ?) AND (isdeleted = 0)]
31 Mar 2009 11:29:54,497 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:54,617 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQuery(DatabaseService.java:281) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [Select templateid from companies where companyid=1]
31 Mar 2009 11:29:54,620 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:54,678 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQuery(DatabaseService.java:281) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [SELECT optionid, optionvalue FROM companytemplateinstances where templateid=101 AND isdeleted=0]
31 Mar 2009 11:29:54,681 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:54,689 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] INFO Revision: 38 .authenticate(ProxyLoginHandler.java:191) - Login type [1002] Alias [system] Username [netadmin] Password [**********] Language Id [1]
31 Mar 2009 11:29:54,693 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQuery(DatabaseService.java:281) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [select languagelibraryidas libraryid from companies where companyId = 1]
31 Mar 2009 11:29:54,695 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:54,699 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQuery(DatabaseService.java:281) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [select name, descriptionfrom regionalizationlibrary where regionalizationlibraryid=1 AND isdeleted=0]
31 Mar 2009 11:29:54,701 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:54,704 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQuery(DatabaseService.java:281) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [select lk.value as displayname, ltl.elementid, sequence, regionalizationlibraryid from regionalizationlibraryelements ltl, localelanguages ll, localekeys lk where ltl.regionalizationlibraryid=1 AND ll.usage=1 AND lk.localelanguageid=1 AND lk.localevariantid=1 AND ll.localelanguageid = ltl.elementid and (ll.language || '_' || ll.country) = lk.keyid AND ltl.isdeleted=0]
31 Mar 2009 11:29:54,707 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:54,711 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQuery(DatabaseService.java:281) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [select lk.value as displayname, ll.localelanguageid as elementid from localelanguages ll, localekeys lkwhere ll.usage=1 AND lk.localelanguageid=1 AND lk.localevariantid=1 AND (ll.language || '_' || ll.country) = lk.keyid AND (ll.localelanguageid not in( select ltli.elementid from regionalizationlibraryelements ltli where ltli.isdeleted = 0 and ltli.regionalizationlibraryid=1)) ]
31 Mar 2009 11:29:54,714 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:54,775 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG RegionalizationLibrary.populateBean(RegionalizationLibrary.java:208) - command[]_state[2]_languageId[2]_sequence[2]_displayName[English (GB)]_state[2]_languageId[4]_sequence[4]_displayName[French (FR)]_state[2]_languageId[11]_sequence[3]_displayName[French (CA)]_state[2]_languageId[1]_sequence[0]_displayName[English (US)]_state[2]_languageId[7]_sequence[5]_displayName[Spanish (MX)]_state[2]_languageId[12]_sequence[1]_displayName[English (AU)]
31 Mar 2009 11:29:54,777 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG RegionalizationLibrary.getLanguagesFormatter(RegionalizationLibrary.java:492) - ****Creating new LanguagesFormatter
31 Mar 2009 11:29:54,780 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 38 .getDefinedLanguageId(ProxyLoginHandler.java:942) - Regionalization returning case 1 in list [1]
31 Mar 2009 11:29:54,868 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQuery(DatabaseService.java:281) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [SELECT jrelibraryid, name, description, version, classid, cabdownloadurl, type, defaultjre, sequence, isdeleted FROM jreslibrary WHERE isdeleted=0 ORDER BY sequence ASC]
31 Mar 2009 11:29:54,871 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:54:902 DEBUG [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] UserConfiguration [Revision: 18] - Load User Configuration
31 Mar 2009 11:29:54,902 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG UserConfiguration [Revision: 18].load(UserConfiguration.java:101) - Load User Configuration
31 Mar 2009 11:29:55,052 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQueryPrepared(DatabaseService.java:324) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [SELECT u.userid,u.username, u.commtype, u.wrapuptime, u.userdeparturereasonid, u.popoutcome, u.enablerecording, u.popupscreen, u.playsound, u.firstname, u.lastname, u.password, u.permission, u.numberoflogin, u.lastlogin, u.extension, u.comm, u.soundfile, u.departuredate, u.emailclient, u.emailaddress, u.timezone, u.dateformatid, u.definedtimezone, u.defineddateformat, u.enablelongdistance, u.departmentid, u.commctyid, u.usercountrycodeid, u.usernameUploadedDate, u.usernamePromptLocation, u.greetingUploadedDate, u.greetingPromptLocation, u.maxchats, u.maxemails, u.offhook, u.autocallaccept, u.announcement, u.logintimeout, u.defaultbillingprojectid,u.enabledialout, u.playwelcomeprompt, u.welcomepromptlocation, u.welcomeuploadeddate, u.voicemailretrieval, u.icontype, u.supervisorpermission, u.disablecalltrace, u.disablevnc FROM users u, companies c WHERE u.isdeleted=0 AND u.permission<>64 AND c.isdeleted=0 AND u.userdeparturereasonid=-1 AND u.companyid = 1 AND c.companyid = 1 AND u.username = ? ]
31 Mar 2009 11:29:55,056 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:55,136 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQuery(DatabaseService.java:281) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [SELECT companyid, userid, type, closeconnection, disableusercache, debuglevel, enabletelnet, timetologin, enablelogfile, logfilepath, pingdelay, disablewrapuptimer, disableelapsedtimer, disablephonestatetimer, allowmultiacdinter, allowoutboundcalls, urltimeout, hotkeyenabled, jrelibraryid FROM agentconsoleconfiguration WHERE companyid=1 AND userid=1 AND isdeleted=0]
31 Mar 2009 11:29:55,228 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:55,232 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQuery(DatabaseService.java:281) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [SELECT jrelibraryid, name, description, version, classid, cabdownloadurl, type, defaultjre, sequence, isdeleted FROM jreslibrary WHERE isdeleted=0 ORDER BY sequence ASC]
31 Mar 2009 11:29:55,235 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:55:238 INFO [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] UserAuthentication [Revision: 22] -
loading user
31 Mar 2009 11:29:55,238 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] INFO UserAuthentication [Revision: 22].load(UserAuthentication.java:399) -
loading user
31 Mar 2009 11:29:55,241 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQueryPrepared(DatabaseService.java:324) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [SELECT u.userid,u.permission, u.password, u.numberoflogin, u.lastlogin, u.accountactive FROM users u WHERE u.isdeleted=0 AND u.permission<>64 AND u.companyid = 1 AND u.username = ? ]
31 Mar 2009 11:29:55,244 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:55,290 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeUpdate(DatabaseService.java:189) - Execute update on [TAW_PRIVATE_DATASOURCE] with [UPDATE users SET numberoflogin=numberoflogin+1 WHERE userid=1 AND isdeleted=0 AND companyid=1]
31 Mar 2009 11:29:55,293 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:55,453 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQuery(DatabaseService.java:281) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [SELECT hasalphabeticchar, hasnumericchar, hasspecialchar, hasupperchar, haslowerchar, passwordlength, maxloginattempt, lockingaccountpolicy, lockingaccountduration, disableinactiveaccount, maxinactivedays FROM tawpasswordpolicy WHERE companyid=1 AND isdeleted=0]
31 Mar 2009 11:29:55,455 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:55,461 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQueryPrepared(DatabaseService.java:324) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [SELECT u.userid,u.permission, u.password, u.numberoflogin, u.lastlogin FROM users u WHERE u.isdeleted=0 AND u.permission<>64 AND u.companyid = 1 AND u.username = ? ]
31 Mar 2009 11:29:55,463 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:55,636 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .executeQuery(DatabaseService.java:281) - ExecuteQuery on [TAW_PRIVATE_DATASOURCE] with [SELECT hasalphabeticchar, hasnumericchar, hasspecialchar, hasupperchar, haslowerchar, passwordlength, maxloginattempt, lockingaccountpolicy, lockingaccountduration, disableinactiveaccount, maxinactivedays FROM tawpasswordpolicy WHERE companyid=1 AND isdeleted=0]
31 Mar 2009 11:29:55,643 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG Revision: 13 .getDBConnection(DatabaseService.java:492) - got connection successfully
31 Mar 2009 11:29:55:646 DEBUG [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] UserAuthentication [Revision: 22] -
Security policy never locked
31 Mar 2009 11:29:55,646 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG UserAuthentication [Revision: 22].accountLocked(UserAuthentication.java:214) -
Security policy never locked
31 Mar 2009 11:29:55:648 DEBUG [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] UserAuthentication [Revision: 22] - User Authentication validation username=netadmin result = 1
31 Mar 2009 11:29:55,648 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG UserAuthentication [Revision: 22].validate(UserAuthentication.java:172) - User Authentication validation username=netadmin result = 1
31 Mar 2009 11:29:55,651 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUGhello im having problem installing CCA812 on RHEL 4.5 and Oracle 10gR2, however i successfully installed the RHEL 4, database and oracle client.
now would like to install tcpipbus but got this error " bash: tcpipbus: command not found". I know that this is related in enviroment path.
any idea? -
Hi,
I have a question regarding use of Domain Model pattern. In our project we are creating customer profiles. We have modeled profile like this
class Profile {
Name name;
List<Address> addressList;
List <Phone> phoneList;
We have CRUD operations for Profile, Addresses, and Phones.
For crud operations, we have DAO facade like this
class ProfileDao {
void insertProfile(Profile profile);
void Profile getProfile(String profileId);
void addAddress(String profileId, Address a);
void addPhone(String profileId, Phone p);
void updateAddress(String addressId, Address a);
void updatePhone(String phoneId, Phone p);
void deleteAddress(String addressId);
void deletePhone(String phoneId);
Client for this code will be like this.
class ProfileClient {
void testAddAddress() {
Address address = new Address("112 Fifth Street", "NJ", "US", "08857");
String profileId = getProfileIdentifier();
getProfileDao().update(profileId, address);
Instead of using Facade like this, I thought we could use it like following.
1. Clients will do all CRUD operations on Profile object itself.
2. All the classes will have isUpdated, isNew and isDeleted flag.
3. Dao will have just one update(Profile p) method.
4. Dao will check for updates and make queries accordingly
Dao will now become like this.
class ProfileDao {
void insertProfile(Profile profile);
void Profile getProfile(String profileId);
void update(Profile p);
Client for this code will be like this.
class ProfileClient {
void testAddAddress() {
Address address = new Address("112 Fifth Street", "NJ", "US", "08857");
Profile p = getProfile();
p.addAddress(address);
getProfileDao().update(profile);
This second approach looks cleaner, but the concern raised by my team mates is that every time I need to add, update, delete a single address, I need to load whole profile object in memory. This looks more like a "stateful" implementation as opposed to "stateless" implementation of Dao Facade. If Profile object is a huge one, then it can be a overkill to load the whole object just to add/change one address. But I certainly dont like the facade implementation. It does not allow me to do inserts/updates/deletes in batch. I have to do operations one at a time. Secondly any object level validations or business rules (Like Profile should have only one delivery address) are harder to implement in facade approach. What is your opinion on this? Is this a standard Domain Model vs Transaction Script issue?Hi,
I have a question regarding use of Domain Model
pattern. In our project we are creating customer
profiles. We have modeled profile like this
class Profile {
Name name;
List<Address> addressList;
List <Phone> phoneList;
We have CRUD operations for Profile, Addresses, and
Phones.
For crud operations, we have DAO facade like this
class ProfileDao {
void insertProfile(Profile profile);
void Profile getProfile(String profileId);
void addAddress(String profileId, Address a);
void addPhone(String profileId, Phone p);
void updateAddress(String addressId, Address a);
void updatePhone(String phoneId, Phone p);
void deleteAddress(String addressId);
void deletePhone(String phoneId);
Client for this code will be like this.
class ProfileClient {
void testAddAddress() {
Address address = new Address("112 Fifth Street",
, "NJ", "US", "08857");
String profileId = getProfileIdentifier();
getProfileDao().update(profileId, address);
Instead of using Facade like this, I thought we
e could use it like following.
1. Clients will do all CRUD operations on Profile
e object itself.
2. All the classes will have isUpdated, isNew and
d isDeleted flag.
3. Dao will have just one update(Profile p)
) method.
4. Dao will check for updates and make queries
s accordingly
Dao will now become like this.
class ProfileDao {
void insertProfile(Profile profile);
void Profile getProfile(String profileId);
void update(Profile p);
Client for this code will be like this.
class ProfileClient {
void testAddAddress() {
Address address = new Address("112 Fifth Street",
, "NJ", "US", "08857");
Profile p = getProfile();
p.addAddress(address);
getProfileDao().update(profile);
This second approach looks cleaner, but the concern
raised by my team mates is that every time I need to
add, update, delete a single address, I need to load
whole profile object in memory. This looks more like
a "stateful" implementation as opposed to "stateless"
implementation of Dao Facade. Stateful would only occur if the profile remained in session between requests. You can have a memory-intensive, stateless object (which I think is what you are concerned about).
If Profile object is a
huge one, then it can be a overkill to load the whole
object just to add/change one address. But I
certainly dont like the facade implementation. It
does not allow me to do inserts/updates/deletes in
batch. I have to do operations one at a time.I do not see how either of the designs above has a method siguature for batch operations. That having been said, this is no issue. Have an overloaded version of each method that also takes a Connection (or custom transaction) object. You can then execute each step "one at a time" but within a given transaction that can be committed as a logical unit of work.
If you are indeed concerned about memory requirements, consider implementing Lazy Load. Or have Hibernate do it for you.
Secondly any object level validations or business
rules (Like Profile should have only one delivery
address) are harder to implement in facade approach.
What is your opinion on this? Is this a standard
Domain Model vs Transaction Script issue?Your DAO's seem to be your main issue and not the domain model. Transaction Script assumes there is a strong relationship between the relational and object models. O/R mapping technologies will tend to push you in this direction . Custom DAO's (via JDBC) can work in either instance. However, you should focus more on your model domain first, and then worry about its persistence afterwards (ideally). Your business logic will be implemented. How that object is persisted, while important from a performance consideration, should not overly affect your model domain.
- Saish -
How can i improve on this join clause
I have a table like this
desc work_table2
WORK_TABLE2_ID NOT NULL NUMBER
APPLICATION_ID NUMBER
APPLICATION_VERSION NUMBER
JOB_ID NUMBER
CUSTOMER_ID NUMBER
ATTRIBUTE_ID NUMBER
TEMPLATE_ID NUMBER
DISTRICT_ID NUMBER
SCHOOL_OID VARCHAR2(32)
PERSON_OID VARCHAR2(32)
CREATE_DATETIME DATE
SCHEMA_NAME VARCHAR2(32)
TABLE_NAME VARCHAR2(32)
COLUMN_NAME VARCHAR2(32)
ROW_ID NUMBER
VALUE VARCHAR2(100)
ACTION VARCHAR2(15)
CIA_VERSION NOT NULL NUMBER
SUB_ROW_ID NUMBER(9)
This is table from which I will be inserting data into other tables. Some sort of standby data table.
Data in this table comes in column format which i
convert into a row. i.e for 1 row in the target table comprises of 10 columns
then i get 10 different rows for that in work_table2
The important columns here are table_name, column_name, value which gives me
the table in which i have to insert the values, the columns of the table & the required values.
I create views out of this table so i can directly insert into the destination tables from
the views. The tables to insert into reside in another schema.
Apart from these columns I also require the job_id, customer_id, action column
which are part of the tables i am going to insert into but will not come from the
column_name column of the work_table2 but do come as separate columns in work_table2
For every row to be inserted into the table i take row_id as the separator and
use it in my join clause
In some cases i get the same row_id for two different rows so i use sub_row_id to get individual rows.
In some cases it is quite possible that i may not get data for few of the columns of the target table. In that case I have I have to show null values in the empty columns
Here is the query i use to create the view. Actually i have created a view generator
PLSQL code which automatically creates views for all the tables.
Though this query gives me the desired output I am very scared looking at the join clause
Could you suggest a better way to get the output
CREATE OR REPLACE VIEW CDL_BELLPERIODMASTER
( OID, CUSTOMER_ID, ORGUNIT_OID, BELLPERIODSET_OID, PERIOD_NUMBER,
SHORT_LABEL, NAME, DESCRIPTION, BEGIN_TIME,
END_TIME, CREATEDBY_OID, CREATEDATE, UPDATEDATE,
ORIGINTYPECD_OID, OWNER_ORGUNIT_OID, CREATE_BY, UPDATE_BY,
UPDATE_DATE, YEAR_TAGGED, APPLICATION_VERSION, INACTIVESTATUS,
ISDELETED, JOB_ID, ACTION )
AS
SELECT OID.value,CUSTOMER_ID.value,ORGUNIT_OID.value,BELLPERIODSET_OID.value,
PERIOD_NUMBER.value,SHORT_LABEL.value,NAME.value,DESCRIPTION.value,
BEGIN_TIME.value,END_TIME.value,CREATEDBY_OID.value,CREATEDATE.value,
UPDATEDATE.value,ORIGINTYPECD_OID.value,OWNER_ORGUNIT_OID.value,
CREATE_BY.value,UPDATE_BY.value,UPDATE_DATE.value,
YEAR_TAGGED.value,APPLICATION_VERSION.value,INACTIVESTATUS.value,
ISDELETED.value,jobs.job_id, act. action
FROM
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='OID') OID,
(SELECT TO_NUMBER(VALUE) value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='CUSTOMER_ID') CUSTOMER_ID,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='ORGUNIT_OID') ORGUNIT_OID,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='BELLPERIODSET_OID')
BELLPERIODSET_OID,
(SELECT TO_NUMBER(VALUE) value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='PERIOD_NUMBER')
PERIOD_NUMBER,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2 WHERE
table_name='WSF_BELLPERIODMASTER' and column_name ='SHORT_LABEL') SHORT_LABEL,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2 WHERE
table_name='WSF_BELLPERIODMASTER' and column_name ='NAME') NAME,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='DESCRIPTION') DESCRIPTION,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='BEGIN_TIME') BEGIN_TIME,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='END_TIME') END_TIME,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2 WHERE
table_name='WSF_BELLPERIODMASTER' and column_name ='CREATEDBY_OID') CREATEDBY_OID,
(SELECT TO_DATE(VALUE,'DD-MON-RRRR') value , row_id, job_id, sub_row_id
FROM work_table2 WHERE table_name='WSF_BELLPERIODMASTER' and
column_name ='CREATEDATE') CREATEDATE,
(SELECT TO_DATE(VALUE,'DD-MON-RRRR') value , row_id, job_id, sub_row_id
FROM work_table2 WHERE table_name='WSF_BELLPERIODMASTER'
and column_name ='UPDATEDATE') UPDATEDATE,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2 WHERE
table_name='WSF_BELLPERIODMASTER' and column_name ='ORIGINTYPECD_OID')
ORIGINTYPECD_OID,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='OWNER_ORGUNIT_OID')
OWNER_ORGUNIT_OID,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2 WHERE
table_name='WSF_BELLPERIODMASTER' and column_name ='CREATE_BY') CREATE_BY,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='UPDATE_BY') UPDATE_BY,
(SELECT TO_DATE(VALUE,'DD-MON-RRRR') value , row_id, job_id, sub_row_id
FROM work_table2 WHERE table_name='WSF_BELLPERIODMASTER' and
column_name ='UPDATE_DATE') UPDATE_DATE,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='YEAR_TAGGED') YEAR_TAGGED,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='APPLICATION_VERSION')
APPLICATION_VERSION,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='INACTIVESTATUS')
INACTIVESTATUS,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='ISDELETED') ISDELETED,
(SELECT decode(upper(ACTION),'W','U',ACTION) action ,row_id, job_id, sub_row_id
FROM work_table2 WHERE table_name='WSF_BELLPERIODMASTER' AND column_name='OID' ) ACT,
(SELECT row_id , job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' AND column_name='OID' ) JOBS
where
OID.job_id=CUSTOMER_ID.job_id(+) and
OID.job_id=ORGUNIT_OID.job_id(+) and
OID.job_id=BELLPERIODSET_OID.job_id(+) and
OID.job_id=PERIOD_NUMBER.job_id(+) and
OID.job_id=SHORT_LABEL.job_id(+) and
OID.job_id=NAME.job_id(+) and
OID.job_id=DESCRIPTION.job_id(+) and
OID.job_id=BEGIN_TIME.job_id(+) and
OID.job_id=END_TIME.job_id(+) and
OID.job_id=CREATEDBY_OID.job_id(+) and
OID.job_id=CREATEDATE.job_id(+) and
OID.job_id=UPDATEDATE.job_id(+) and
OID.job_id=ORIGINTYPECD_OID.job_id(+) and
OID.job_id=OWNER_ORGUNIT_OID.job_id(+) and
OID.job_id=CREATE_BY.job_id(+) and
OID.job_id=UPDATE_BY.job_id(+) and
OID.job_id=UPDATE_DATE.job_id(+) and
OID.job_id=YEAR_TAGGED.job_id(+) and
OID.job_id=APPLICATION_VERSION.job_id(+) and
OID.job_id=INACTIVESTATUS.job_id(+) and
OID.job_id=ISDELETED.job_id(+) and
OID.job_id= ACT.job_id(+) and
OID.job_id = JOBS.job_id(+) and
OID.row_id=CUSTOMER_ID.row_id(+) and
OID.row_id=ORGUNIT_OID.row_id(+) and
OID.row_id=BELLPERIODSET_OID.row_id(+) and
OID.row_id=PERIOD_NUMBER.row_id(+) and
OID.row_id=SHORT_LABEL.row_id(+) and
OID.row_id=NAME.row_id(+) and
OID.row_id=DESCRIPTION.row_id(+) and
OID.row_id=BEGIN_TIME.row_id(+) and
OID.row_id=END_TIME.row_id(+) and
OID.row_id=CREATEDBY_OID.row_id(+) and
OID.row_id=CREATEDATE.row_id(+) and
OID.row_id=UPDATEDATE.row_id(+) and
OID.row_id=ORIGINTYPECD_OID.row_id(+) and
OID.row_id=OWNER_ORGUNIT_OID.row_id(+) and
OID.row_id=CREATE_BY.row_id(+) and
OID.row_id=UPDATE_BY.row_id(+) and
OID.row_id=UPDATE_DATE.row_id(+) and
OID.row_id=YEAR_TAGGED.row_id(+) and
OID.row_id=APPLICATION_VERSION.row_id(+) and
OID.row_id=INACTIVESTATUS.row_id(+) and
OID.row_id=ISDELETED.row_id(+) and
OID.row_id= ACT.row_id(+) and
OID.row_id = JOBS.row_id(+) and
OID.sub_row_id=CUSTOMER_ID.sub_row_id(+) and
OID.sub_row_id=ORGUNIT_OID.sub_row_id(+) and
OID.sub_row_id=BELLPERIODSET_OID.sub_row_id(+) and
OID.sub_row_id=PERIOD_NUMBER.sub_row_id(+) and
OID.sub_row_id=SHORT_LABEL.sub_row_id(+) and
OID.sub_row_id=NAME.sub_row_id(+) and
OID.sub_row_id=DESCRIPTION.sub_row_id(+) and
OID.sub_row_id=BEGIN_TIME.sub_row_id(+) and
OID.sub_row_id=END_TIME.sub_row_id(+) and
OID.sub_row_id=CREATEDBY_OID.sub_row_id(+) and
OID.sub_row_id=CREATEDATE.sub_row_id(+) and
OID.sub_row_id=UPDATEDATE.sub_row_id(+) and
OID.sub_row_id=ORIGINTYPECD_OID.sub_row_id(+) and
OID.sub_row_id=OWNER_ORGUNIT_OID.sub_row_id(+) and
OID.sub_row_id=CREATE_BY.sub_row_id(+) and
OID.sub_row_id=UPDATE_BY.sub_row_id(+) and
OID.sub_row_id=UPDATE_DATE.sub_row_id(+) and
OID.sub_row_id=YEAR_TAGGED.sub_row_id(+) and
OID.sub_row_id=APPLICATION_VERSION.sub_row_id(+) and
OID.sub_row_id=INACTIVESTATUS.sub_row_id(+) and
OID.sub_row_id=ISDELETED.sub_row_id(+) and
OID.sub_row_id= ACT.sub_row_id(+) and
OID.sub_row_id = JOBS.sub_row_id(+)
RgrdsTry to use this sample.
create or replace view v
as
select dept.deptno deptcode, dept.dname deptname, sal amount
from emp, dept
where emp.deptno = dept.deptno
select decode( grouping(rownum), 1, to_number(NULL), deptcode ) deptcode,
deptname || decode( grouping(rownum), 1, ' total amount' ) deptname,
sum(amount),
grouping(deptcode) g1, grouping(deptname) g2, grouping(rownum)
from v
group by rollup(deptcode,deptname,rownum)
having (grouping(deptcode) = 0 and
grouping(deptname) = 0 and
grouping(rownum)=0)
OR (grouping(deptcode) = 0 and
grouping(deptname) = 0 and
grouping(rownum)=1) -
SCSM 2012 - Reporting on Service Level Breached Incidents in SQL Report Builder
Is anyone clever enough to provide the SQL code required for me to run a report showing the id, title, target end date, and support group for any active incident that has breached its SLA?
I want to run this report automatically each morning and email it but just can't work out the SQL codeThis is an example of a SLO report that I came up with. I am sure you can adapt it for your use. It get SLO information on Service Requests. It's a daily report that brings back both worker and support group information.
BEGIN
DECLARE @Now AS SMALLDATETIME;
DECLARE @TBL_ServiceRequests AS TABLE (
SLOtarget SMALLDATETIME,
SLOwarning SMALLDATETIME,
AssignedTo NVARCHAR(50),
SupportGroup NVARCHAR(50));
BEGIN
INSERT INTO @TBL_ServiceRequests
SELECT
SLO.TargetEndDate_4F17E5C2_86D5_05E8_35DE_6E012567DAB7,
SLO.TargetWarningDate_B98D2C5F_CBA2_8DB9_CA33_E0F808A9801E,
UD.DisplayName,
SR_Group.ServiceRequestSupportGroupValue
FROM DBO.ServiceRequestDim AS SR
INNER JOIN DBO.ServiceRequestSupportGroup AS SR_Group
ON SR.SupportGroup_ServiceRequestSupportGroupId = SR_Group.ServiceRequestSupportGroupId
LEFT OUTER JOIN {'CMDB'}.ServiceManager.dbo.MT_System$WorkItem$ServiceRequest AS PrimarySR
ON SR.BaseManagedEntityId = PrimarySR.BaseManagedEntityID
LEFT OUTER JOIN {'CMDB'}.ServiceManager.dbo.Relationship as Relationship
ON PrimarySR.BaseManagedEntityID = Relationship.SourceEntityID
LEFT OUTER JOIN {'CMDB'}.ServiceManager.dbo.RelationshipType as RelationshipType
ON Relationship.RelationshipTypeID = RelationshipType.RelationshipTypeID
LEFT OUTER JOIN {'CMDB'}.ServiceManager.dbo.MT_System$SLA$Instance$TimeInformation as SLO
ON SLO.BaseManagedEntityID = Relationship.TargetEntityID
LEFT OUTER JOIN DBO.WorkItemDim AS WR
ON SR.BaseManagedEntityId = WR.BaseManagedEntityId
LEFT OUTER JOIN DBO.WorkItemAssignedToUserFactvw AS ASTO
ON WR.WorkItemDimKey = ASTO.WorkItemDimKey
LEFT OUTER JOIN DBO.UserDim AS UD
ON ASTO.WorkItemAssignedToUser_UserDimKey = UD.UserDimKey
WHERE
SR.SupportGroup_ServiceRequestSupportGroupId IN ({'Your Support Group Ids'})
AND
SR.Status_ServiceRequestStatusId IN (7,8,9)
AND
SR.IsDeleted = 0
AND
RelationshipType.RelationshipTypeName = 'System.WorkItemHasSLAInstanceInformation' ;
END
BEGIN
SELECT @Now = CAST(CURRENT_TIMESTAMP AS SMALLDATETIME);
SELECT
[@TBL_ServiceRequests].AssignedTo as [Assigned To],
COUNT(*) AS [Open],
SUM(
CASE
WHEN [@TBL_ServiceRequests].[SLOtarget] > @Now THEN 1 ELSE 0
END
) AS [On Time],
SUM(
CASE
WHEN @Now BETWEEN [@TBL_ServiceRequests].[SLOwarning] AND [@TBL_ServiceRequests].[SLOtarget] THEN 1 ELSE 0
END
) AS [Near Overdue],
SUM(
CASE
WHEN [@TBL_ServiceRequests].[SLOtarget] < @Now THEN 1 ELSE 0
END
) AS [Overdue]
FROM @TBL_ServiceRequests
WHERE [@TBL_ServiceRequests].[AssignedTo] IS NOT NULL
GROUP BY [AssignedTo]
UNION ALL
SELECT
[@TBL_ServiceRequests].[SupportGroup] + ' Assigned',
COUNT(*),
SUM(
CASE
WHEN [@TBL_ServiceRequests].[SLOtarget] > @Now THEN 1 ELSE 0
END
) AS [On Time],
SUM(
CASE
WHEN @Now BETWEEN [@TBL_ServiceRequests].[SLOwarning] AND [@TBL_ServiceRequests].[SLOtarget] THEN 1 ELSE 0
END
) AS [Near Overdue],
SUM(
CASE
WHEN [@TBL_ServiceRequests].[SLOtarget] < @Now THEN 1 ELSE 0
END
) AS [Overdue]
FROM @TBL_ServiceRequests
WHERE [@TBL_ServiceRequests].[AssignedTo] IS NOT NULL
GROUP BY [@TBL_ServiceRequests].SupportGroup
UNION ALL
SELECT
[@TBL_ServiceRequests].[SupportGroup] + ' Unassigned',
COUNT(*),
SUM(
CASE
WHEN [@TBL_ServiceRequests].[SLOtarget] > @Now THEN 1 ELSE 0
END
) AS [On Time],
SUM(
CASE
WHEN @Now BETWEEN [@TBL_ServiceRequests].[SLOwarning] AND [@TBL_ServiceRequests].[SLOtarget] THEN 1 ELSE 0
END
) AS [Near Overdue],
SUM(
CASE
WHEN [@TBL_ServiceRequests].[SLOtarget] < @Now THEN 1 ELSE 0
END
) AS [Overdue]
FROM @TBL_ServiceRequests
WHERE [@TBL_ServiceRequests].[AssignedTo] IS NULL
GROUP BY [@TBL_ServiceRequests].SupportGroup
END
END -
Hi,
im using sap crystal report version 13.0.2000.0...
i kept one sting field in details section, in stored procedure its length is 50 characters but in my report it is displaying only 10 characters..how to format this field,is there any formula for this?ya i followed your suggestion but im not getting full data in report
..this is my stored procedure
ALTER PROCEDURE [dbo].[GetSecretarywiseConsolidatedPurchases]
-- Add the parameters for the stored procedure here
@Fromdate datetime,
@ToDate datetime,
@TraderID int
AS
BEGIN
DECLARE @temptb TABLE
(TBID int IDENTITY(1,1) NOT NULL,
EntDate datetime,
BillNo nvarchar(50),
URDQuintals Decimal(18,2),
URDValue Decimal(18,2),
RDQuintals Decimal(18,2),
RDValue Decimal(18,2),
NLQuintals Decimal(18,2),
NLValue Decimal(18,2),
ISQuintals Decimal(18,2),
ISDValue Decimal(18,2),
MarketFee Decimal(18,2),
TraderName nvarchar(100),
LicenseNo nvarchar(100)
--Inserts URD Purchases
insert into @temptb (EntDate,BillNo,URDQuintals,URDValue,MarketFee)
(SELECT Purchase.EntryDate, Purchase.PurchaseBillNo, PurchaseCommodity.Quantity/100, PurchaseCommodity.Value, PurchaseCommodity.ActualMarketFee
FROM Purchase with(nolock) INNER JOIN PurchaseCommodity with(nolock) ON Purchase.PurchaseID = PurchaseCommodity.PurchaseID where
TraderID=@traderID and EntryDate>=@Fromdate and EntryDate<=@ToDate and OriginTypeID=1 and purchase.Isdeleted=0)
Select * from @temptb order by EntDate,BillNo
and field 'BillNo' is my problem...in sp BillNo showing full data but in report it is displaying only 10 characters ..
in sp-->BillNo is 00010050027293
in report-->0001005002
Edited by: kiran86 on Feb 3, 2011 11:29 AM
Edited by: kiran86 on Feb 3, 2011 11:29 AM -
Oracle not return results only in Oracle11g
Hello everyone.
I have a very strange problem.
I have this query:
SELECT *
FROM
(SELECT objT.*,
UP.UserId permissionUserId,
UP.ObjectVersionLabel permissionObjectId,
UP.DocumentAccessPermissions permissionDocAccessPermissions,
UP.SpecialPermissions permissionSpecialPermissions,
UP.IsDeleted permissionIsDeleted
FROM TMPLT_WORKFLOWS objT
LEFT JOIN
(SELECT * FROM PERMIT_WORKFLOWS_USERS ut WHERE ut.UserId = 81
) UP
ON objT.VersionLabel = UP.ObjectVersionLabel
INNER JOIN RELAT_SITES_WORKFLOW_TEMPLATES siteT
ON objT.VersionLabel = siteT.ObjectVersionLabel
WHERE objT.IsDeleted <> 1
AND ( UP.UserId = 81 OR UP.UserId IS NULL)
AND ( UP.IsDeleted <> 1 OR UP.IsDeleted IS NULL)
AND objT.IsStoragePolicy = 0
AND IsCurrent = 1
AND siteT.IsDeleted <> 1
AND ( siteT.SiteId = 4 OR siteT.SiteId = -101)
) A
WHERE A.TemplateId IN
SELECT TemplateId
FROM TMPLT_WORKFLOWS
WHERE VersionLabel NOT IN
(SELECT ObjectVersionLabel
FROM PERMIT_WORKFLOWS_USERS
WHERE UserId = 81
AND SpecialPermissions BETWEEN 12288 AND 16383
AND IsDeleted = 0)
)when I runs the query on Oracle11G I got no results.
If I runs this query on Oracle10g with the same data I got results.
I started to investigate this and I saw two strange things:
1. If I write 'SELECT To_Number(TemplateId)' instead of 'SELECT TemplateId' in the IN clause everithing works.
2. If I comment out the line: 'AND ( UP.UserId = 81 OR UP.UserId IS NULL)' everything works - For this query UP is empty so this isn't supposed to change the results.
Again, it's happening only on 11g.
What is this?I created a simple example.
Creation of table CUSTOMERS
-- DDL for Table CUSTOMERS
CREATE TABLE "TESTS"."CUSTOMERS"
( "CUSTOMERLABEL" NVARCHAR2(50),
"CUSTOMERNAME" NVARCHAR2(255),
"CUSTOMERID" NUMBER(10,0)
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "USERS" ;
-- DDL for Index CUSTOMERS_PK
CREATE UNIQUE INDEX "TESTS"."CUSTOMERS_PK" ON "TESTS"."CUSTOMERS" ("CUSTOMERID")
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "USERS" ;
-- Constraints for Table CUSTOMERS
ALTER TABLE "TESTS"."CUSTOMERS" ADD CONSTRAINT "CUSTOMERS_PK" PRIMARY KEY ("CUSTOMERID")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "USERS" ENABLE;
ALTER TABLE "TESTS"."CUSTOMERS" MODIFY ("CUSTOMERLABEL" NOT NULL ENABLE);
ALTER TABLE "TESTS"."CUSTOMERS" MODIFY ("CUSTOMERNAME" NOT NULL ENABLE);
ALTER TABLE "TESTS"."CUSTOMERS" MODIFY ("CUSTOMERID" NOT NULL ENABLE);Creation of table ORDERS
-- DDL for Table ORDERS
CREATE TABLE "TESTS"."ORDERS"
( "ORDERID" NUMBER(10,0),
"CUSTOMERLABEL" NVARCHAR2(50),
"ORDERDETAILS" NVARCHAR2(255)
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "USERS" ;
-- DDL for Index ORDERS_PK
CREATE UNIQUE INDEX "TESTS"."ORDERS_PK" ON "TESTS"."ORDERS" ("ORDERID")
PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "USERS" ;
-- Constraints for Table ORDERS
ALTER TABLE "TESTS"."ORDERS" ADD CONSTRAINT "ORDERS_PK" PRIMARY KEY ("ORDERID")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "USERS" ENABLE;
ALTER TABLE "TESTS"."ORDERS" MODIFY ("ORDERID" NOT NULL ENABLE);
ALTER TABLE "TESTS"."ORDERS" MODIFY ("CUSTOMERLABEL" NOT NULL ENABLE);
ALTER TABLE "TESTS"."ORDERS" MODIFY ("ORDERDETAILS" NOT NULL ENABLE);I inserted two rows to table CUSTOMERS:
CustomerLabel | CustomerName | CustomerId
Label1 | George | 1
Label2 | Tom | 2
I also inserted two rows to table ORDERS:
OrderId| CustomerLabel | OrderDetails
7 | Label1 | Details1
8 | Label1 | Details2
Now, when i runs this simple query I got no results:
SELECT * FROM customers CST
LEFT JOIN (SELECT * FROM orders WHERE orderid = 1) UP
ON CST.CustomerLabel = UP.CustomerLabel
WHERE ( UP.orderid = 1 OR UP.orderid IS NULL)
AND CST.customerId IN (SELECT customerId FROM customers)Thank you. -
Query SCOM Objects state by class
Hi,
I want to perform an SQL Query by Object class, that will show me the object name, its path, and its current state (same as discovered inventory on scom console).
Query that will return me same output as this powershell command:
Get-SCOMClass -Name "$classtype" | Get-SCOMClassInstance | Sort-Object HealthState,Path -Descending | select-object {$_.Path + " " + $_.displayname + "" + $_.HealthState + ""}
The thing is that powershell command takes 30 secs to run, thus I want to do it through SQL Query which is much faster.
I've wrote the query above:
SELECT distinct
BME.BaseManagedEntityId,
TBME.DisplayName AS Path,
BME.DisplayName,
TYPE.TypeName AS Class,
CASE S.HealthState WHEN 3 THEN 'Critical' WHEN 2 THEN 'Warning' WHEN 1 THEN 'Success' WHEN 0 THEN 'Uninitialized' ELSE 'Unknown' END AS STATE,
S.LastModified
FROM BaseManagedEntity BME WITH(NOLOCK)
INNER JOIN TypedManagedEntity TME WITH(NOLOCK) ON BME.BaseManagedEntityId = TME.BaseManagedEntityId AND BME.IsDeleted = 0 AND TME.IsDeleted = 0
INNER JOIN BaseManagedEntity TBME WITH(NOLOCK) ON BME.TopLevelHostEntityId = TBME.BaseManagedEntityId AND TBME.IsDeleted = 0
INNER JOIN ManagedType TYPE WITH(NOLOCK) ON TME.ManagedTypeID = TYPE.ManagedTypeID
INNER JOIN State AS S ON S.LastModified = (select max(LastModified) from State where bme.basemanagedentityid=BaseManagedEntityId)
where type.TypeName like 'Microsoft.Linux.Computer'
order by STATE
the problem is that most of queried servers' state isshown as 'Uninitialized' while on scom console it is shown as helathy.
What am I doing wrong?The Health state of the ManagedEntity is determined by monitor system.health.enetitystate. rather than using latest modified health state.
It is better to rewrite the SQL statement as
SELECT distinct
BME.BaseManagedEntityId,
TBME.DisplayName AS Path,
BME.DisplayName,
TYPE.TypeName AS Class,
CASE S.HealthState WHEN 3 THEN 'Critical' WHEN 2 THEN 'Warning' WHEN 1 THEN 'Success' WHEN 0 THEN 'Uninitialized' ELSE 'Unknown' END AS STATE
FROM BaseManagedEntity BME WITH(NOLOCK)
INNER JOIN TypedManagedEntity TME WITH(NOLOCK) ON BME.BaseManagedEntityId = TME.BaseManagedEntityId AND BME.IsDeleted = 0 AND TME.IsDeleted = 0
INNER JOIN BaseManagedEntity TBME WITH(NOLOCK) ON BME.TopLevelHostEntityId = TBME.BaseManagedEntityId AND TBME.IsDeleted = 0
INNER JOIN ManagedType TYPE WITH(NOLOCK) ON TME.ManagedTypeID = TYPE.ManagedTypeID
INNER JOIN State AS S ON S.BaseManagedentityid=BME.BaseManagedentityid
INNER JOIN Monitor M ON M.MonitorId=S.MonitorID
where M.MonitorName='System.Health.EntityState' like 'Microsoft.Linux.Computer'
order by STATE
Roger -
Querying SCSM CMDB for CI info
Hi,
Currently working on a project to utilize the SCSM CMDB using the connectors for AD, SCOM, and SCCM to populate and then feed another CMDB solution that is tied to our ticketing system. Our goal is to maintain the CMDB in SCSM and then sync those changes
to the other CMDB daily. When writing the query we can get the OS and Hardware information using the views from MTV_Computer and MTV_Microsoft$SystemCenter$Windows$* in the ServiceManager database. We're we are running into issues is we cannot find any views
or tables to pull the Status of the CI or Users associated with the Computer under the CI Information in the form. Hoping someone can point me in the right direction on finding these items?
Also, anyone else doing anything similar? There doesn't seem to be a unique identifier to query against in the views to get all of the associated objects. So we're making use of the server names to pull in these items. Is this standard practice or there
better solutions?
Thanks,
JThe supported method for querying the Service Manager CMDB is to use the SDK with C#.
http://msdn.microsoft.com/en-us/library/hh965050.aspx
Here's a survival guide with a lot of good information and starting points for using the SDK
http://social.technet.microsoft.com/wiki/contents/articles/13472.system-center-2012-service-manager-developer-s-survival-guide.aspx
Another supported method would be to query the datawarehouse.
Now, having said that, if you absolutely have to use SQL then let me first give you a quick primer on the Service Manager object structure. Remember, if your queries break anything, Microsoft won't support it. Also, never update or create records in the
SQL database directly. It will break Service Manager eventually. The SQL database is hands-off..you can look (select) but don't touch (update/delete) :)
Objects in Service Manager are nothing more than records in SQL tables. Relationships between those objects are defined by "Relationship Types" (which are stored in the "RelationshipType" SQL table). The relationships that exist between
two objects in Service Manager are also objects themselves..which means they're stored in a single table, the "Relationship" table. Another tip that should help..virtually everything in the SQL DB is identified with a unique Guid (BaseManagedEntityId
for objects, RelationshipTypeId for relationship types, ManagedTypeId for classes, etc).
As for CI Status; Status and other properties like it are Enumeration properties (or list properties). These enumerations are defined by a management pack and represent a specific set of values that an object property can have. So, the column in the sql
table that represents an enumeration value is, you guessed it, a Guid. Enumerations are stored in the EnumType table. For instance, if you look at the MTV_Computer view, you'll find the "ObjectStatus_blahblahblah" column (which is the CI status)
is nothing but guids. Join it to the EnumType table to get a human-readable status.
Now let me give you a quick sample query that highlights how you can query for computer objects and their related primary user objects.
select computer.DisplayName, usr.DisplayName
from mtv_computer computer with (nolock)
left outer join relationship rel with (nolock) on rel.SourceEntityId=computer.BaseManagedEntityId
and rel.RelationshipTypeId='AAF7ADEB-920C-3D3F-2184-1DE2A2CBA5A0' --System.ComputerPrimaryUser
and rel.IsDeleted=0
left outer join MTV_System$Domain$User usr with (nolock) on rel.TargetEntityId = usr.BaseManagedEntityId
inner join BaseManagedEntity bmeComp with (nolock) on computer.BaseManagedEntityId = bmeComp.BaseManagedEntityId
and bmeComp.IsDeleted=0
left outer join BaseManagedEntity bmeUser with (nolock) on usr.BaseManagedEntityId = bmeUser.BaseManagedEntityId
and bmeUser.IsDeleted=0
where computer.ObjectStatus_4AE3E5FE_BC03_1336_0A45_80BF58DEE57B='ACDCEDB7-100C-8C91-D664-4629A218BD94' --System.ConfigItem.ObjectStatusEnum.Active
and (usr.ObjectStatus_4AE3E5FE_BC03_1336_0A45_80BF58DEE57B='ACDCEDB7-100C-8C91-D664-4629A218BD94' --System.ConfigItem.ObjectStatusEnum.Active
or usr.DisplayName is null)
The guids have comments that indicate what they are. The AAF7... relationship type is the System.ComputerPrimaryUser relationship type. ACDC... is the System.ConfigItem.ObjectStatusEnum.Active enumeration (it represents the "Active" CI Status)
The overall purpose of this particular sample is to display all windows computers (mtv_computer) in the database and also display the related "primary user" if such a user exists (otherwise, the second column will be null)
The first two joins tie the computer together with its related primary user through the relationship table.
The second two joins tie each object to the BaseManagedEntity table which is a repository for every class based object in the CMDB. That table maintains various information about the object, including whether it's deleted or not.
(Note there are two forms of "deleted". There's "Pending Delete" on a CI which puts the object in the Deleted Items folder in the console. This is a "business logic" status. The other deleted is "IsDeleted", which is
an SCSM framework status which tells the underlying workflow engine to completely eliminate the object and its history from the CMDB in 2 days. These objects are not visible in the console at all.)
Notice that I use "with (nolock)" on all the tables. This helps ensure that your reads won't interfer with Service Manager while it talks to the database (through the workflow engine, stored procedures, etc etc).
I'm going to say it one more time..messing around in the sql database is unsupported!
Hopefully, though, this post will give you some insight on a couple different ways you can get info out of Service Manager
Maybe you are looking for
-
Get rid of weather notices on ical
I can't get rid of accuweather notices on ical. I have checked preferences in accuweather app. They are off.
-
Performance Problem, RPC Call auf SQLServer 2000
Hi, we have a performance problem with SQLServer 2000. We use Bea WLS 6.1, SQLServer 2000, and JDBC Driver mssqlserver4v65.jar from Bea. we use this for performance optimization as in Documetation at "http://www.datadirect-technologies.com/download/d
-
Mac Mail Not Picking up Current Gmail In Inbox
I hope you can help me. I am a brand new Mac user and am setting up my new iMac running Mavericks. I added my gmail account successfully and wish to run it (as I did in Outlook) as a POP account (not IMAP). However when I first added the account, i
-
TS1500 Transferring photos from iPhone to pc
I've tried trouble shooting my iPhone on my pv and it still won't recognise my phone,any ideas off how to transfer my photos and videos to my pc will be greatly appreciated x ps it used to work fine but now the display box doesn't pop up anymore x I'
-
IPhone app for MacBook Pro?
I downloaded the IBook app for my Iphone and am enjoying reading books. I see that when I sync my phone, the books from it are moved into ITunes and show up there, but they cannot be read on the MacBook Pro. Is there a version of the IBook reader sof