Data Sources (Tomcat) - mysql

I tried setting up a Data Source in Tomcat to use a mysql driver, but couldn't get it to work (my Servet wasn't able to find it using a context lookup). I got told by someone that Tomcat had a problem with Data Sources.
So I placed the mm.mysql.jar file into Tomcat's /common/lib/ and am now using the drivers directly like this;
ClassLoader cl = this.getClass().getClassLoader();
Class.forName("org.gjt.mm.mysql.Driver", true, cl).newInstance();
conn = DriverManager.getConnection("jdbc:mysql://xxx.xxx.no/dbname?user=xxx&password=xxxx");It works fine,
but I'm wondering if this will cause problems for me later? What about connection pooling etc. that I had to specify when setting up the data source in Tomcat.

PROGRESS !!
Initial problem
To set up a connection with DataSource by following
JWSDP-1.0 tutorial on Servlet's
I set up a connection with DriverManager by following
http://www-106.ibm.com/developerworks/java/library/j-banner/?dwzone=java
I set up a connection with DataSource by following
-- TOMCAT 4.1.12 > DOCUMENTATION > JNDI DataSource Howto
My guessing thought is that the root cause might be a mysql-configuration theme ..
for example, to configure
"javauser@localhost identified by 'javadude' "
actually GIVES acces,but if you try
c:>mysql -u javauser -pjavadude
I get denied acces ..!?

Similar Messages

  • Referencing JNDI data source: Tomcat 6 vs WebSphere 6.1

    Hi,
    I've noticed a problem whereby there is a difference in the way I have to specify my JNDI data source depending on the application server I deploy it on.
    In Tomcat my code specifies "java:comp/env/DB_NAME" and this works fine.
    This doesn't work though in WebSphere and I have to remove the "java:comp/env" prefix to get it to work.
    Is there a common solution for this whereby my code/properties can specify the same JNDI value?
    Thanks

    jwenting wrote:
    mycoffee wrote:
    ted_hankey wrote:
    Hi,
    I've noticed a problem whereby there is a difference in the way I have to specify my JNDI data source depending on the application server I deploy it on.
    In Tomcat my code specifies "java:comp/env/DB_NAME" and this works fine.
    This doesn't work though in WebSphere and I have to remove the "java:comp/env" prefix to get it to work.
    Is there a common solution for this whereby my code/properties can specify the same JNDI value?
    ThanksShould not be different
    wrong. There's nothing in any specification stating that jndi resource names should be identical between platforms.
    On weblogic for example it would be jdbc/DB_NAME :)No
    Tomcat, websphere or weblogic are not different in that term
    The differences are about configuration of the servers. If the servers are configured the same, it should be the same. (Check all the config xml files)
    This post is more clear
    http://www.theserverside.com/discussions/thread.tss?thread_id=42158
    I wrote my code like this
    Context intC = new InitialContext();
    Context c = (Context )intC.lookup("java:comp/env");
    DataSource ds = (DataSource)c.lookup("myDataBase");
    con = ds.getConnection();and it works for Tomcat + Websphere (did not try on Weblogic yet but believe it should be OK)

  • Connection verification failed for data source using mySQL

    Hi,
    I having problem with mySQL datasource and getting the above error. This is only happening in our staging server. We are using ColdFusion 8 running JRUN4 and trying to connect to mySQL v 5.1.41. I tried adding DSN from my localhost using ColdFusion 9 developer edition and I am able to connect without error.I know that mysql server, username & password is valid. I can access the mysql also using mySQL gui tool from different pc and it works fine. I'm believe that this has something to do with mySQL driver? Can somebody shed some light on how can I fix my DSN connection problem? Thank you.
    here's the error:
    Connection verification failed for data source: forum
    com.mysql.jdbc.CommunicationsException: Communications link failure  due to underlying exception:   ** BEGIN NESTED EXCEPTION **   java.net.ConnectException MESSAGE: Connection timed out: connect  STACKTRACE:  java.net.ConnectException: Connection timed out: connect      at java.net.PlainSocketImpl.socketConnect(Native Method)      at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)      at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)      at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)      at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)      at java.net.Socket.connect(Socket.java:519)      at java.net.Socket.connect(Socket.java:469)      at java.net.Socket.(Socket.java:366)      at java.net.Socket.(Socket.java:208)      at  com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:173)       at com.mysql.jdbc.MysqlIO.(MysqlIO.java:267)      at com.mysql.jdbc.Connection.createNewIO(Connection.java:2739)      at com.mysql.jdbc.Connection.(Connection.java:1553)      at  com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)       at  coldfusion.server.j2ee.sql.pool.JDBCPool.createPhysicalConnection(JDBCPool.java:589)       at  coldfusion.server.j2ee.sql.pool.ConnectionRunner$RunnableConnection.run(ConnectionRunner. java:67)       at java.lang.Thread.run(Thread.java:619)   ** END NESTED EXCEPTION **    Last packet sent to the server was 0 ms ago.

    http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=6ef0253
    HTH
    Tim Carley
    www.recfusion.com
    [email protected]

  • Joining multiple tables across multiple data sources in MYSQL throws error

    Hi all,
    I have to join tables across multiples MYSQL databases
    eg :
    Table T1,T2 from DB1
    Table T3 from DB2
    Columns from T3 are aggregated ( dimensional column ).
    Hence when i query using oracle answers ( say i have columns from T1,T2 and T3 ) , OBIEE tries to a query DB1 by having NULL for columns in T3
    It uses cast(NULL as INTEGER ) for columns from T3 . But MYSQL throws an error because "cast(NULL as INTEGER )" is not supported by MYSQL.
    I tried executing the query generated by OBIEE manually , if i try giving cast(NULL as SIGNED INTEGER ) , it works.
    pasting the query for reference
    select distinct D1.c2 as c1,
    D1.c1 as c2,
    cast(NULL as INTEGER ) as c3
    from
    (select distinct T87.title_id as c1,
    T59.asin as c2
    from
    print_book_catalog T59 left outer join
    title_authority T87 On T59.asin = T87.asin
    where ( T59.asin = '0345378911' )
    ) D1
    I am not able to find any config file to set this property ( and use signed integer instead of integer ) . Even DBFeatures.INI does not have relevant information.
    Can someobody please help me solve this problem.

    Stijn,
    Thank you for the article link. That was very helpful! It seems that I had a few things off as you do need the "This source should be combined with other sources at this level." checked. In my two table source columns for DATA_SOURCE I defined a literal ('086496' and '085597' for the other) in the Column Mapping tab. I pasted the following in the Fragmentation content, checking the "This source..." box on the Content tab:
    eSIS.SANDBOX4_SCHOOLS.DATA_SOURCE = '086496'
    And pasted the following into the WHERE clause, checking "Select distinct values" on the Content tab:
    sandbox4."".OBIEE.NWOCA_SCHOOLS.SCHOOL_CODE = VALUEOF(NQ_SESSION."SCHOOL") AND sandbox4."".OBIEE.NWOCA_SCHOOLS.DATA_SOURCE = VALUEOF(NQ_SESSION."GROUP")
    This took care of my user's security, utilizing the session variables in the WHERE clause. I am now able to generate reports that only one user can access from one data source and share that same report with another user who can only see data from the other data source.
    Many thanks!!!

  • How to create data source for MySql

    I m new to Creator. I m trying to connect it with MySql4.1. but the connection is not succeeding. I m using Java Connector to MySQL with jdbc 3 support. user name root.
    Wht will be the connect url.
    as my database name is cdap.

    Hi,
    Below are the steps to create mysql datasource
    1.Right clcik on the 'data sources' in the Server Navigator and choose 'Add Datasource"
    2.Click on the dropdown and choose <Add server type>. opens a 'Edit database Server types"
    3.Click on New and choose the mysql driver(ie .jar file) .Then click on suggest to get the driver class name. click on close
    4. You come back to 'Add Datasource' window.
    5. Provide the username, password and the
    url=jdbc:mysql://localhost/your database name, click Add
    MJ

  • Tomcat 6/Java/mySql: Data source name not found

    I installed the following on my laptop which has a Windows 2000 operating system:
    - ODBC Connector for mySql
    - the MySql Connector/J for Java
    ODBC
    In the Data Source ODBC Administrator of the Control panel I added a Data Source name for the mySql Database:
    Data Source Name: mysql
    Server: localhost
    Database: mysql
    When I click the Test button I get the message: Success; Connection was made!
    TOMCAT
    C:\apache-tomcat-6.0.18
    I copied mysql-connector-java-5.0.8-bin.jar into:
    - the lib folder
    - the lib folder under webapps>WEB-INF\testapp
    I added the above paths to CLASSPATH
    TOMCAT SERVER.XML
    In the server.xml file under the CONF folder I entered
    <Context path="/testapp" docBase="testapp" debug="0"
    reloadable="true" crossContext="true">
    <Resource name="jdbc/mysql"
    auth="Container"
    type="javax.sql.DataSource"
    description="The connection pool will be bound into JNDI with the name
    java:/comp/env/jdbc/MySQLDB">
    </Resource>
    <ResourceParams name="jdbc/mysql">
    <parameter>
    <name>factory</name>
    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
    </parameter>
    <parameter>
    <name>maxActive</name>
    <value>10</value>
    </parameter>
    <parameter>
    <name>maxIdle</name>
    <value>5</value>
    </parameter>
    <parameter>
    <name>driverClassName</name>
    <value>com.mysql.jdbc.Driver</value>
    </parameter>
    <parameter>
    <name>username</name>
    <value>root</value>
    </parameter>
    <parameter>
    <name>password</name>
    <value>test</value>
    </parameter>
    <parameter>
    <name>url</name>
    <value>jdbc:mysql://localhost/mysql</value>
    </parameter>
    </ResourceParams>
    </Context>
    However, when I try to run a java servlet, I am getting the following error:
    SqlException: Could not connect to database
    [ODBC Driver Manager] Data source name not found and no default driver specified
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    conn = DriverManager.getConnection(“jdbc:mysql://localhost/mysql”, strUserId, strPassword);
    MySql is actually installed on c:\Program Files\MySql\Mysql 5.0
    What am I missing? How can I get the mySql connection to work?
    Thanks,
    Robin

    You seem to be specifying JDBC driver while you are trying to connect to your database using ODBC,
    RobinHR wrote:
         <parameter>
    <name>driverClassName</name>
    <value>com.mysql.jdbc.Driver</value>
    </parameter>
                        and ,
    RobinHR wrote:
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    conn = DriverManager.getConnection(“jdbc:mysql://localhost/mysql”, strUserId, strPassword);
    *********************You would be using "sun.jdbc.jdbcodbc.Driver" rather!
    Refer MySQL sample examples/documentation on how to connect to your database using ODBC
    And this on how to create a DSN
    Edited by: anamupota on Jan 16, 2009 8:27 AM

  • Error while importing the tables from MySQL using the data source connection

    Hi,
    I am trying to import tables from MySQL into Powerpivot using the data source connection, if use the import using the Query option its working fine but not with the select list of table option.
    when i click on the select list of tables option, i get the below error after selecting all the tables to be imported:
    OLE DB or ODBC error.
    An error occurred while processing table 'XXXXXXXXXX'.
    The current operation was cancelled because another operation in the transaction failed.

    Hi Bharat17an,
    Please provide the detail information when create the MySQL connection in your PowerPivot model. Here is a good article regarding "how to Use MySQL and Microsoft PowerPivot Together" for your reference, please see:
    http://www.datamensional.com/2011/09/how-to-use-mysql-and-microsoft-powerpivot-together-2/
    If this issue still persists, please help to collection windows event log information. It maybe helpful for us to troubleshoot this issue.
    Regards,
    Elvis Long
    TechNet Community Support

  • JPA with MySQL-Data-Source

    Hello Forum,
    I have a question regarding usage of a MySQL-Data-Source in combination with JPA
    on the SAP NetWeaver Application Server, Java ™ EE 5 Edition.
    I have setup a custom datasource like explained in paper:
    "Working with Database Tables, DataSources and JMS Resources"
    - registered the database driver via telnet (Using mysql-connector-java-5.0.3-bin.jar)
    - created the data-sources.xml file underneath the META-INF dir of the EAR project
    [code]
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE data-sources SYSTEM "data-sources.dtd" >
    <data-sources>
      <data-source>
        <data-source-name>titan_cruises_ds</data-source-name>
        <driver-name>mysql-connector-java-5.0.3-bin.jar</driver-name>
         <init-connections>1</init-connections>
         <max-connections>10</max-connections>
         <max-time-to-wait-connection>60</max-time-to-wait-connection>
         <expiration-control>
              <connection-lifetime>600</connection-lifetime>
              <run-cleanup-thread>60</run-cleanup-thread>
         </expiration-control>
         <sql-engine>native_sql</sql-engine>
        <jdbc-1.x>
          <driver-class-name>com.mysql.jdbc.Driver</driver-class-name>
          <url>jdbc:mysql://ourHost.internal.com:3306/practise_titan_cruises</url>
          <user-name>myUser</user-name>
          <password>myPass</password>
        </jdbc-1.x>
      </data-source>
    </data-sources>
    [/code]
    After that I manually created the persistence.xml underneath the META-INF dir of the EJB project.
    [code]
    <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
         <persistence-unit name="titan_cruises_pu">
              <jta-data-source>titan_cruises_ds</jta-data-source>
         </persistence-unit>
    </persistence>
    [/code]
    After that I created the Entity named "Cabin" and the corresponding table within the db.
    Entity code:
    [code]
    package de.collogia.beans.pojo.ship;
    import java.io.IOException;
    import java.io.Serializable;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.Id;
    import javax.persistence.Table;
    This persisted POJO class models the cabin data.
    <p>
    In this class persistence annotations are placed on the getter methods
    of the attributes. This tells the persistence manager to access them
    via the corresponding get- and set-Methods.</p>
    (Unfortunately this does not work on NetWeaver and I had to place them
    on field level aggain...)
    @author Henning Malzahn ([email protected])
    svn-revision:         $Rev:: 670                                           $:
    svn-lasted-edited-by: $Author:: henning                                    $:
    svn-last-changed:     $Date:: 2007-02-21 21:49:51 +0100 (Wed, 21 Feb 2007) $:
    @Entity
    @Table(name = "cabin")
    public class Cabin implements Serializable {
        /** The generated serial version UID used for serialization. */
        private static final long serialVersionUID = -8522497314498903378L;
        /** The actual version number of this class used for serialization. */
        private static int actualVersion = 1;
        /** The cabin's id. */
        @Id
        @GeneratedValue
        @Column(name = "id")
        private long id;
        /** The cabin's name */
        @Column(name = "name")
        private String name;
        /** The cabin's deck level */
        @Column(name = "deck_level")
        private int deckLevel;
        /** The cabin's ship id */
        @Column(name = "ship_id")
        private int shipId;
        /** The cabin's bed count */
        @Column(name="bed_count")
        private int bedCount;
    /---- Serialization/ Deserialization methods -/
    Method that is responsible for deserialization of the object.
    @param in The <code>ObjectInputStream</code> object to read
              the data from.
    @throws IOException That may occur when reading from the
                        <code>ObjectInputStream</code> object
    @throws ClassNotFoundException That may occur when invoking the default
                                   deserialization mechanism.
        private void readObject(final java.io.ObjectInputStream in)
            throws IOException, ClassNotFoundException {
            /* Invoke default deserialization mechanism. */
            in.defaultReadObject();
            /* Read the actual version number of the class. */
            actualVersion =  in.readInt();
        } // End of readObject()
    Method that is responsible for serialization of the object.
    @param out The <code>ObjectOutputStream</code> object to write
               the data to.
    @throws IOException That may occur when writing to the
                        <code>ObjectOutputStream</code> object.
        private void writeObject(final java.io.ObjectOutputStream out)
            throws IOException {
            /* Invoke default serialization mechanism. */
            out.defaultWriteObject();
            /* Write the actual version number of the class. */
            out.writeInt(actualVersion);
        } // End of writeObject()
    /---- Defining constructors -/
    Private default constructor.
        private Cabin() {
        } // End of default constructor
    Full constructor.
    @param name The cabin's name.
    @param deckLevel The cabin's deck level.
    @param shipId The cabin's ship id.
    @param bedCount The cabin's bed count.
        public Cabin(final String name,
                     final int deckLevel,
                     final int shipId,
                     final int bedCount) {
            this.name = name;
            this.deckLevel = deckLevel;
            this.shipId = shipId;
            this.bedCount = bedCount;
        } // End of full constructor
    /---- Overridden class methods -/
    Returns a string representation of the cabin's data.
    @see java.lang.Object#toString()
        @Override
        public String toString() {
            StringBuffer strBuf = new StringBuffer();
            strBuf.append(this.name);
            strBuf.append("\n");
            strBuf.append(this.deckLevel);
            strBuf.append("\n");
            strBuf.append(this.shipId);
            strBuf.append("\n");
            strBuf.append(this.bedCount);
            return strBuf.toString();
        } // End of toString()
    /---- Defining instance methods -/
    Get method for the member "<code>id</code>".
    @return Returns the id.
        public long getId() {
            return this.id;
    Set method for the member "<code>id</code>".
    HTDODO hm: Check whether it is possible to have setId method
    using private accesss level with NetWeaver JPA-Provider!
    @param id The id to set.
        private void setId(final long id) {
            this.id = id;
    Get method for the member "<code>name</code>".
    @return Returns the name.
        public String getName() {
            return this.name;
    Set method for the member "<code>name</code>".
    @param name The name to set.
        public void setName(final String name) {
            this.name = name;
    Get method for the member "<code>deckLevel</code>".
    @return Returns the deckLevel.
        public int getDeckLevel() {
            return this.deckLevel;
    Set method for the member "<code>deckLevel</code>".
    @param deckLevel The deckLevel to set.
        public void setDeckLevel(final int deckLevel) {
            this.deckLevel = deckLevel;
    Get method for the member "<code>shipId</code>".
    @return Returns the shipId.
        public int getShipId() {
            return this.shipId;
    Set method for the member "<code>shipId</code>".
    @param shipId The shipId to set.
        public void setShipId(final int shipId) {
            this.shipId = shipId;
    Get method for the member "<code>bedCount</code>".
    @return Returns the bedCount.
        public int getBedCount() {
            return this.bedCount;
    Set method for the member "<code>bedCount</code>".
    @param bedCount The bedCount to set.
        public void setBedCount(final int bedCount) {
            this.bedCount = bedCount;
    } // End of class Cabin
    [/code]
    After that I created the TravelAgentBean, a Stateless Session Bean, implementing
    a remote interface that allows construction and persisting of new Cabin objects:
    [code]
    package de.collogia.beans.session.stateless;
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    import de.collogia.beans.pojo.ship.Cabin;
    Class that implements the <code>TravelAgentRemote</code> interface
    and defines the business methods of the TravelAgent service.
    @author Henning Malzahn ([email protected])
    svn-revision:         $Rev:: 670                                           $:
    svn-lasted-edited-by: $Author:: henning                                    $:
    svn-last-changed:     $Date:: 2007-02-21 21:49:51 +0100 (Wed, 21 Feb 2007) $:
    @Stateless
    public class TravelAgentBean implements TravelAgentRemote {
        /** The <code>Log</code> object for this class. */
    //    private static final Log LOGGER;
        /** The <code>PersistenceManager</code> object. */
        @PersistenceContext(unitName = "titan_cruises_pu")
        EntityManager em;
    /---- Static initializer -/
    //    static {
    //        LOGGER = LogFactory.getLog(TravelAgentBean.class);
    //    } // End of static initializer block
    /---- Implementing remote interface methods -/
    {@inheritDoc}
        public void createCabin(final Cabin cabin) {
            this.em.persist(cabin);
        } // End of createCabin()
    } // End of class TravelAgentBean
    [/code]
    After that I created a Controller class containing a main method that looks up the remote
    interface of the TravelAgentBena like explained in document "Accessing Enterprise JavaBeans Using JNDI
    in SAP NetWeaver Application Server, Java ™ EE 5 Edition" written by Validimir Pavlov of SAP NetWeaver
    development team.
    Unfortunately I receive an Exception after invoking the createCabin(...) method.
    On the console of the NWDS I receive:
    [code]
    javax.ejb.EJBException: Exception in getMethodReady() for stateless bean sap.com/test2Earannotation|test2Ejb.jarannotation|TravelAgentBean;
    nested exception is: com.sap.engine.services.ejb3.util.pool.PoolException: javax.ejb.EJBException: Cannot perform injection over bean instance
    Caused by: java.lang.RuntimeException: The persistence unit is inconsistent:
    The entity >>de.collogia.beans.pojo.ship.Cabin<< is mapped to the table >>cabin<<, which does not exist.
    [/code]
    But if I look at the log file located in "C:\NWAS_JAVAEE5\JP1\JC00\j2ee\cluster\server0\log\defaultTrace.0.trc"
    I see the real reason is:
    [code]
    [EXCEPTION]
    #6#1064#42000#You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax
    to use near '"cabin"' at line 1#collnx02.collogia.de:3306:null:practise_titan_cruises#select * from "cabin"#com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"cabin"' at line 1
         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
         at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
         at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
         at com.mysql.jdbc.Connection.execSQL(Connection.java:3124)
         at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1149)
         at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1262)
         at com.sap.sql.jdbc.basic.BasicPreparedStatement.executeQuery(BasicPreparedStatement.java:99)
         at com.sap.sql.jdbc.direct.DirectPreparedStatement.executeQuery(DirectPreparedStatement.java:307)
         at com.sap.sql.jdbc.direct.DirectPreparedStatement.executeQuery(DirectPreparedStatement.java:264)
         at com.sap.engine.services.dbpool.wrappers.PreparedStatementWrapper.executeQuery(PreparedStatementWrapper.java:274)
    [/code]
    My goodness - what a long post - sorry for this - I hope I provided all information
    necessary to deal with the issue.
    Am I thinking in the right direction to blame attribute [code]<sql-engine>native_sql</sql-engine>[/code]
    of file data-sources.xml for the beaviour? Are there any other argument options than native_sql?
    Thanks in Advance!
    Henning Malzahn

    Hi Henning,
    > Despite the fact it's working now I have to do some
    > changes to my code currently
    > developed using JBoss/ Hibernate combination.
    > Hibernate allows you to have the
    > default no-arg constructor with private visibility -
    > any special reason for the fact that
    > only protected is allowed on NetWeaver?
    Here we strictly implemented the checks according to the requirements of the JPA specification. Technically, we could do with private constructors as well. But the JPA specifications requires the constructor to be protected to allow a JPA implementation to subclass entities if needed.
    > The entities in the project are final classes
    > so declaring a ctor protected doesn't really make
    > sense...
    For the same reason, your entities should not be final. Are we missing a check here ?
    > Also the persistence.xml parameter
    >
    hibernate.hbm2ddl.auto
    with the value of
    > create-drop is very useful while
    > developing the app - everytime you deploy the project
    > you get a fresh database.
    > Is there a comparable option for NetWeaver?
    No, unfortunately, there is no comparable option in SAP JPA (yet). We understand that there is a need for forward mapping. We would have liked to delegate this task to the JPA design time (i.e. Dali). However, we had to discover that Dali does not perform this task properly and we can't recommend using it any more.
    Consequently, there is no automatic schema generation in SAP JPA 1.0.
    >
    > Another thing is the extra TMP_SEQUENCE table which
    > isn't necessary using JBoss and
    > Hibernate - what's the reason for that?
    With Hibernate Entity Manager, the id generation strategy in use with GenerationType.AUTO depends on the database dialect. This means that depending on the database dialect, IDENTITY columns, SEQUENCES or generator tables (TableHiLo) are required. As Hibernate has the before mentioned schema generation property this fact can be hidden to the user.
    In SAP JPA, we are always using a table generator if GenerationType.AUTO is used. This allows for better portability across databases. It requires the table TMP_SEQUENCE. As we unfortunately do not have a schema generation capability, the user must create this table.
    Best regards,
    Adrian

  • JNDI, Data Source and Tomcat

    Hi,
    I am using Tomcat 4.1
    I am using JDBC to connect to to SQL 2000.
    In the past I use JDBC 2.0 standsrd package to connect to it and it was fine.
    Now, for some reason, I need to use DataSource via JNDI.
    Here is my server.xml
    <Resource name="jdbc/SQLNorthwind" scope="Shareable" type="javax.sql.DataSource"/>
    <ResourceParams name="jdbc/SQLNorthwind">
    <parameter>
    <name>validationQuery</name>
    <value>select * from Products</value>
    </parameter>
    <parameter>
    <name>url</name> <value>jdbc:microsoft:sqlserver://W2KSERVER1:1433;DatabaseName=Northwind</value>
    </parameter>
    <parameter>
    <name>password</name>
    <value>george</value>
    </parameter>
    <parameter>
    <name>maxActive</name>
    <value>20</value>
    </parameter>
    <parameter>
    <name>maxWait</name>
    <value>5000</value>
    </parameter>
    <parameter>
    <name>driverClassName</name>
    <value>com.microsoft.jdbcx.sqlserver.SQLServerDataSource</value>
    </parameter>
    <parameter>
    <name>username</name>
    <value>george</value>
    </parameter>
    <parameter>
    <name>maxIdle</name>
    <value>2</value>
    </parameter>
    </ResourceParams>
    It was generated by the Tomcat admin tools via the web browser.
    It is my web.xml
    <servlet>
    <servlet-name>JNDIDatabase</servlet-name>
    <display-name>JNDIDatabase</display-name>
    <description>JNDIDatabase</description>
    <servlet-class>com.testing.servlet.jdbc.jndi.JNDIDatabase</servlet-class>
    </servlet>
    Now here is my servlet source code for connection testing
    private Connection conn;
    private Statement stmt;
    private ResultSet rs;
    public void init(ServletConfig config) throws ServletException {
    super.init(config);
    try {
    Context ctx = new InitialContext();
    DataSource ds = (DataSource) ctx.lookup("jdbc/SQLNorthwind");
    conn = ds.getConnection("george", "george");
    } catch(NamingException e) {
    this.log("Naming exception in JNDIDatabase init", e);
    e.printStackTrace();
    } catch(SQLException e) {
    this.log("SQL exception in JNDIDatabase init", e);
    e.printStackTrace();
    The problem is no connection is obtained in init(). So what's wrong with my setting/code? Please help me to fix my setting/code.
    Thank you in advance.

    Follow what you said, no more NamingException. Thanks, Dave.
    now I receive another error.....
    2002-10-18 00:34:12 JNDIDatabase: SQL exception in JNDIDatabase init
    java.sql.SQLException: Cannot load JDBC driver class 'com.microsoft.jdbcx.sqlserver.SQLServerDataSource'
         at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:529)
         at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:329)
         at hk.com.scope.servlet.jdbc.jndi.JNDIDatabase.init(JNDIDatabase.java:37)
         at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:924)
         at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:658)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2388)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:380)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:533)
         at java.lang.Thread.run(Thread.java:536)
    I am sure msutil.jar, mssqlserver.jar and msbase.jar are stored in /WEB-INF/lib directory and using them in standard JDBC is OK!
    This is an extraction from MS JDBC help file.....
    The data source class for the SQL Server driver is:
    com.microsoft.jdbcx.sqlserver.SQLServerDataSource
    For information on SQL Server 2000 Driver for JDBC data sources, see "Connecting Through Data Sources".
    The driver class for the SQL Server driver is:
    com.microsoft.jdbc.sqlserver.SQLServerDriver
    com.microsoft.jdbc.sqlserver.SQLServerDriver is working properly, I am sure.

  • Using MySQL data source in OWB

    Hi All,
    I need to use a MySQL data source in OWB. Could you please tell me the steps needed to define and configure the MySQL module in OWB?
    Thanks and Regards,
    Amit

    Directly in the source component, or in the expressions property of the data flow?
    If the latter, what happens when you preview your expression?
    MCSE SQL Server 2012 - Please mark posts as answered where appropriate.

  • Data warehouse Admin Console - MySQL Physical Data Source

    We have some tables on a MySQL database that we'd like to include in our ETL process. The data is to be loaded into our Oracle 11g R1 data warehouse after the transformations are completed.
    Everything works with the exception of adding a physical data source in the DAC (Data warehouse administration console) for the MySQL database. There is no connection type for this database. I don't see how it's setup in the documentation.
    Can someone explain what needs to be done or direct me to the docs? Or, can this be done?
    Does it have to be done? The connection details are stored in the odbc.ini file on the server. So that's managed by Informatica. Will the workflow call from the DAC be sufficient?
    Thanks,
    LWatkins
    DAC 10.1.3.4.0.20080729.2025
    Informatica PowerCenter 8.1.1
    AIX 5.3/64Bit
    OBIA 7.9.5
    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit
    MySQL 5.5
    Edited by: LWatkins on Mar 25, 2013 12:32 PM

    I would suggest this work only if you are able to connect MySQL thru Informatica;
    1) Create Connection in Worflow Manager and try to use the same connecton in sessions and try to avoid parameters from dac
    2) Create same connection in DAC pointing to Oracle or MSSQL or DB2
    3) Add tasks in DAC and do not add source and target tables
    Another workaround to handling full loads using dac system variables or any other
    If helps mark
    Edited by: Srini VEERAVALLI on Mar 25, 2013 4:49 PM

  • How to create JNDI data source name in Tomcat 6.0.18 server?

    Hai,
    How to create JNDI data source name in Tomcat 6.0.18 server?
    Regards,
    MariMuthu.A

    [http://google.com/search?q=jndi+site:tomcat.apache.org+6.0]

  • Data Source in TOMCAT 5.5.4. Does anyone know the procedure to do that.

    Hi
    I desperately need help to configure Data source in Tomcat..can any one help me on this?
    please mail me on [email protected]
    thanks

    Look Here
    Or try this
    JJ

  • Data source error in Tomcat

    I have encountered a puzzle question with Tomcat,I setup a DSN with Microsoft OLE DB Provider for ODBC Drivers,when I start tomcat with C:\Tomcat5.5\bin\tomcat5w.exe,I get a error:
    [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
    Then I don't open the page "http://localhost:8080"
    But when I start tomcat with C:\Tomcat5.5\bin\tomcat5.exe,I can start tomcat and I don't get above error,and I can visit "http://localhost:8080"
    Why I can't start Tomcat with tomcat5w.exe and can start Tomcat with tomcat5.exe?
    I am puzzled with this question for a several days! I don't know how to solve it. Any body meet with my question?
    Any idea will be appreciated!
    Thanks in advance

    I use Microsoft Access Database,is it a bug of Tomcat?

  • Tomcat error when using data source.

    Hello,
    I have a problem in that Tomcat does not seem to be recognising my DB Driver. I have tried linking a global data source to my application as well as adding a project specific one with no luck. Here is some of my files:
    //Web.xml
    <?xml version='1.0' encoding='UTF-8'?>
    <web-app
    version="2.4"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_2_4.xsd"
    >
    <display-name>DataSourceExample</display-name>
    <servlet>
    <display-name>welcome</display-name>
    <servlet-name>welcome</servlet-name>
    <jsp-file>/welcome.jsp</jsp-file>
    </servlet>
    <servlet>
    <display-name>DataSourceExample</display-name>
    <servlet-name>DataSourceExample</servlet-name>
    <jsp-file>/DataSourceExample.jsp</jsp-file>
    </servlet>
    <welcome-file-list>
    <welcome-file>welcome.jsp</welcome-file>
    </welcome-file-list>
    <resource-ref>
    <res-ref-name>jdbc/DataSourceExample</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>
    </web-app>
    //server.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <Server>
      <Listener className="org.apache.catalina.core.AprLifecycleListener"/>
      <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
      <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
      <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
      <GlobalNamingResources>
        <Environment
          name="simpleValue"
          type="java.lang.Integer"
          value="30"/>
        <Resource
          name="jdbc/DataSourceExample"
          type="javax.sql.DataSource"
          maxActive="4"
          maxIdle="2"
          username="hr"
          maxWait="5000"
          driverClassName="oracle.jdbc.driver.OracleDriver"
          password="secret"
          url="jdbc:oracle:thin:@127.0.0.1:1521:xe"/>
        <Resource
          auth="Container"
          description="User database that can be updated and saved"
          name="UserDatabase"
          type="org.apache.catalina.UserDatabase"
          factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
          pathname="conf/tomcat-users.xml"/>
      </GlobalNamingResources>
      <Service
          name="Catalina">
        <Connector
            port="8084"
            redirectPort="8443"
            minSpareThreads="25"
            connectionTimeout="20000"
            maxThreads="150"
            maxSpareThreads="75">
        </Connector>
        <Connector
            port="8009"
            redirectPort="8443"
            protocol="AJP/1.3">
        </Connector>
        <Engine
            defaultHost="localhost"
            name="Catalina">
          <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
          <Host
              appBase="webapps"
              name="localhost">
             <Context
                path="/DataSourceExample"
              <ResourceLink
                global="jdbc/DataSourceExample"
                name="jdbc/DataSourceExample"
                type="javax.sql.DataSource"/>
            </Context>
          </Host>
        </Engine>
      </Service>
    </Server>
    //A java snippet I am using to access the DB
    InitialContext context = new InitialContext();
    DataSource dataSource =
    (DataSource) context.lookup("java:comp/env/jdbc/DataSourceExample");
    Connection conn = null;
    Statement stmt = null;
    ResultSet rset = null;
    try {
    conn = dataSource.getConnection();
    stmt = conn.createStatement();I also have my DB drivers in the commons/lib file. I know the connect string works fine because I can access the DB from Eclipse when writing standard Java code.
    This is a common problem and I have been searching Google for the last 3 hours but nothing I have tried has fixed my problem.
    I am using Tomcat 5.5 and J2EE 5. I am creating the links and resources in Tomcat manager.
    I don't get any logs or stacktrace, the only error I get is as follows in the returned JSP page:
    DataSource Example
    Cannot create JDBC driver of class '' for connect URL 'null'What am I doing wrong?
    Cheers
    EDIT:
    Actually there was some output from the shell. Here it is:
    org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of cla
    ss '' for connect URL 'null'
            at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDat
    aSource.java:780)
            at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSo
    urce.java:540)
            at org.apache.jsp.DataSourceExample_jsp._jspService(DataSourceExample_js
    p.java:61)
            at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
            at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
    .java:332)
            at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
    14)
            at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
    icationFilterChain.java:252)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
    ilterChain.java:173)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
    alve.java:213)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
    alve.java:178)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
    ava:126)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
    ava:105)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
    ve.java:107)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
    a:148)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
    :869)
            at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
    rocessConnection(Http11BaseProtocol.java:664)
            at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
    int.java:527)
            at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
    lowerWorkerThread.java:80)
            at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
    ool.java:684)
            at java.lang.Thread.run(Thread.java:619)
    Caused by: java.lang.NullPointerException
            at sun.jdbc.odbc.JdbcOdbcDriver.getProtocol(JdbcOdbcDriver.java:507)
            at sun.jdbc.odbc.JdbcOdbcDriver.knownURL(JdbcOdbcDriver.java:476)
            at sun.jdbc.odbc.JdbcOdbcDriver.acceptsURL(JdbcOdbcDriver.java:307)
            at java.sql.DriverManager.getDriver(DriverManager.java:253)
            at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDat
    aSource.java:773)
            ... 22 more
    org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of cla
    ss '' for connect URL 'null'
            at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDat
    aSource.java:780)
            at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSo
    urce.java:540)
            at org.apache.jsp.DataSourceExample_jsp._jspService(DataSourceExample_js
    p.java:61)
            at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
            at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
    .java:332)
            at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
    14)
            at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
    icationFilterChain.java:252)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
    ilterChain.java:173)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
    alve.java:213)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
    alve.java:178)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
    ava:126)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
    ava:105)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
    ve.java:107)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
    a:148)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
    :869)
            at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
    rocessConnection(Http11BaseProtocol.java:664)
            at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
    int.java:527)
            at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
    lowerWorkerThread.java:80)
            at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
    ool.java:684)
            at java.lang.Thread.run(Thread.java:619)
    Caused by: java.lang.NullPointerException
            at sun.jdbc.odbc.JdbcOdbcDriver.getProtocol(JdbcOdbcDriver.java:507)
            at sun.jdbc.odbc.JdbcOdbcDriver.knownURL(JdbcOdbcDriver.java:476)
            at sun.jdbc.odbc.JdbcOdbcDriver.acceptsURL(JdbcOdbcDriver.java:307)
            at java.sql.DriverManager.getDriver(DriverManager.java:253)
            at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDat
    aSource.java:773)
            ... 22 moreI am using ojdbc14.jar driver and as I mentioned it is in commons/lib
    Message was edited by:
    helloWorld
    Message was edited by:
    helloWorld

    Putting the driver into [TOMCAT]/common/lib is sufficient.
    The error I think is not related to finding the driver, but actually not retrieving the correct connection string info.
    I never had much luck putting this definition info into server.xml
    I have had success putting it into a custom context.xml file for a web app as described [url http://tomcat.apache.org/tomcat-5.5-doc/config/context.html]here
    in individual files (with a ".xml" extension) in the $CATALINA_HOME/conf/[enginename]/[hostname]/ directory. The name of the file (less the .xml) extension will be used as the context path. Multi-level context paths may be defined using #, e.g. context#path.xml. The default web application may be defined by using a file called ROOT.xml.
    eg [TOMCAT]/conf/catalina/localhost/DataSourceExample.xml
    Hope this helps,
    evnafets

Maybe you are looking for