Re: Help: Connecting Tomcat to CA-IDMS using JDBC Type 4 Drivers (JNDI / IDMSDataSource)

2009-01-15 Thread jpmad4it

I have some more questions:

For my datasource connection paramaters I have the IdmsDataSource class, and
the IdmsConnectionPoolDataSource class.

The IdmsDataSource class is used with an application server provided Java
Naming and Directory Interface (JNDI) naming service to establish a
connection to a CA IDMS database. IdmsDataSource properties are used to
specify the connection parameters. These properties are the equivalent of
the DriverPropertyInfo attributes described in the previous section and can
be used to completely define the parameters needed to connect to a database.
Here are some IdmsDataSource properties:

accountInfo, connectSuspend, databaseName, dataSourceName, externalWait,
networkProtocol, password, portNumber, programName, resourceInterval,
roleName, serverLength, serverName, serverTrace, user etc etc.

Can these simply be placed in the server.xml config under my resource as
follows:

Resource name=jdbc/TestIDMS auth=Container type=javax.sql.DataSource
   maxActive=100 maxIdle=30 maxWait=1000
connectSuspend=true dataSourceName=something externalWait=20
networkProtocol=TCP 
   username=test password=test
driverClassName=ca.idms.jdbc.IdmsJdbcDriver
   url=jdbc:idms://IP:3709/DICT 
 removeAbandoned=true removeAbandonedTimeout=300
logAbandoned=true /

I went ahead and set these, and upon shutdown and restart Tomcat does not
give any error. However, the instructions say to use the caidms.properties
file (where these properties should be set) and include the location to the
file in the $CLASSPATH. I'm wondering if I can use either of these methods?

The IdmsConnectionPoolDataSource class implements the JDBC
ConnectionPoolDataSource interface. It is used with an application server
that provides container managed connection pooling to establish a pooled
connection to a CA IDMS database.  IdmsConnectionPoolProperties are used by
the application server connection pool manager to administer the pool of
connections for a particular data source. Does Tomcat support this method?
Some properties for this class are:

connectSuspend, initialPoolSize, maxIdleTime, maxPoolSize, propertyCycle
etc.

Can these properties also be added to the resource in the server.xml
config (if Tomcat supports this method)?

Any help would be great.
rgds J

-- 
View this message in context: 
http://www.nabble.com/Help%3A-Connecting-Tomcat-to-CA-IDMS-using-JDBC-Type-4-Drivers-%28JNDI---IDMSDataSource%29-tp21433283p21478261.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Help: Connecting Tomcat to CA-IDMS using JDBC Type 4 Drivers (JNDI / IDMSDataSource)

2009-01-14 Thread jpmad4it

Filip, here is my configuration so far:

I have created a test application under the tomcat webapps folder with the
following structure:

IDMSTest/
IDMSTest/WEB-INF/
IDMSTest/WEB-INF/classes/
IDMSTest/WEB-INF/lib/
IDMSTest/WEB-INF/web.xml
IDMSTest/WEB-INF/test.jsp

Here is my IDMSTest/WEB-INF/web.xml file:

?xml version=1.0 encoding=UTF-8?
web-app xmlns=http://java.sun.com/xml/ns/j2ee;
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
 xsi:schemaLocation=http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd;
 version=2.4
  descriptionIDMS Test App/description
  resource-ref
  descriptionDB Connection/description
  res-ref-namejdbc/TestIDMS/res-ref-name
  res-typejavax.sql.DataSource/res-type
  res-authContainer/res-auth
  /resource-ref
/web-app
 
I also added the following to tomcat/conf/server.xml:
 
!-- Tomcat JDBC to IDMS Test Context --
Context path=/IDMSTest docBase=IDMSTest reloadable=true
crossContext=true

   Resource name=jdbc/TestIDMS auth=Container
type=javax.sql.DataSource
   maxActive=100 maxIdle=30 maxWait=1
   username=MY_USER password=MY_PASS
driverClassName=ca.idms.jdbc.IdmsJdbcDriver
   url=jdbc:idms://MY.IP.ADDRESS:MY.PORT/MY_DATABASE /
/Context
 
Then I have a test.jsp in the IDMSTest/ folder with the following code:

%@ taglib uri=http://java.sun.com/jsp/jstl/sql; prefix=sql %
%@ taglib uri=http://java.sun.com/jsp/jstl/core; prefix=c %

sql:query var=rs dataSource=jdbc/testIDMS
  select text_message from messages
/sql:query

html
  head
titleIDMS DB Test/title
  /head
  body
h2Results/h2
c:forEach var=i items=${rs.rows}
  Text Message: c:out value=${i.text_message}/br
/c:forEach
  /body
/html 
 
However, I can't actually test anything yet, as the IDMS is not setup to
listen to JDBC requests. I just wanted to be clear that my configuration and
syntax on the Linux / Tomcat side are correct for when I do come to test a
connection. The SQL query and query handling code in the JSP file would
differ depending upon the database structure, obviously.but does
everything look like its setup OK? Where would the
javax.naming.spi.ObjectFactory implementation come into it?

There are some remaining issues I have about how to setup and use the
caidms.properties file and the caidms.cfg file. I've uploaded the 2 files as
they contain quite a lot of code:

http://www.nabble.com/file/p21451684/caidms.cfg caidms.cfg 
http://www.nabble.com/file/p21451684/caidms.properties caidms.properties 

regards
Jp


Filip Hanik - Dev Lists wrote:
 
 If your JDBC driver has a DataSource, then check to see if it has a
 
 javax.naming.spi.ObjectFactory implementation, this is the one you would 
 specify in the factory=some.impl.DataSourceFactory attribute, for
 example.
 Some drivers don't have factories, and then you simply use Tomcat's own 
 factory by omitting the factory attribute.
 In this case, Tomcat will provide the DataSource that is a wrapper 
 around your driver.
 
 Provide
 1. the configuration (only relevant parts)
 2. the error you get
 
 
 Filip
 
 jpmad4it wrote:
 Hi there,

 I have a rather interesting / complex problem..creating a connection
 to
 CA-IDMS from Tomcat using JDBC type 4 drivers (CA provide the type 4
 driver).

 We have a zSeries 9 IBM mainframe running CA-IDMS r16.1, and I need to
 connect to the IDMS from Tomcat (running on Linux) using the JDBC Type 4
 drivers provided by CA.

 At this stage I am struggling with the actual setup and configuration of
 Tomcat’s server.xml and web.xml files. These are the files where the JDBC
 configuration is set (I think). I have to setup the CA-IDMS part of the
 configuration, but that is a different problem. Basically there is a
 TCP/IP
 listener on the IDMS, waiting for incoming connections from the JDBC type
 4
 driver.

 I set up a Tomcat to MySQL connection using MySQL Connector / J, which is
 a
 similar kind of process to what I am trying to achieve with IDMS. MySQL
 connector / J came with a jar file which is placed in Tomcat’s lib
 folder,
 and then the JDBC setup for the web application is created in Tomcat's
 server.xml and web.xml files. You can then connect to the MySQL database
 using JSP and the configured JDBC driver / connection. The CA-IDMS Server
 comes with an idmsjdbc.jar file, which I think is the JDBC typr 4 driver.
 I
 think it needs to be placed in the Tomcat /lib folder, but I don’t know
 how
 to set up the configuration.

 There is a JDBC DriverManager which allows JDBC drivers to connect to
 CA-IDMS. The DriverManager recognises the following syntax:

 jdbc:idms://hostname:port/database

 This allows the JDBC driver running within Tomcat to connect to the IDMS
 which is running on the IDM mainframe. CA IDMS r16 supports direct
 connections from the Type 4 JDBC driver to the Central Version on IDMS.
 hostname is the DNS name or IP address of the machine where the CV is
 running, and port

Re: Help: Connecting Tomcat to CA-IDMS using JDBC Type 4 Drivers (JNDI / IDMSDataSource)

2009-01-14 Thread jpmad4it


David Smith-2 wrote:
 
 Case matters.  Make sure you match case in all places where you refer to
 the jndi name of your datasource.  Off the top, I see you configured
 jdbc/TestIDMS, but then try to use jdbc/testIDMS in the test jsp.
 
 --David
 
 

Ah thanks for spotting that.

I am now getting the error:

Error: java.lang.UnsupportedOperationException: Not supported by
BasicDataSource Not supported by BasicDataSource

Is this to do with the JNDI not recognising the IDMS driver??
-- 
View this message in context: 
http://www.nabble.com/Help%3A-Connecting-Tomcat-to-CA-IDMS-using-JDBC-Type-4-Drivers-%28JNDI---IDMSDataSource%29-tp21433283p21456434.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Help: Connecting Tomcat to CA-IDMS using JDBC Type 4 Drivers (JNDI / IDMSDataSource)

2009-01-14 Thread jpmad4it


Filip Hanik - Dev Lists wrote:
 
 you are calling this method
 
 public Connection getConnection(String username, String password) 
 throws SQLException {
 throw new UnsupportedOperationException(Not supported by 
 BasicDataSource);
 }
 
 try calling
 
 DataSource.getConnection() without a username and password
 
 Filip
 

Yeah thanks Filip, I read online about that being the problem.

I think I am now ready to setup the IDMS so that it will listen to JDBC
calls. Once I have this all setup I will come back to let you know how I got
on.

Thanks for all the help everyone.
rgs Jp
-- 
View this message in context: 
http://www.nabble.com/Help%3A-Connecting-Tomcat-to-CA-IDMS-using-JDBC-Type-4-Drivers-%28JNDI---IDMSDataSource%29-tp21433283p21458683.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Help: Connecting Tomcat to CA-IDMS using JDBC Type 4 Drivers (JNDI / IDMSDataSource)

2009-01-13 Thread jpmad4it

Hi there,

I have a rather interesting / complex problem..creating a connection to
CA-IDMS from Tomcat using JDBC type 4 drivers (CA provide the type 4
driver).

We have a zSeries 9 IBM mainframe running CA-IDMS r16.1, and I need to
connect to the IDMS from Tomcat (running on Linux) using the JDBC Type 4
drivers provided by CA.

At this stage I am struggling with the actual setup and configuration of
Tomcat’s server.xml and web.xml files. These are the files where the JDBC
configuration is set (I think). I have to setup the CA-IDMS part of the
configuration, but that is a different problem. Basically there is a TCP/IP
listener on the IDMS, waiting for incoming connections from the JDBC type 4
driver.

I set up a Tomcat to MySQL connection using MySQL Connector / J, which is a
similar kind of process to what I am trying to achieve with IDMS. MySQL
connector / J came with a jar file which is placed in Tomcat’s lib folder,
and then the JDBC setup for the web application is created in Tomcat's
server.xml and web.xml files. You can then connect to the MySQL database
using JSP and the configured JDBC driver / connection. The CA-IDMS Server
comes with an idmsjdbc.jar file, which I think is the JDBC typr 4 driver. I
think it needs to be placed in the Tomcat /lib folder, but I don’t know how
to set up the configuration.

There is a JDBC DriverManager which allows JDBC drivers to connect to
CA-IDMS. The DriverManager recognises the following syntax:

jdbc:idms://hostname:port/database

This allows the JDBC driver running within Tomcat to connect to the IDMS
which is running on the IDM mainframe. CA IDMS r16 supports direct
connections from the Type 4 JDBC driver to the Central Version on IDMS.
hostname is the DNS name or IP address of the machine where the CV is
running, and port is the IP port that was specified for the listener PTERM
(setup on the IDMS side).

There is a caidms.properties file for the JDBC driver, which is used to
specify user ID, password, and optional accounting information. It can also
be used to specify physical connection information, allowing an application
to connect to a CA-IDMS database without requiring the definition of an ODBC
style data source. However, I don’t know where to place this file within the
Tomcat setup.

There is also an IdmsDataSource class. I don’t know where to configure this
or how to set it up; the CA-IDMS Server manual states the following:

This class implements the JDBC DataSource interface. It is used with an
application server (Tomcat) providing Java Naming and Directory Interface
(JNDI) naming service to establish a connection to a CA IDMS database.
IdmsDataSource properties conform to the Java Beans naming conventions and
are implicitly defined by public “setter” and “getter” methods. For example,
the “description” property, which is required for all DataSource
implementations, is set using the setDescription(String) method. The
application server may use the java.lang.reflection methods to discover
DataSource properties and provide an interface to set them, or may simply
require that they are defined in some configuration file. IdmsDataSource
properties are used to specify the connection parameters. These properties
are the equivalent of the DriverPropertyInfo attributes described in the
previous section and can be used to completely define the parameters needed
to connect to a database. Like a URL, an IdmsDataSource object can also
reference an “ODBC” style data source name, where the connection parameters
are defined in the configuration file on Linux.

Is there anyone that can try to point me in the right direction to setting
up the JDBC connection? I am totally new to Java and so the instructions are
not making much sense at the moment. Any help, hints, tips…..anything will
be greatly appreciated as I have just hit a brick wall here. I can't find
much to do with setting up the CA-IDMS Server JDBC type 4 driver online
eitherif anyone can point me to some resources that would also be
extremely useful.

Kind regards
Jp
-- 
View this message in context: 
http://www.nabble.com/Help%3A-Connecting-Tomcat-to-CA-IDMS-using-JDBC-Type-4-Drivers-%28JNDI---IDMSDataSource%29-tp21433283p21433283.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org