Help: Connecting Tomcat to CA-IDMS Using JDBC Type 4 Drivers (JNDI)

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 either....if anyone can point me to some resources that would also be extremely useful.
Kind regards
Jp

You say you've managed to get the JDBC driver working
in an application but not in a JSP. You also say that
the error you get is
"com.microsoft.jdbc.sqlserver.SQLServerDriver".
I'd be willing to bet that the exception that you have
got is a ClassNotFoundException. I.E. your application
server hasn't found the JDBC driver classes. The
application server probably doesn't use your current
CLASSPATH to look for classes. It will be setup within
the application server in some way and you'll need to
check your app server documentation to see how it is
done.
Try replacing
e.printStackTrace();with
e.printStackTrace(out);to get a full stack trace of your error.
ColTried it. Got this error when I tried to run the JSP.
Incompatible type for method. Can't convert javax.servlet.jsp.JspWriter to java.io.PrintWriter.
          e.printStackTrace(out);
I'm currently using Apache Tomcat 4.0.3 as my JSP/Servlet Container.
I'm also using Type 4 MS SQL Server 2000 JDBC driver version 2.0 on my NT4.0 Server.
Do I need to set my JDBC driver in my container? if so, how do I do that?

Similar Messages

  • How to Connect Microsoft SQL 2000 database using JDBC

    Hi all..
    I want to connect Microsoft SQL 2000 database using JDBC. I want from initial steps also. (about JDBC driver & its installation)
    Thankz

    Just checkout the SQL Server JDBC Driver Documentation at the manfacturer's site: http://msdn2.microsoft.com/en-us/data/aa937724.aspx

  • Memory Leak when TOMCAT connects to Oracle 10g RAC using JDBC Thin driver.

    We had experienced Memory leak when a Oracle 10g (10.2.0.3) RAC node was evicted. TOMCAT app server is connecting to the Oracle 10g RAC database instances using JDBC 10.2.0.3 thin driver.
    Anyone had similar experience?
    Any ideas? Any bugs reported/fixed?
    Thanks,
    Raj

    If you're doing XA, we absolutely do not support
    driver-level load-balancing OR failover. Use neither.
    For non-XA, you can use driver-level failover. For
    non-XA, you could set load-balancing, but it won't
    help because we get connections from the driver,
    and keep them indefinitely, so the driver never gets
    the chance to affect which connections the pool
    uses after that.

  • Can't connect to MSSQL using jdbc type 4

    My settings in the server are the followings:
    Data source class name : com.microsoft.jdbc.sqlserver.SQLServerDriver
    Resource Type: javax.sql.DataSource
    And in the properties, i have added
    DatabaseName: jdbc:microsoft:sqlserver://SQL_SERVER:1433;DatabaseName=Borrar
    Because i have downloaded the jdbc driver type 4 sp3 from microsoft site, in the AppSrv-->JVM Settings --> Path Settings -->Classpath Suffix I have the following:
    C:/Sun/AppServer/pointbase/lib/pbclient.jar
    C:/Sun/AppServer/pointbase/lib/pbembedded.jar
    C:/Sun/AppServer/domains/domain1/lib/classes/msbase.jar
    C:/Sun/AppServer/domains/domain1/lib/classes/msutil.jar
    C:/Sun/AppServer/domains/domain1/lib/classes/mssqlserver.jar
    Using this configuration, when i press the button "Ping" when i'm configurating the connection pool, i have this message:
    " An error has occurred.
    Operation 'pingConnectionPool' failed in 'resources' Config Mbean. "
    Anyone can help me ??

    Since nobody posted the solution and I happened to found one, I want to contribute with the following information. Hope this helps:
    In order to create a connection pool for MSSQLServer
    you have to:
    1. Copy these files to the lib carpet inside domains/domain/DOMAIN_NAME/:
    mssqlserver.jar,
    msutil.jar,
    msbase.jar.
    You can find them in www.microsoft as a single package. Just look for JDBC Driver.
    2. In the administrator console of the AppServer, go to:
    Application Server -> JVM Settings -> Path Settings -> Classpath Suffix -> , and right there add the path for the previous files.
    Press 'Save' and restart the server.
    3. Go to JDBC -> Connection Pools -> New...
    Resource Type: javax.sql.DataSource'
    Database vendor: (none) (Dont select anything here).
    Press Next.
    4. In the field for Datasource ClassName, add
    com.microsoft.jdbcx.sqlserver.SQLServerDataSource
    (Here is where I`ve been having problems. I used to put com.microsoft.sqlserver.SQLServerDriver).
    5. The way to find out that the server found de library is through the attributes. You have to see exactly, among others:
    DatabaseName, SelectMethod, Password, User, PortNumber,ServerName.
    If you see: Port. It means the path to the library is wrong.
    6. Inform exactly the previous fields:
    DatabaseName= yourDBName
    SelectMethod=cursor
    Password=yourDBPassword
    User=yourDBUser
    PortNumber=1433
    ServerName=yourServerName
    7. That�s it. Press finish. and then select the connection you just created and hit ping. You shouldnt see the annoying message about some "MBEAN bla bla bla".
    Good luck. Greetings from Costa Rica.

  • Need help connecting to an aws instance using a key from my macbook

    i need to connect to an amazon instance using terminal and a keypair from a macbook pro. please help since its possible to connect to the aws instance easily  using putty on windows 7 OS but failing to connect on my new macbook pro. step by step really appreciated.

    You may need to open TCP and UDP port 3283 and TCP and UDP port 5900 in the routers on your end and your company's end. For encrypted file transfer (ARD 3.0), also open TCP port 22. You may also need to open TCP (and perhaps UDP) 5988 and 5989, though it's not clear under what circumstances this will be necessary.
    If your systems at work get their IP addresses via NAT, you'll also have to forward those ports to your MBP's internal IP address.

  • Cannot connect Oracle 7.2.2 using JDBC thin in JDevelper....

    When I try to connect Oracle 7.2.2 database using JDBC thin driver of Java 1.1.8 in JDeveloper, the connection manager refuse to connect the database and alert the minimum version supported is 7.2.3. But I know JDBC thin driver can connect database of 7.2.x onwards. Any way to workaround? Thank you.

    Hi Tian-liang,
    Try using Microsofts JDBC driver rather than Suns. Also search these forums, other have run into the same issue.
    Thank you
    Don

  • Connecting with Unix user/password using JDBC

    1) Is it possible to connect on a java program, with JDBC, using the Unix autentification ?
    With the JDBC thin client I use :
    DriverManager.getConnection("jdbc:oracle:thin:@<ip addresse>:<listener entry port>:<SID>","<user>","<password>");
    2) What Java syntaxe may I use, not to give the <user>/<password> in my java program ?
    I want to lauch my java program from a shell script (UNIX). The Unix's user is know in my Oracle database.
    3) Is it a secure way ?
    Thank's

    For what it's worth, I have not yet found a way to do this, either. But since it's not critical for me, I have given up on it, for now. I have not found anything on OTN nor in the Oracle documentation that explains how to do this. Sorry :-(
    Good Luck,
    Avi.

  • Using JDBC thin drivers against 9.2 DB ?

    Is anyone doing this? How? Which JDK? Which drivers?
    I would really like to uses JDBC 2.0 (classes12.zip) - but this hangs on the very first getConnect() or Driver.connect()
    Mike

    Thanks for the response.
    I understand what you are saying...
    that readers don't block writers in Oracle (the same is true in SQL Server 2000).
    However, I don't see how my test case is working correctly with Oracle (the exact same code acting as I'm thinking it should with SQL Server, but I still think it is acting incorrectly with Oracle).
    I have transaction A do this:
    update <table> set <column2>=<value> where <column1>='1'
    then I use Thread.sleep() to make that program hang around for a few minutes.
    Meanwhile I sneak off and start another program which begins transaction B. I have transaction B do this:
    select * from <table> where <column1>='1'
    and the read works immediately (no blocking... just as you have said) however, transaction A is still sleeping, it has not called commit() or rollback() yet.
    So what if transaction A were to call rollback(), the value read by transaction B would be incorrect wouldn't it ?
    Both A and B use setAutoCommit(false) to start their transactions, and then call setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED).
    Isn't that supposed to guarantee that a reader can only read what is committed ?
    And if a row is in "flux"... in the process of having one or more values changed, then the database cannot say what the value will be ?
    I can almost see what you are saying.
    In letting the reader have what it wants without making it wait, I suppose it could be said that Oracle is holding true to the "only let committed data be read"
    So if that's it, then what if I want the blocking ?
    I want an entire row to be locked until whoever it in the middle of updating, adding, or removing it has finished.
    Do you know if that can be done with Oracle ? And how ?
    Thanks again for helping me.

  • Help needed: modeling master-detail relationship using Object types

    I would like to use object types to model a master-detail relationship. For e.g.
    create or replace type detail_t as object
    (id number,
    name varchar2(20)
    create or replace type details_t as
    table of detail_t
    create or replace type master_t as object
    (id number,
    name varchar2(20),
    details details_t
    If I don't use database object-tables, how can I return multiple master rows of the type above from a PL/SQL procedure? Can I return a cursor of some sort?
    I'm using Oracle 8.1.7.
    Thanks,
    Niranja

    Niranjan,
    After the object types are defined, your data would come from either object tables or object views. In your case, to get multiple master rows, simply query the object view.
    Regards,
    Geoff

  • Connection error to 9i database using JDBC thin driver

    When trying to connect to a new 9i database using the JDBC thin driver, I received the following error:
    java.sql.SQLException: ORA-00600: internal error code, arguments: [ttcgcshnd-1], [0], [], [], [], [], [], []
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java)
    at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java)
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java)
    at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java)
    at oracle.jdbc.ttc7.TTC7Protocol.fetch(TTC7Protocol.java)
    at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java)
    at oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.java)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java)
    at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java)
    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java)
    at oracle.jdbc.driver.OracleDatabaseMetaData.getTables(OracleDatabaseMetaData.java)
    I have no problem with my code connecting to an Oracle 8 database, just 9i.
    I'm trying to debug in Visual Cafe (JDK 1.1.7) and have both the classes111.zip and the nls_charset11.zip in my CLASSPATH.
    Any suggestions would be appreciated. Thanks

    If you're using 8i 8.1.7.1 or 8i 8.1.7.0 thin JDBC drivers on NT, then you can get them to connect to 9i by applying the 8i 8.1.7.1 Patch available at:
    http://technet.oracle.com/software/tech/java/sqlj_jdbc/htdocs/solsoft.html
    You might have to register/login first.
    Basically, it's just a case of replacing a class already in your classes111.zip or classes12.zip with the class in the patch.
    Took me a while to find this, but it worked first time after patching. Hope this helps.

  • CAN NOT CONNECT to 7.3.4 using JDBC 8.1.6

    PLEASE HELP !!!!
    Question for the JDBC development team.
    I am trying to connect to a 7.3.4 database with the 8.1.6 JDBC driver and JDK1.2 and am getting the "End of TNS data channel".
    In your previous e-mail, you said that you are going to look into the TNS error.
    Did you find anything out ?
    Is this an existing problem ?
    Thanks in advance.
    Val Gamerman.
    PLEASE HELP !!!!
    null

    Boopathi
    Have you tried using the Microsoft driver rather than the Oracle
    driver?
    We have a VB application here which uses the MS driver ( to an
    8.0.5 database) and it works fine. I could never get it to work
    using the Oracle driver!
    There are one or two gotchas that you need to watch out for.
    1) I could only get it to work using the nearly defunct RDO
    objects, rather than the ADO or DAO objects.
    2) When returning a resultset to the VB program you need to know
    how many records you're returning before you actually submit the
    query - this means a wasteful "count the records" query before
    each real query
    3) Resultset queries require you to send the resultset back in
    PL/SQL tables as parameters to the procedure rather than as a
    cursor, so you end up returning the resultset to your procedure
    and then having to read through it to build up the PL/SQL
    tables. This means you effectively have to read the resultset
    twice: once on the server and once on the client.
    Other than that it works fine! The Microsoft Knowledge Base has
    a lot of articles on this.
    Final disclaimer: this may have all changed with the latest
    version of the driver!
    Tarik

  • Cannot connect MS SQL Server2005 by using JDBC(JNDI) connection

    Hi all,
    I met a problem when I was trying to create a JDBC(JNDI) connection in crystal report 2008, the following error dialog shows up, it said:
    Database Connector Error: 'SQL Exceptions: [SQL State:] S1000 [Error Message:] [Microsoft][SQL Native Client]Connection is busy with results for another command'
    here is the steps how to reproduce this problem:
    1) create a DSN(Data source name) in ODBC Data Source Administrator dialog, suppose the DSN is test
        (and the DSN test show it works well)
    2) start up Crystal Report 2008, click New to create a new report, the Standard Report Creation Wizard show up
    3) expand Create New Connection node, then double click JDBC(JNDI) note
    4) the JDBC (JNDI) dialog shows up, chooose JDBC Connection in the dialog, and fill the empty fields with:
       Connection URL: jdbc:odbc:test
       Database Classname:sun.jdbc.odbc.JdbcOdbcDriver
    5) click next, it comes to the next pannel, and fill the empty fields with:
        Database: MyTestDB
        UserID: sa
        Password: sa
    6) then click Finish buttion.
    7) a new connection is created, but when I expand the new created connection, an error dialog shows up
      Database Connector Error: 'SQL Exceptions: [SQL State:] S1000 [Error Message:] [Microsoft][SQL Native Client]Connection is busy with results for another command'
    does anyone knows what's wrong with my setting? any help would be appreciated.
    Best Regards
    Tian-liang

    Hi Tian-liang,
    Try using Microsofts JDBC driver rather than Suns. Also search these forums, other have run into the same issue.
    Thank you
    Don

  • Need help with tomcat 5.5 and using java classes

    hey there,
    i am trying to set up tomcat 5.5 on my computer at home and have sucessfully done so. i have been trying to use Java classes inside my JSP files however tomcat thows an internal servlet error as follows:
    org.apache.jasper.JasperException: Unable to compile class for JSP
    An error occurred at line: 144 in the jsp file: /order.jsp
    Generated servlet error:
    ProductList cannot be resolved to a type
    An error occurred at line: 144 in the jsp file: /order.jsp
    Generated servlet error:
    ProductList cannot be resolved to a type
    An error occurred at line: 144 in the jsp file: /order.jsp
    Generated servlet error:
    Product cannot be resolved to a type
    i have the classes located as the setup tutorial recommends (root/WEB-INF/classes/) and still nothing works. i would appreciate any help anyone can give.
    thanks,

    Which tutorial are you following?
    As of java1.4, all classes must be in packages for them to work in Tomcat. This means your beans and servlets too.
    Put your beans in a package, and then recompile them, and put them in the right place.
    eg
    package com.mypackage
    public class MyClass ...
    once compiled would go into WEB-INF/classes/com/mypackage/MyClass.class
    Are you using Product and ProductList classes in scriptlet code?
    Have you imported them with a page directive
    <%@ page import="com.mypackage.Product, com.mypackage.ProductList" %> ?

  • Problem connecting to MySQL thro Applet using JDBC

    Hi,
    I'm trying to use an applet to connect to MySQL thro JDBC. The applet, the IE client that loads the HTML, and MySQL all reside on the same machine. But I'm getting the following error:"ClassNotFoundException: com.mysql.jdbc.Driver". But I'm able to connect using a Java application and run and display SQL query results. Any ideas are highly appreciated. Here're are the two pieces of code:
    /****** Java Application *****/
    import java.sql.*;
    public class MySQL_App {
    public static void main(String args[]) {
              String url = "jdbc:mysql://localhost/test";
         try {
                   Class.forName("com.mysql.jdbc.Driver");
         catch(java.lang.ClassNotFoundException e) {
                   System.err.print("ClassNotFoundException: ");
                   System.err.println(e.getMessage());
    /****** Java Applet *****/
    import java.awt.*;
    import javax.swing.*;
    import netscape.javascript.*;
    import java.sql.*;
    public class MySQL_Applet extends JApplet {
         JSObject win;
         public void init() {
              win = JSObject.getWindow(this);
         public void callShowMessage() {
              String url = "jdbc:mysql://" + this.getDocumentBase().getHost() + "/test";
              String[] args = new String[1];
         args[0] = "" ;
         try {
              Class.forName("com.mysql.jdbc.Driver");
         catch(java.lang.ClassNotFoundException e) {
                   args[0] += "ClassNotFoundException " + e.getMessage() ;
         win.call("showMessage", args);
    }

    mmm i, think that may here we've 2 possibles answers:
    1) Did u read about "Applet Security"? my point is that you haven't acces to your local var "path" or "classpath".
    2) Maybe u didn't especificate the MySQl path in ur classpath;
    Check this 2 points

  • Connecting remote FoxPro dbf file using jdbc odbc bridge driver?

    Hi all,
    I am new to this topic, (even I read some threads)
    I need to access some FoxPro tables (dbf files) and select some data and save to an oracle table. what is the best method to do this?
    If I use java as development tool. which other drivers or methods to use beside jdbc-odbc driver?
    I read from this link but I didn't understand.
    http://java.sun.com/products/jdbc/faq.html#5
    "5. How can I use the JDBC API to access a desktop database like Microsoft Access over the network?
    Most desktop databases currently require a JDBC solution that uses ODBC underneath. This is because the vendors of these database products haven't implemented all-Java JDBC drivers.
    The best approach is to use a commercial JDBC driver that supports ODBC and the database you want to use. See the JDBC drivers page for a list of available JDBC drivers.
    The JDBC-ODBC bridge from Sun's Java Software does not provide network access to desktop databases by itself. The JDBC-ODBC bridge loads ODBC as a local DLL, and typical ODBC drivers for desktop databases like Access aren't networked. The JDBC-ODBC bridge can be used together with the RMI-JDBC bridge, however, to access a desktop database like Access over the net. This RMI-JDBC-ODBC solution is free.
    "

    Another solution by using HXTT DBF, a commercial type 4 JDBC package: You should read Remote Access Questions section at http://www.hxtt.net/en/software/dbf/faq.html#remote .

Maybe you are looking for

  • Error while importing par file

    dear Experts, i am facing a problem while importing par.bak file. the error message comes "indexed store transactions did not commit properly" Reason sorry an error occurred creating new project then once i click ok i get the error com.sap.portal.plu

  • FLat file  Extended analytics extract from HFM

    The file we extract is in a unicode/binary - how do we convert that to the regular mode?. Any suggestions. Thanks.

  • IPhone 5 w/iOS 6.0 (10A405) crashes when moving apps

    Not sure what the offending problem might be, but was wondering if anyone else is having this issue too?  I have the new iPhone 5 64GB AT&T version of the iPhone.  Currently I have 246 apps installed on the iPhone which takes about 9GBs of storage an

  • Ipod corrupted - cannot be restored

    My iPod got stuck on "do not disconnect." It would not eject properly (I heard this can be a problem with Windows Vista but I update it frequently, so I should have already had the update that fixes this). It does not register on Itunes and is stuck.

  • How to uninstall google drive off macbook pro

    Cant seem to figure it out. Dragging the app to the trash can doesnt work...