Use of Remote JDBC SQL Database External Resource
Does anybody here uses a Remote JDBC External Resource to connect to a database? If so, can you tell me if had any impediment with this approach?
I'm asking this because our company has a lot of tools to monitor a lot of weblogic assets (such as jdbc connection pools and datasources) and We'd like to monitor all BPM-to-database connections usage and pool health. Other feature that we'd like to give to BPM application is the weblogic's capability to use an Multi-DataSource (one logical DS that represents more than one phisical DS).
Thanks and Best Regards,
Luiz Rocha
Hi,
We are facing connection leak in our application .We have defined External resouce as Remote JDBC which is defined in weblogic config.Xml. If any body could explain is there is anyway to handle closing connections manually as we do in J2ee conn.close() in ALBPM ??? . I found runtime configuration in oracle implementation type when defining external resource (i.e supported type:oracle database) an attribute
"*Connection idle time* (mins): The connection is closed after the defined time"
But i dont find any equivalent entry in my config.xml as we do our implementation of type Remote JDBC.....
Any advice on this and how connection closing happens in Normal scenarios within ALBPM will be very useful.
Our connection pool attributes reads like.....(Note *the values of few attributes deleted)
<JDBCConnectionPool AddOracleFlagToXAResource="true"
CountOfTestFailuresTillFlush="1"
DriverName=""
InitialCapacity="150" KeepXAConnTillTxComplete="true"
MaxCapacity="200" Name=""
PasswordEncrypted=""
Properties="user=" ShrinkingEnabled="false"
SupportsLocalTransaction="true" Targets=""
TestConnectionsOnCreate="false" TestConnectionsOnRelease="false"
TestConnectionsOnReserve="true"
TestTableName="SQL SELECT 1 FROM DUAL"
URL=""
XARetryDurationSeconds="300" XASetTransactionTimeout="true" XATransactionTimeout="420"/>
.Advice us can the below attribute can be added in Connection pool properties or anything else......
**{[(*Inactive Connection Timeout The number of inactive seconds on a reserved connection before WebLogic Server reclaims the connection and releases it back into the connection pool.***
***You can use the Inactive Connection Timeout feature to reclaim leaked connections - connections that were not explicitly closed by the application. Note that this feature is not intended to be used in place of properly closing connections.***
***When set to 0, the feature is disabled*.)}]**
Similar Messages
-
Can a full file path be used to open a sql database connection?
I have a requirement to open an unattached sql server database file with a given path. Can this be done?
This would be similar to opening a Jet database using the path as the Data Source. For example, the path might be "C:\MyFolder\MyDatabase.mdf". I need to put the path in the connection string and open the database. It would look
something like the following.
Provider=SQLOLEDB;Data Source=C:\MyFlolder\MyDatabase.mdf;Itegrated Security=SSPI;
Rob E.I don't think its possible with unattached file.
http://www.connectionstrings.com/sql-server-2008/
--Prashanth -
Changes in resource name in Monitor Matrix for SQL Database @ Azure portal
hi
Exact 4 months after starting of new SQL database tier, Resource Matrix changed.
old names :
CPU percentage
Log Write percentage
Physical Data Read percentage
new names are:
CPU
LogIO
DataIO
My question is they are equal :
CPU percentage = CPU (looks OK)
Log Write percentage = LogIO (Log Writes means IN but IO means both (in and out))
Physical Data Read percentage = DataIO (Read means OUT but IO means both (in and out))
If they are different then what is change ?Hi,
We use the
sys.resource_stats catalog view to monitor the resource usage of your Azure SQL Database and compare current resource utilization to different performance levels . The CPU Percentage, Physical Data Reads percentage, Log Writes Percentage show the average
utilization percentage relative to the DTU of your database. For more information, see:
http://msdn.microsoft.com/en-us/library/azure/dn369873.aspx
And now, we upgrade the monitor metrics name for CPU and IO activity of SQL Azure database. If you add the metrics of Data IO or Log IO individually in Monitor Page, it will show the same name with Physical Data Reads percentage and Log Writes Percentage,
you can refer to the following screenshot.
After I adding the Data IO, it will show as Physical Data Reads percentage in Monitor Page.
Regards,
Sofiya Li
Sofiya Li
TechNet Community Support -
EKM using the Azure Key Vault is now available for SQL Database and SQL Server running in Azure VM's
In preview today, you can create keys in the Azure Key Vault, and use them with Azure SQL Database, or SQL Server running in a Azure VM. Use the Extensible Key Management (EKM) for TDE, backup encryption, or cell level encryption. For more information, see
Extensible Key Management Using Azure Key Vault (SQL Server)
http://msdn.microsoft.com/en-us/library/dn198405.aspx.
The announcement:
Azure Key Vault in public preview
Key Vault offers an easy, cost-effective way to safeguard keys and other sensitive data used by cloud applications and services. Included are the following features:
Enhance data protection and compliance:
Protect cryptographic keys and sensitive data like passwords with keys stored in Hardware Security Modules (HSMs). For added assurance, import or generate your keys in HSMs certified to FIPS 140-2 level 2 and Common Criteria EAL4 standards,
so that keys stay within the HSM boundary. Key Vault is designed so that Microsoft doesn’t see or extract your keys.
All the control, none of the work:
Provision new vaults and keys in minutes and centrally manage keys, sensitive data, and policies. You maintain control over your encrypted data—simply grant permission for your own and third-party applications to use keys as needed. Enable
developers to easily manage keys used for dev/test and migrate seamlessly to production keys managed by security operations.
Boost performance and achieve global scale: Improve
performance and reduce latency of cloud applications by storing cryptographic keys in the cloud (versus on-premises). Key Vault rapidly scales to meet the cryptographic needs of your cloud applications and match peak demand.
Get started with Azure Key Vault by creating keys for applications you develop,
SQL Server encryption (TDE, CLE, and Backup), and partner solutions like
CloudLink SecureVM.
Key Vault is available now at no charge with discounted preview pricing starting on January 15, 2015.
For more information, please visit the
Key Vault webpage. For a comprehensive look at pricing, please visit the
Key Vault Pricing webpage.
Rick Byham, Microsoft, SQL Server Books Online, Implies no warrantyThank you for sharing this Rick.
Regards,
Alberto Morillo
SQLCoffee.com -
Remote JDBC Problem with Oracle BPM Studio
Hi all, i am facing the Remote JDBC Problem with Oracle BPM Studio.
When i configure a Remote JDBC Connection for SQL in BPM Studio, it prompt me an error.
The SQL Connection is configured as following :
External Resource:
Name : MyDS
Type : SQL Database
Supported Types : Remote JDBC
Details:
Database Type : BPM's Oracle Driver Version:10, 11
J2EE : WLS
Lookup Name : MyAppDS
Configuration for "WLS"
Name : WLS
Type : J2EE Application Server
Supported Types : GENERIC_J2EE
Details:
Initial Context Factory : weblogic.jndi.WLInitialContextFactory
URL : t3://localhost:7001
But, when i try to connect to the Database by using this configuration, I will get an Exception.
An exception occurred while getting a resource from a connector.
Detail:The connector [[ MyDS : SQL : REMOTE_JDBC ]] caused an exception when getting a resource.
Caused by: An exception occurred while getting a resource from a connector.
Detail:The connector [[ WLS : J2EE : J2EE ]] caused an exception when getting a resource.
Caused by: javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory [[ Root exception is java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory ]]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:197)
at fuego.jndi.FaultTolerantContext.createContext(FaultTolerantContext.java:726)
at fuego.jndi.FaultTolerantContext.<init>(FaultTolerantContext.java:79)
at fuego.connector.impl.GenericJ2EEConnector.createInitialContext(GenericJ2EEConnector.java:177)
at fuego.connector.impl.GenericJ2EEConnector.createStandaloneContext(GenericJ2EEConnector.java:98)
at fuego.connector.impl.BaseJ2EEConnector.getResource(BaseJ2EEConnector.java:92)
at fuego.connector.impl.BaseJ2EEConnector.getResource(BaseJ2EEConnector.java:76)
at fuego.connector.J2EEHelper.getReadOnlyContext(J2EEHelper.java:86)
... 12 more
Edited by: user2262377 on Jun 22, 2009 4:01 PMI guess the weblogic.jar is not included in the studio.
So, i added weblogic.jar (Weblogic 10.3) and wlclient.jar (Weblogic 10.3)
It is working in my simple java code. But, still not working in BPM Studio.
The error logs:
An exception occurred while getting a resource from a connector.
Detail:The connector [OFT_APP_DS:SQL:REMOTE_JDBC] caused an exception when getting a resource.
Caused by: java.lang.Object cannot be cast to java.io.Serializable
fuego.connector.ConnectorException: An exception occurred while getting a resource from a connector.
Detail:The connector [OFT_APP_DS:SQL:REMOTE_JDBC] caused an exception when getting a resource.
at fuego.connector.ConnectorException.exceptionOnGetResource(ConnectorException.java:88)
at fuego.connector.JDBCHelper.getReadOnlyConnection(JDBCHelper.java:93)
at fuego.sqlintrospector.BrowserPanel.connect(BrowserPanel.java:395)
at fuego.sqlintrospector.BrowserPanel.populateTree(BrowserPanel.java:200)
at fuego.ui.wizards.ui.CheckTreeBrowser$1.construct(CheckTreeBrowser.java:63)
at fuego.ui.SwingWorker$2.run(SwingWorker.java:39)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassCastException: java.lang.Object cannot be cast to java.io.Serializable
at weblogic.iiop.IIOPOutputStream.writeAny(IIOPOutputStream.java:1588)
at weblogic.iiop.IIOPOutputStream.writeObject(IIOPOutputStream.java:2231)
at weblogic.utils.io.ObjectStreamClass.writeFields(ObjectStreamClass.java:413)
at weblogic.corba.utils.ValueHandlerImpl.writeValueData(ValueHandlerImpl.java:235)
at weblogic.corba.utils.ValueHandlerImpl.writeValueData(ValueHandlerImpl.java:225)
at weblogic.corba.utils.ValueHandlerImpl.writeValue(ValueHandlerImpl.java:182)
at weblogic.iiop.IIOPOutputStream.write_value(IIOPOutputStream.java:1963)
at weblogic.iiop.IIOPOutputStream.write_value(IIOPOutputStream.java:2001)
at weblogic.iiop.IIOPOutputStream.writeObject(IIOPOutputStream.java:2266)
at weblogic.jdbc.common.internal.RmiDataSource_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) -
Remote JDBC problem while setting up it with BPM Studio 10.3
Hi
I am trying to use the Remote JDBC for SQL Connection to Database with Oracle BPM Studio.
When i configure a Remote JDBC Connection for SQL in BPM Studio, it prompt me an error.
Step 1: Create a new external resource
Name: erJavaLibrary
Type: Java Class Library
Jar libraries: weblogic.jar
wlclient.jar
Step 2: Create a new external resource
Name: erWebLogic
Type: J2EE Application Server type
Initial Context Factory: weblogic.jndi.WLInitialContextFactory
URL: http://192.168.1.32:7001
Principal: weblogic
Credentials: *******
Step 3: Create a new external resource
Name: erSQLjdb
Type: SQL database
Supported Types : Remote JDBC
Database Type : BPM MS SQL Server 2005
J2EE : erWebLogic
Lookup Name : TestBPMDS
Step 4: Creating a new catalog modulo for database component
Select Catalog Component, and then select SQL
Specify which configuration: erSQLjdbc
Exception error:
weblogic/security/subject/AbstractSubject
Caused by: weblogic.security.subject.AbstractSubject
java.lang.NoClassDefFoundError: weblogic/security/subject/AbstractSubject
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:197)
at fuego.jndi.FaultTolerantContext.createContext(FaultTolerantContext.java:726)
at fuego.jndi.FaultTolerantContext.<init>(FaultTolerantContext.java:79)
at fuego.connector.impl.GenericJ2EEConnector.createInitialContext(GenericJ2EEConnector.java:177)
at fuego.connector.impl.GenericJ2EEConnector.createStandaloneContext(GenericJ2EEConnector.java:98)
at fuego.connector.impl.BaseJ2EEConnector.getResource(BaseJ2EEConnector.java:92)
at fuego.connector.impl.BaseJ2EEConnector.getResource(BaseJ2EEConnector.java:76)
at fuego.connector.J2EEHelper.getReadOnlyContext(J2EEHelper.java:86)
at fuego.connector.impl.BaseRemoteConnector.getContext(BaseRemoteConnector.java:99)
at fuego.connector.impl.BaseRemoteConnector.getReferencedObject(BaseRemoteConnector.java:114)
at fuego.connector.impl.BaseRemoteConnector.getReferencedObject(BaseRemoteConnector.java:107)
at fuego.connector.impl.RemoteJDBCConnector.getConnection(RemoteJDBCConnector.java:75)
at fuego.connector.impl.RemoteJDBCConnector.getResource(RemoteJDBCConnector.java:145)
at fuego.connector.impl.RemoteJDBCConnector.getResource(RemoteJDBCConnector.java:129)
at fuego.connector.JDBCHelper.getReadOnlyConnection(JDBCHelper.java:90)
at fuego.sqlintrospector.BrowserPanel.connect(BrowserPanel.java:395)
at fuego.sqlintrospector.BrowserPanel.populateTree(BrowserPanel.java:200)
at fuego.ui.wizards.ui.CheckTreeBrowser$1.construct(CheckTreeBrowser.java:63)
at fuego.ui.SwingWorker$2.run(SwingWorker.java:39)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: weblogic.security.subject.AbstractSubject
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
... 24 moreSolution procedure:
1. Create the wlfullclient.jar file in weblogic environment:
It is documented in: http://download.oracle.com/docs/cd/E12839_01/web.1111/e13717/jarbuilder.htm#BABCGHFH
2. Add the wlfullclient.jar file as external resource.
3. Create the Remote JDBC data source configuration -
Microsoft JDBC SQL Server Drivers
I want to use the Microsoft JDBC SQL Server Drivers. I know they are not supported.
What do I need to do to my 9iAS install so that my reports can use this JDBC connection.
I have 5 simple reports I want to run from a very simnple menu. I want to hide the JDBC connection in the URL. But I want the report to use the URL to connect to a MS SQL Server 200 database and generate a report that was created using Reports Builder.
Obviosly I am new to all of this. And someone else is doing the 9iAS install.
What do I need to do to get this going?
Thanks for any help.
JeanneI am now using mth Merant SQL Server JDBC Driver.
But I still get the following error when running from the URL from my local OC4J.
I have added classpath of YM*.jar files to rwEng and rwUrlEng in rep_<myserver>.conf.
Why can't it find the drivers?
Thanks.
Reports Error Page
Wed May 28 10:08:52 PDT 2003
javax.servlet.jsp.JspException: rwlib-1: REP-4100: Failed to execute data source. JDBCPDS-62008:com.oracle.ias.jdbc.sqlserver.SQLServerDriver
javax.servlet.jsp.JspException: rwlib-1: REP-4100: Failed to execute data source.
JDBCPDS-62008:com.oracle.ias.jdbc.sqlserver.SQLServerDriver
at oracle.reports.jsp.ObjectsTag.doEndTag(ObjectsTag.java:180)
at test.WLBNTemp._jspService(_WLBNTemp.java:85)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
at oracle.jsp.runtimev2.JspPageTable.compileAndServe(JspPageTable.java:508)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:255)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:407)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:330)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:59)
at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:523)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:269)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:735)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:243)
at com.evermind.util.ThreadPoolThread.run(ThreadPoolThread.java:64) -
Today a R/3 sap system is very low in performance. We have checked on the TASK MANAGER and we have seen that it's due to a high use of CPU by SQL DATABASE. So....cause we don't have activate any strange activity on it we would like to monitor which activity is running on it?how can we see that?
thanx very much
SonyaHello,
you can use the SQL Profiler to see all activity running on the SQL Server. The Profiler will capture any single command issued to the SQL Server, but might have a performance impact.
Furthermore can you check the activity with the activity monitor (SQL 2005) or with the Enterprise Manager -> Management -> Current Activity -> Process Info. There you will see all connections made to the SQL Server and what it is currently doing (doubleklick on it).
Best regards
Clas -
Troubles Exporting SQL databases from Azure
1. If I connect via SQL Server Management Studio and choose Export Data Tier Application to local disk, it never ends
2. If I export via Azure web portal, it takes few hours
3. The only way that works is using SQL Server Management Studio and exporting to Azure container and then downloading it and importing via SQL Server Management Studio, seems like a lot of hassle
I need Azure SQL database to be transferred daily to my local machine, preferably automatically. How can I do it?Hi Alex,
Since the issue regards Windows Azure SQL Database, I will help you move the question to the related forums, It is appropriate and more experts will assist you.
As Olaf’s post, if you want to migrate databases between the SQL Server Database Engine and Windows Azure SQL Database, you can use the Windows Azure SQL Database Import and Export operations to copy databases between two different SQL Database servers.
In addition, you can also use the Windows Azure SQL Database copy database feature to make a consistent copy of a database, and perform the export from the copy. For more information, see
Copying Databases in Windows Azure SQL Database. And you also can migrate a database by using the generate scripts wizard. For more information, see:
How to: Migrate a Database by Using the Generate Scripts Wizard (Windows Azure SQL Database)
According to your description, you want to migrate database daily and automatically, you can configure automated exports to schedule export operations for a SQL database, and to specify the frequency of export operations, and to set the retention period
to store export files. Also you can set data sync between SQL Server and Windows Azure SQL database, configure bi-directional for database. For more information, see:
Windows Azure SQL Data Sync.
Regards,
Sofiya Li
Sofiya Li
TechNet Community Support -
Can XMP be used by an external SQL database to index photos and access keywords?
I am developing an image library to be accessible by my company's intranet. Since my company has literally thousands of employees who will be adding content to the library, I am wondering if for example, I write keywords to the photos via Photoshop, Lightroom, etc. and then add them to the library, is there a way to have the SQL database query the JPG or TIFF files for the XMP data and import it into fields in the SQL database?
I don't know if there is an existing app out there that would do this already but if anyone knows anything, I'm all ears.
Cheers.Hi Martin,
You can take a look on our Kalimages Pro software:
http://www.kalimages.net/EN/Index.html
Best regards -
BPM Studio-Issue with Creating External Resources - Oracle Database RAC
Hi All,
This must be an easy fix and hope you guys have an answer to it. I was having no issues connecting to a single instance database as the parameter Host = "xxx.111.200.10" for a SQL Database Oracle 10,11 driver is pointing to a single instance and the SID = "yyyyy". TNS Name entry is as below...
xyz =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.111.200.10)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = yyyyy)
However we have upgrade our oracle database and it is in a RAC with load balancing hence the TNS Name entry looks like this.
xyz =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = abcdh-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = abcdi-vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = yyyy.abcd.com)
Any combination using "xyz", "abcdh-vip" , "abcdi-vip" etc is erroring and I am getting the following error:
[BEA][Oracle JDBC Driver]Error establishing socket. Unknown host: abcdh-vip
java.sql.SQLException: [BEA][Oracle JDBC Driver]Error establishing socket. Unknown host: abcdh-vip
at albpm.jdbc.base.BaseExceptions.createException(Unknown Source)
at albpm.jdbc.base.BaseExceptions.getException(Unknown Source)
at albpm.jdbc.oracle.OracleImplConnection.makeConnectionHelper(Unknown Source)
at albpm.jdbc.oracle.OracleImplConnection.makeConnection(Unknown Source)
at albpm.jdbc.oracle.OracleImplConnection.connectAndAuthenticate(Unknown Source)
at albpm.jdbc.oracle.OracleImplConnection.open(Unknown Source)
at albpm.jdbc.base.BaseConnection.connect(Unknown Source)
at albpm.jdbc.base.BaseConnection.setupImplConnection(Unknown Source)
at albpm.jdbc.base.BaseConnection.open(Unknown Source)
at albpm.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
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)
at fuego.connector.impl.DriverManagerHack.getConnection(DriverManagerHack.java:49)
at fuego.connector.impl.BaseJDBCConnector.createJDBConnection(BaseJDBCConnector.java:205)
at fuego.jdbc.FaultTolerantConnection.createConnection(FaultTolerantConnection.java:917)
at fuego.jdbc.FaultTolerantConnection.getConnection(FaultTolerantConnection.java:871)
at fuego.jdbc.FaultTolerantConnection.getMetaData(FaultTolerantConnection.java:163)
at fuego.sqlintrospector.BrowserPanel.populateTree(BrowserPanel.java:220)
at fuego.ui.wizards.ui.CheckTreeBrowser$1.construct(CheckTreeBrowser.java:63)
at fuego.ui.SwingWorker$2.run(SwingWorker.java:39)
at java.lang.Thread.run(Unknown Source)
Any help would be highly appreciated.
Regards,Hi,
Sure you've probably tried this but here goes...
Use the Oracle Driver that comes with Oracle BPM to integrate with RAC.
To integrate to Oracle RAC, you're typically given something like this by the DBA.
jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = atwood-vip.int.westgroup.com)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = kenwood-vip.int.westgroup.com)(PORT = 1521)) ) (CONNECT_DATA = (Service_name = bpms_pot_dev.int.westgroup.com) (SERVER = DEDICATED) ) )
When defining the External Resource for Oracle RAC check the “Advanced” checkbox (not the tab) and insert this text into the “Database” field:
//atwood-vip.int.westgroup.com:1521;ServiceName=bpms_pot_dev.int.westgroup.com;LoadBalancing=true;AlternateServers=(kenwood-vip.int.westgroup.com:1521)
Hope this helps,
Dan -
Problem using a SQL database Catalogue to insert data to a table
I am developing with Version:
10.3.1.0, Build: #99765....
as part of a step in my process I need to store some data in an audit table.
I have setup the SQL Catalogue entry and then use the following code:
sentMail is defined as a local variable
sentMail = RSPCA.Resources.RSPCA.R_SENTEMAIL()
sentMail.sentemailBody = sendInternalRequest.htmlbody
sentMail.sentemailDatesent = Fuego.Lang.Time
sentMail.sentemailSubject = subject
sentMail.sentemailTo = creation.participant.email
sentMail.sentemailType = "People"
store sentMail
This works if I comment out this line:
sentMail.sentemailBody = sendInternalRequest.htmlbody
The issue I'm having maybe something to do with the size of the data, in oracle the field is a varchar2(4000) and it looks like the catalogue treats it as a String(4000), if I make sure I only put around 1500 characters in the field it works, but as soon as I put all in from my test data (about 2300) it fails with this message:
The method 'CIL_sendToHQ' from class 'EstablishmentManagement.EMMaintainPeopleProcess.Default_1_0.Instance' could not be successfully executed.
Caused by: [BEA][Oracle JDBC Driver][Oracle]ORA-01461: can bind a LONG value only for insert into a LONG column
Caused by: [BEA][Oracle JDBC Driver][Oracle]ORA-01461: can bind a LONG value only for insert into a LONG column
fuego.lang.ComponentExecutionException: The method 'CIL_sendToHQ' from class 'EstablishmentManagement.EMMaintainPeopleProcess.Default_1_0.Instance' could not be successfully executed.
at fuego.component.ExecutionThreadContext.invokeMethod(ExecutionThreadContext.java:519)
at fuego.component.ExecutionThreadContext.invokeMethod(ExecutionThreadContext.java:273)
at fuego.fengine.FEEngineExecutionContext.invokeMethodAsCil(FEEngineExecutionContext.java:219)
at fuego.server.execution.EngineExecutionContext.runCil(EngineExecutionContext.java:1278)
at fuego.server.execution.microactivity.ComponentExecutionMicroActivity.runCil(ComponentExecutionMicroActivity.java:126)
at fuego.server.execution.microactivity.ComponentExecutionMicroActivity.execute(ComponentExecutionMicroActivity.java:84)
at fuego.server.execution.microactivity.MicroActivityEngineExecutionHandler.executeActivity(MicroActivityEngineExecutionHandler.java:57)
at fuego.server.execution.ImmediateActivity.execute(ImmediateActivity.java:42)
at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
at fuego.server.execution.DefaultEngineExecution.executeAutomaticWork(DefaultEngineExecution.java:62)
at fuego.server.execution.EngineExecution.executeAutomaticWork(EngineExecution.java:42)
at fuego.server.execution.ToDoItem.executeAutomaticWork(ToDoItem.java:251)
at fuego.server.execution.ToDoItem.run(ToDoItem.java:536)
at fuego.component.ExecutionThread.processMessage(ExecutionThread.java:775)
at fuego.component.ExecutionThread.processBatch(ExecutionThread.java:755)
at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:142)
at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:134)
at fuego.fengine.ToDoQueueThread$PrincipalWrapper.processBatch(ToDoQueueThread.java:450)
at fuego.component.ExecutionThread.work(ExecutionThread.java:839)
at fuego.component.ExecutionThread.run(ExecutionThread.java:408)
Caused by: fuego.components.SQLException: [BEA][Oracle JDBC Driver][Oracle]ORA-01461: can bind a LONG value only for insert into a LONG column
at fuego.sql.TableSQLObject.implicitStore(TableSQLObject.java:409)
at fuego.sql.TableSQLObject.store(TableSQLObject.java:340)
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)
at fuego.lang.JavaClass.invokeMethod(JavaClass.java:1410)
at fuego.sql.SQLObject.invoke(SQLObject.java:364)
at fuego.lang.Invokeable.invokeImpl(Invokeable.java:234)
at fuego.lang.Invokeable.invokeDynamic(Invokeable.java:188)
at EstablishmentManagement.EMMaintainPeopleProcess.Default_1_0.Instance.CIL_sendToHQ(Instance.xcdl:100)
at EstablishmentManagement.EMMaintainPeopleProcess.Default_1_0.Instance.CIL_sendToHQ(Instance.xcdl)
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)
at fuego.component.ExecutionThreadContext.invokeMethod(ExecutionThreadContext.java:512)
... 23 more
Caused by: java.sql.SQLException: [BEA][Oracle JDBC Driver][Oracle]ORA-01461: can bind a LONG value only for insert into a LONG column
at albpm.jdbc.base.BaseExceptions.createException(Unknown Source)
at albpm.jdbc.base.BaseExceptions.getException(Unknown Source)
at albpm.jdbc.oracle.OracleImplStatement.execute(Unknown Source)
at albpm.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at albpm.jdbc.base.BaseStatement.executeUpdateInternal(Unknown Source)
at albpm.jdbc.base.BasePreparedStatement.executeUpdate(Unknown Source)
at fuego.jdbc.FaultTolerantPreparedStatement.executeUpdate(FaultTolerantPreparedStatement.java:623)
at fuego.sql.TableSQLObject.insert(TableSQLObject.java:626)
at fuego.sql.TableSQLObject.implicitStore(TableSQLObject.java:391)
... 39 more
Edited by: user10778731 on 21-Jan-2010 06:17Suspect you're not going to like this answer, but I never use the store() method for a database heir object anymore.
The store() database method has been broken and then fixed and then broken again on too many release cycles to trust that it will work consistently as MPs/Hotfixes are applied. I'd suspect that your "String(4000)" problem might also be related to using the store() method.
Others will probably disagree, but only use the OOTB PBL (JDBC) SQL or Dynamic SQL in the PBL logic. In your case, I think you might be best served by using Dynamic SQL. With Dynamic SQL you don't run into the shortcomings of JDBC SQL (String(4000) might be one of them) and you can then test / debug your SQL in your favorite DB tool of choice first (e.g. Toad, Squirrel, Sql Plus). Once successfully tested, you can then paste it back into your PBL.
Dan -
Applet connecting to MS SQL Database (Remote DataSourse)
Hello,
I started by building my interface to a Database within an Application. I am not to the point where I am ready to make it an applet but want to get some tips when the time comes very soon.
First of all what security issues do I have to deal with to let the applet connect to the database?
Second I currently created a local Datasource via ODBC call JavaDB and linked it to my MS SQL Database.
QUESTION
How do I link to the with a remote Datasource so that the local machine does not have to worry about the datasource.
Lastly can I use the "sun.jdbc.odbc.JdbcOdbcDriver" in an applet. I sure hope so...
Then the part of my code that connected to the database was this:
private void initDB(){
String url = "jdbc:ODBC:JavaDB";
Connection con;
String query = "select * from COFFEES";
Statement stmt;
try {
//Class.forName("myDriver.ClassName");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch(java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
try {
con = DriverManager.getConnection(url, DBADM, DBPWD);
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
ResultSetMetaData rsmd = rs.getMetaData();
System.out.println("");
int numberOfColumns = rsmd.getColumnCount();
for (int i = 1; i <= numberOfColumns; i++) {
if (i > 1) System.out.print(", ");
String columnName = rsmd.getColumnName(i);
System.out.print(columnName);
System.out.println("");
while (rs.next()) {
for (int i = 1; i <= numberOfColumns; i++) {
if (i > 1) System.out.print(", ");
String columnValue = rs.getString(i);
System.out.print(columnValue);
System.out.println("");
stmt.close();
con.close();
} catch(SQLException ex) {
System.err.print("SQLException: ");
System.err.println(ex.getMessage());
Thanks,
KennyKenny,
As no one has replied, I've managed to implement a database that uses applets.
Firstly, one needs to obtain a JSP server (apache tomcat is free and can be configured into a IIS 4 server).
Secondly, write all the DB connection stuff within a jsp page (ex.) "builders.jsp"
<%@ page import="java.sql.*" %>
<%!
protected String driver="sun.jdbc.odbc.JdbcOdbcDriver";
protected String url="jdbc:odbc:PhotoDBase";
protected String userid=null;
protected String passwd=null;
%>
<html><head><title>Builder Example</title></head><body>
<%!
public static String GET_BUILDER_QUERY =
"SELECT * FROM BuilderInfo WHERE BuilderID =?";
%>
<%
String bID = "24"; //normally this would use
//request.Parameter("bID");
//in order to pull up a specific
//record. In this test case it is
//hard coded to pull only builder #24
%>
<%
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, userid, passwd);
PreparedStatement stmt = conn.prepareStatement(GET_BUILDER_QUERY);
stmt.setString(1, bID);
ResultSet rs = stmt.executeQuery();
rs.next();
String buildID = rs.getString("BuilderID");
String bName = rs.getString("BuilderName");
String bAddress = rs.getString("Address");
String bCity = rs.getString("City");
String bState = rs.getString("State");
String bZip = rs.getString("Zip");
String bCName = rs.getString("ContactName");
String bCLast = rs.getString("ContactLast");
String bPhone = rs.getString("Phone");
String bFax = rs.getString("Fax");
String bMobile = rs.getString("Pager/Cell");
rs.close();
stmt.close();
if (bName == null)
bName = "No Builder";
if (bAddress == null)
bAddress = "N/A";
if (bCity == null)
bCity = "N/A";
if (bState == null)
bState = "N/A";
if (bZip == null)
bZip = "N/A";
if (bCName == null)
bCName = "N/A";
if (bCLast == null)
bCLast = "N/A";
if (bPhone == null)
bPhone = "N/A";
if (bFax == null)
bFax = "N/A";
if (bMobile == null)
bMobile = "N/A";
%>
<p>Builder: <%= bName%> BuilderID #: <%= buildID%>
<br>Contact: <%= bCName%> <%= bCLast%>
<br>Address: <%= bAddress%>
<br><%= bCity%>, <%= bState%> <%= bZip%>
<br>Phone: <%= bPhone%>
<br>Fax: <%= bFax%>
<br>Mobile: <%= bMobile%>
<p><applet code="Build.class" width="600" height="300">
<param name=buildID value=<%= buildID%>>
<param name=bName value="<%= bName%>">
<param name=bAddress value="<%= bAddress%>">
<param name=bCity value="<%= bCity%>">
<param name=bState value="<%= bState%>">
<param name=bZip value="<%= bZip%>">
<param name=bCName value="<%= bCName%>">
<param name=bCLast value="<%= bCLast%>">
<param name=bPhone value="<%= bPhone%>">
<param name=bFax value="<%= bFax%>">
<param name=bMobile value="<%= bMobile%>">
</applet>
</body>
</html>
The jsp gets the data from the DB based on the parameter bID which would be passed to it via a search or input page with various error checking included.
The applet then recieves its data via parameters. (Build.class has been shortened here to show you the meat and potatoes of the whole deal)
//<applet code="Build.class" width="600" height="300"></applet>
import java.awt.*;
import java.awt.Event;
import java.applet.Applet;
import java.io.*;
public class Build extends java.applet.Applet {
protected Panel search ;
protected TextField Nametxt ;
protected TextField Loctxt ;
protected TextField Citytxt ;
protected TextField Statetxt ;
protected TextField Ziptxt ;
protected TextField CNametxt ;
protected TextField CLasttxt ;
protected TextField Phonetxt ;
protected TextField Faxtxt ;
protected TextField Celltxt ;
public Build(){
super();
search = new Panel();
Nametxt = new TextField();
Loctxt = new TextField();
Citytxt = new TextField();
Statetxt = new TextField();
Ziptxt = new TextField();
CNametxt = new TextField();
CLasttxt = new TextField();
Phonetxt = new TextField();
Faxtxt = new TextField();
Celltxt = new TextField();}
public void init(){
BorderLayout bl = new BorderLayout();
setLayout(bl);
add(search, "Center");
setBackground(Color.white);
String buildID = getParameter("buildID");
String bName = getParameter("bName");
String bAddress = getParameter("bAddress");
String bCity = getParameter("bCity");
String bState = getParameter("bState");
String bZip = getParameter("bZip");
String bCName = getParameter("bCName");
String bCLast = getParameter("bCLast");
String bPhone = getParameter("bPhone");
String bFax = getParameter("bFax");
String bMobile = getParameter("bMobile");
Nametxt.setText(bName);
Loctxt.setText(bAddress);
Citytxt.setText(bCity);
Statetxt.setText(bState);
Ziptxt.setText(bZip);
CNametxt.setText(bCName);
CLasttxt.setText(bCLast);
Phonetxt.setText(bPhone);
Faxtxt.setText(bFax);
Celltxt.setText(bMobile);
Hope this will aid you in yours and anyone elses endevours.
James <[email protected]> -
Connect to a remote MS Access database using RmiJdbc
Hello,
I want to access a remote MS Access database from oracle stored procedures.
Does anyone know how i can load the RmiJdbc driver using the loadjava command or with any other way.
Because when i try to load RmiJdbc.zip using the loadjava command I am getting the error:
ORA-29533:attempt to overwrite class or resource string while defining or compiling scott.TestClient
this error is occured for multiple files...
I don't know how to delete this classes.
Because this error occured and the first time i tried to load Rmijdbc driver.
and when i use the dropjava command to drop it,and then load it again the same error occures.
Can anyone help me how to load this driver?
Please answer because i need it as soon as possible.
ThanksHi,
try this.
String s = "UPDATE AGENT SET afname='test',alname='u',city='d',AGENT.[percent]=1 WHERE aid=23";
-------->AGENT.[percent] -
I have SP Server 2010, and when I try to DELETE a rule within an existing Audience, "Property (Account Name) = domain/username", I get this error, "An error has occurred while accessing SQL database or system resources. If this
is the first time you have seen this message, please try again later. If this
problem persists, please contact your administrator." When I try to "MODIFY" the rule I get this error, "One or more values typed on this page are not valid. Check the text for the indicated fields."
The last time I checked it was working, I'm not aware of any new updates installed recently? I did a full Profile Synchronization as well, but still not working, please advise? -- EvenstarlineHi Sara,
First of all thank you very much for your prompt responses. Here are my comments to each of your suggestions below, and just to let you know I am using a Farm Admin account. I
was able to do this way after we upgraded from SP 2007 to SP 2010 as well. I would like to mention I'm not a SP expert, just been given the responsibility due to another person handling it just left, so apologize with some of
my novice questions below?
1. When I change the Operators to "Contains" or "Not Contains" get generates this error below.
Error generating in red towards top of the audience page..."One or more values typed on this page are not valid. Check the text for the indicated fields."
Error occurred where you enter your "Value"..."Could not resolve the user identity. Please re-enter the account name."
2. We have a 3-server-tier topology (SPWeb, SPDB, and SPFarm). Does the updates only apply to where the Central Admin is installed, which is the "SPFarm"? I checked all
3 servers, and NONE of the updates (KB2899494, KB2889845, and KB2883055) you'd mentioned are installed.
3. I'm new to IISRET, I need to be extra cautious of what I run in production, is this safe to run with no problem? What does it do? And How do I run it?
4. I'm also new to viewing the ULS log. I'd just downloaded a viewer for it. I'm assuming the only logs I need to be concern with viewing are within the SPAdmin (where Central
Admin is installed)? There's so many of them, what should I be looking for exactly?
Evenstarline
Maybe you are looking for
-
How to configure a full JMS Sender Adapter Scenario
Hi guys, I have to do a JMS -> PI (7.1) -> File scenario, I never used JMS Adapter, and I'd like to tell you what I have done, and what I think is missing. First I went to the NetWeaver Administrator ->Configuration Management ->Infrastructure ->JMS
-
Thunar, Tumbler and (un)mounting
Hello everyone, I have the following problem, and I suspect it's a bug of some sort. If I insert a USB stick, memory card or any other sort of removable media, and I access a folder which contains images that can be thumbnailed by Tumbler, it will ru
-
Wireless Keyboard for iPhone?
Does anyone know if Apple's wireless keyboard (using bluetooth) will work on the iPhone 3G? !http://a248.e.akamai.net/7/248/2041/1546/as-images.apple.com/is/image/AppleInc/ MB167?wid=185&hei=185&fmt=jpeg&qlt=95&opsharpen=0&resMode=bicub&opusm=0.5,0.5
-
[Invalid] Markup Validation - Understanding How-to Fix
Hi, it's me again! I am finally now getting started on the W3 validator portion of the web site making process. I put my website through it and it listed these issues below: http://validator.w3.org/check?uri=http%3A%2F%2Frestorationacpc.com%2F&charse
-
Open link in new tab/window problem
I have the following problem: I have a menu with h:commandLinks and I use faces.config configurations for my navigation. When I choose to open a menu entry in a new window or a new page the old page is displayed and I have to click again on the menu