Regarding ODBC/JDBC driver

Hi
To connect SAP BO Tools with HANA, document says ODBC/JDBC thru SQL is required.
What does it mean.. Does connectivity need both or we can use any one of them?
Anybody know when to use which one?.
To my understanding, i feel either one of them can be used...but when it has to be used?
No document explains on this.. pls share if any document.
Regards
Magalingam

Hi,
To Connect BO Tools to HANA,using jdbc driver is recommended.ODBC will be used by the Tools like Analysis for Office and Excel in somecases(through MS SQL Query option).
You can create a relational connection using the jdbc driver in IDT and can publish to BOE CMC which can be used for the creation of Universe so that BO Tools like Dashboard,Crystal Reports,WebI and Explorer can consume HANA data through this JDBC Connection.
Hope this helps you.
Rgds,
Murali

Similar Messages

  • Oracle JDBC Driver and OC4J 9.0.2.0.0A

    Where is the JDBC Driver located in OC4J 9.0.2.0.0A? In
    1.0.2.2.1 it was located in j2ee\home\lib (as it should be
    IMHO). In OC4J 9.0.2.0.0A there is no file classes12.zip at all
    (only classes12dms.jar?)
    Any hints would be very welcome.
    Regards
    Stefan

    Oracle JDBC driver is in jdbc\lib directory
    jdbc directory is in the sae level as j2ee directory

  • ODBC-JDBC Bridge

    Hello everybody,
    I am working on project to create an ODBC-JDBC Bridge which exposes a JNI layer between the ODBC and the JDBC calls.
    In short :
    Lets consider,
    Java already has a JDBC driver. X is a project manager who wants to use the functionality of this driver in C++. One option is to rewrite the entire driver in C++. X is now worried because he does not want to waste time and resource in doing this resource. In mean time Y gives a valid suggestion. He proposes to replicate the entire class structure of the JDBC driver. Effectively he would end up writing a wrapper class that exposes JNI methods to talk to the JDBC driver. So the classes he finally develops are just wrappers which send and get data to and from the driver.
    My Progress :
    Basically I tool following approach :
    1. I created a JNI wrapper class that would replicate all the Java classes embedded in the jar files.Please note here that the C++ code is just act as a wrapper.The Wrapper is only acting as an access point between the C++ and the JAVA code.
    2. Now how to use these wrapper to bridge ODBC - JDBC driver?
    Can anyone please give me right direction after step 1 (any type of valid suggestions are accepted .... documents,links,steps,flow etc....)?
    Thanks in Advance....

    Is this a real project? What are the actual requirements, since this seems a little backwards. What is the actual database that has a JDBC driver but no ODBC driver. Writing the driver in C or C++ is probably a better choice.
    Or is this an academic exercise?
    And yes, these questions are "valid suggestions", and even if they weren't you have no control over what responses you will get on this forum.

  • How Oracle JDBC driver determine DATE data type parameter if it is not specified

    Hello,
    Oracle JDBC driver determine the DATE data type of parameter correctly without any typecasting.
    Example:
    ps = conn.prepareStatement("SELECT ? FROM DUAL");
    ps.setObject(1, Date.valueOf("2014-01-11"));
    How Oracle JDBC driver determine the DATE data type of parameter.
    Thought?
    Regards,
    Vinayak

    Oracle JDBC driver determine the DATE data type of parameter correctly without any typecasting.
    Example:
    ps = conn.prepareStatement("SELECT ? FROM DUAL");
    ps.setObject(1, Date.valueOf("2014-01-11"));
    How Oracle JDBC driver determine the DATE data type of parameter.
    Your question isn't clear. If the driver is doing it correctly what PROBLEM are you having? What exactly do you consider 'correct'? What results are you getting? What driver name and version are  you using? What Oracle DB version are you using?
    For the code you use above the 'Date' you specify is a java.sql.Date instance
    http://docs.oracle.com/javase/8/docs/api/java/sql/Date.html#valueOf-java.lang.String-
    public static Date valueOf(String s)
    Converts a string in JDBC date escape format to a Date value.
    Parameters:
    s - a String object representing a date in in the format "yyyy-[m]m-[d]d". The leading zero for mm and dd may also be omitted.
    Returns:
    a java.sql.Date object representing the given date
    The JDBC Dev Guide shows that is mapped to an oracle.sql.DATE
    http://docs.oracle.com/cd/E11882_01/java.112/e16548/datacc.htm#g1028145
    Oracle DATE datatypes have both date and time components. Depending on the JDBC driver version and DB version you are using an Oracle date could be mapped to a Java Date (which does NOT have a time component) or, for current versions, would be considered a timestamp..

  • J2EE and JDBC-ODBC bridge driver

    Hi all,
    in my application I want to access an ODBC database to get the data and put it into cloudscape. In my resources.properties I added the jdbc driver
    jdbcDriver.1.name=sun.jdbc.odbc.JdbcOdbcDriverand also added a datasource
    jdbcDataSource.5.name=jdbc/MyOdbc
    jdbcDataSource.5.url=jdbc\:odbc\:odbc-nameAfter starting j2ee 1.3.1 the server reports following error:
    Error in creating data source object: jdbc/MyOdbcWhat's going wrong? Thanks for your help.
    -chris

    additional information:
    The phenomenon happens only if I use J2SDK 1.4.0. Running the 1.3.1 the driver is loaded without any problems.
    Is it a security issue or am I not allowed to use 1.4 because it's too new?
    -chris

  • Regarding JDBC Driver Connectivity

    Hi All,
    Presently we are using DB6 data base and how can i get JDBC driver information and connection paramters those are required for Implementing JDBC Adapters in XI. Please give u r inputs towards How can I find the connectivity details of Database
    Thanks

    Hi Yadagiri,
       Please see the below links
    /people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30 -
    > File to JDBC
      For more information see the belwo link:
       http://help.sap.com/saphelp_nw04/helpdata/en/64/ce4e886334ec4ea7c2712e11cc567c/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/64/ce4e886334ec4ea7c2712e11cc567c/content.htm
      Please let me know if you have any queriess...!
      Thanks and Regards,
      Chandu.

  • 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 .

  • What's the URL in a JDBC-ODBC bridge driver connection?

    I'm trying to use a JDBC-ODBC bridge driver but I don't know what is the URL I need to put inside a the "getConnection (String URL, String userid, String passwd)" method.
    Connection conn = DriverManager.getConnection(URL, user, passwd);
    Can anybody help me?

    Yes Marc,
    but maybe Edgar should know that he first has to add a ODBC datasource.
    in WINNT
    Goto System ODBC Datasources and try to connect to your DB.
    If the test is working than you can use the name you have chosen
    as URL
    good luck
    Stefan

  • Can't find jdbc-odbc bridge driver

    Hi
    I've installed sdk 2.0 (v1.4.1) and am getting the runtime error:
    "Exception in thread main java.lang.NoClassDefFoundError <prog name>/class" from the java prompt.
    I suspect it is the jdbc-odbc bridge driver that is the problem. It should have downloaded with the SD 2.0 installation, but I can't find it on my NT PC.
    Any ideas?

    I suspect you are using,java <program_name>.class to execute your program.
    Then it will try to find the promram 'class' in the package '<program_name>'.
    You need to use, java <program_name>, thats all.
    For eaxample if you have Prg1.java, then use,
    'javac Prg1.java' to compile it and 'java Prg1' to run it.
    Sudha

  • JDBC ODBC Bridge/Driver???

    Hi,
    Please can someone help me?
    I'm a 4th year computer science student and have a final year project to do using databases. My problem is finding a JDBC:ODBC driver/bridge(what's the difference?).Every tutorial on the web says use the
    sun.jdbc.odbc.JdbcOdbcDriver, that's all well and good but where do I get it?I've tried downloading JDBC API's but still no joy. When I do finally find a driver do I need to copy it to the folder where the rest of my project is,
    (that's what I had to do for a mysql driver I had to use before). I want to use Microsoft Access with the project for portability and ease of alteration, do I need to set up an ODBC driver for my database as well as using the JDBC:ODBC bridge?
    That probably came out like complete double dutch but I hope someone out there can make sense of it and help me.

    Please can someone help me?Start with a tutorial http://java.sun.com/docs/books/tutorial/jdbc/index.html
    Basic info on your particular problem:
    JDBC defines an 'interface' that allows one to access databases. That usually consists of serveral parts: the database, the interface layer, the jdbc driver and jdbc itself.
    JDBC comes with java. In addition a single jdbc driver, the 'jdbc-odbc bridge' driver comes with java. To use that particular driver you also need the 'interface layer' which for MS Acess will mostly already be available to you - basically the ODBC shell (not part of java) and the MS Access ODBC driver (also not part of java.)
    Keep in mind that the jdbc-odbc bridge driver uses the ODBC that is already on the box. ODBC itself is not part of the driver.
    You will probably need to configure ODBC for use as a 'DSN' (Data Source Name?). To do that you go to the control panel and use the ODBC (Data Sources) applet. Pick 'System DSN' (a panel in the dialog), push 'Add' and follow the prompts by picking a MS Access driver. You can either use 'create' or 'select' at the end to create or use an existing database.
    If this seems like too much work then search the JDBC forum using "DSN-less" as the search string. The discussions there will tell you how to set up a connect string without creating a DSN.
    If you have further questions on this particular subject it would be best to post them to the JDBC forum rather than here.

  • JDBC-ODBC Bridge Driver Suitable?

    I'm implementing a web site for a small company, so will be using MS Access for the database.
    Will a JDBC-ODBC Bridge driver be suitable?
    I ask this as I have heard that JDBC-ODBC Bridge drivers are only suitable for testing purposes - not commercial use.
    Cheers

    Ideally, you should use a third-party driver in your implementation. Not that there's anything wrong with the JDBC-ODBC Driver, but like you said, Sun never really intended it to be used for mainstream applications. It was developed to serve as a generic driver until third party drivers could be developed and released. Now that there's plenty of good third party drivers out there, the use of the JdbcOdbcDriver is really not recommended. Here's a list of current drivers available for MS Access.
    http://servlet.java.sun.com/products/jdbc/drivers/search_results.jsp?jdbc_version=0&vendor_name=&cert_mode=and&jdbc_driver_type_mode=and&dbms=6&dbms_mode=and&features_mode=and&results_per_page=20&submit=Search

  • Com.mysql.jdbc.driver and jdbc:odbc bridge driver

    Hi All,
    I want to update mysql database from data in hashtable. My application already uses JDBC:OBDC bridge driver for retrieving data from excel sheet and putting in hashtable.
    For connecting to mysql i need to use com.mysql.jdbc.driver too in the same code.
    How to do that?
    my code uses.
    Read(String strFilePath,String strFileName)
               filepath = strFilePath;
               filename = strFileName;
                strDriver= "jdbc:odbc:Driver={MicroSoft Excel Driver (*.xls)}";Thanks

    Please stay with one thread:
    http://forum.java.sun.com/thread.jspa?threadID=5145466&tstart=0
    Please don't cross-post this way.

  • Issues while configuring java application using JDO with MS JDBC Driver 1.0

    We are in the process of configuring our java application with the production version of SQL Server 2005 Java Database Connectivity (JDBC) Driver 1.0. We are facing issues getting it to work with Sun App Server using JDO concept.
    After creating the data store, adding the JDBC driver to the application server classpath through console and also copying the driver into the lib directory, we are still getting the below error.
    Following is the stack trace encountered while running the application
    [#|2006-02-15T10:21:25.493+0530|WARNING|sun-appserver-pe8.1_02|javax.enterprise.system.container.ejb.entity.finder|_ThreadID=30;|JDO74010: Bean 'InventoryEJB' method ejbFindAllInventoryItems: problems running JDOQL query.
    com.sun.jdo.api.persistence.support.JDOFatalInternalException: JDO76519: Failed to identify vendor type for the data store.
    NestedException: java.sql.SQLException: Error in allocating a connection. Cause: javax.transaction.SystemException
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.initializeSQLStoreManager(SQLPersistenceManagerFactory.java:870)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.getFromPool(SQLPersistenceManagerFactory.java:786)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.getPersistenceManager(SQLPersistenceManagerFactory.java:673)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerFactoryImpl.getPersistenceManager(PersistenceManagerFactoryImpl.java:849)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerFactoryImpl.getPersistenceManager(PersistenceManagerFactoryImpl.java:681)
         at com.sun.j2ee.blueprints.supplier.inventory.ejb.InventoryEJB1142755294_ConcreteImpl.jdoGetPersistenceManager(InventoryEJB1142755294_ConcreteImpl.java:530)
         at com.sun.j2ee.blueprints.supplier.inventory.ejb.InventoryEJB1142755294_ConcreteImpl.ejbFindAllInventoryItems(InventoryEJB1142755294_ConcreteImpl.java:146)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:147)
         at com.sun.ejb.containers.EJBLocalHomeInvocationHandler.invoke(EJBLocalHomeInvocationHandler.java:185)
         at $Proxy164.findAllInventoryItems(Unknown Source)
         at com.sun.j2ee.blueprints.supplier.inventory.web.DisplayInventoryBean.getInventory(Unknown Source)
         at org.apache.jsp.displayinventory_jsp._jspService(displayinventory_jsp.java:119)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:105)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:336)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:251)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
         at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
         at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
         at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
         at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:723)
         at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:482)
         at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:417)
         at org.apache.catalina.core.ApplicationDispatcher.access$000(ApplicationDispatcher.java:80)
         at org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run(ApplicationDispatcher.java:95)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:313)
         at com.sun.j2ee.blueprints.supplier.inventory.web.RcvrRequestProcessor.doPost(Unknown Source)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:767)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
         at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
         at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
         at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:185)
         at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:653)
         at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:534)
         at com.sun.enterprise.web.connector.grizzly.ProcessorTask.doTask(ProcessorTask.java:403)
         at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:55)
    Can anyone help me on this issue?
    Regards,
    Bindu

    I have already tried this before and this not work too, but strange that even if I use JDBC:ODBC bridge driver, the return value for output parameters are not correct, that is, only return the value that I input but not the value after executed in the procedure....
    The code that I used with JDBC:ODBC bridge is as follow:
    public static void main(String[] args) {
    String url = "jdbc:odbc:;DRIVER=SQL Server;Persist Security Info=False;database=db;Server=sql;uid=sa;pwd=pwd";
              Connection con;
              ResultSet rs = null;
    CallableStatement callS = null;
              try {
                   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);
    callS = con.prepareCall("{ call dbo.CpJavaTest (?)}");
    callS.registerOutParameter(1, Types.INTEGER);
    callS.execute();
    rs=callS.getResultSet();
    int ret = callS.getInt(1);
    System.out.println("return value : " + ret);
                   while (rs.next()) {
                        String f1 = rs.getString(4);
                        String f2 = rs.getString(5);
                        System.out.println(f1 + " " + f2);
              } catch(SQLException ex) {
                   System.out.println("SQLException: " + ex.getMessage());
    The value of the output parameter is same as what I inputed! Hope any one can teach me how to correct it...
    Thank you very much!

  • Error loading JDBC driver

    Hi,
    I have an rpt file developed in crystal report 2008. it connects to SQL Server using ODBC(RDO) connection. I have a jsp file that needs to change the datasource to use JDBC (JNDI). The scriptlet for changing datasource is given below. I have my sqljdbc.jar in the web-inf\lib folder of my application as well as in \server\{server_name}\lib folder. when I try to run the jsp it gives me error as follows :
    ERROR [com.businessobjects.reports.sdk.JRCCommunicationAdapter]  detected an exception: Error loading JDBC driver.  The class 'com.microsoft.jdbc.sqlserver.SQLServerDriver' could not be found.
         at com.crystaldecisions.reports.queryengine.Connection.t1(Unknown Source)
         at com.crystaldecisions.reports.dataengine.dfadapter.DFAdapter.a(Unknown Source)
         at com.crystaldecisions.reports.dataengine.dfadapter.DFAdapter.for(Unknown Source)
         at com.crystaldecisions.reports.reportdefinition.ReportHelper.a(Unknown Source)
         at com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.long(Unknown Source)
         at com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.a(Unknown Source)
         at com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.byte(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.do(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.a(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.call(Unknown Source)
         at com.crystaldecisions.reports.common.ThreadGuard.syncExecute(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.for(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.int(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
         at com.businessobjects.sdk.erom.jrc.a.a(Unknown Source)
         at com.businessobjects.sdk.erom.jrc.a.execute(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.RemoteAgent$a.execute(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.CommunicationChannel.a(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.RemoteAgent.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ds.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
         at ....
    <br>
    <br>
    Scriptlet :
    <%
    //Report can be opened from the relative location specified in the CRConfig.xml, or the report location
    //tag can be removed to open the reports as Java resources or using an absolute path (absolute path not recommended
    //for Web applications).
    final String DBUSERNAME = "sa";
    final String DBPASSWORD = "password";
    final String CONNECTION_STRING = "!com.microsoft.jdbc.sqlserver.SQLServerDriver!jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=;user=;password=";
    final String TRUSTEDCON = "false";
    final String PREQESERVERNAME = "jdbc:microsoft:sqlserver://localhost:1433";
    final String SERVERTYPE = "JDBC (JNDI)";
    final String DATABASE_DLL = "crdb_jdbc.dll";
    final String DATABASE = "bssc";
    final String DBCLASSNAME = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    final String USEJDBC = "true";
    final String DATABASE_NAME = "bssc";
    final String SERVERNAME = "jdbc:microsoft:sqlserver://localhost:1433";
    final String CONNECTIONURL = "jdbc:microsoft:sqlserver://localhost:1433";
    final String SERVER = "localhost";
    %>
    <%          
              final Logger logger = Logger.getLogger(ReportAction.class.getName());
              final String REPORT_NAME = "../reports/Krt.rpt";
    try {
              ReportClientDocument oReportClientDocument = new ReportClientDocument();
              oReportClientDocument.open(REPORT_NAME, 0);
         // Create the two connectioninfo objects to use
         IConnectionInfo oldConnectionInfo =  new ConnectionInfo();
         IConnectionInfo newConnectionInfo = new ConnectionInfo();
         // Assign the old Connection info to the reports current info
         DatabaseController dbController = oReportClientDocument.getDatabaseController();
         oldConnectionInfo = dbController.getConnectionInfos(null).getConnectionInfo(0);                                       
         // If this connection needed parameters, we would use this field.      
         Fields pFields = null;
         // Create a new propertybag for the new location
         PropertyBag boPropertyBag1 = new PropertyBag();
         // Set new table logon properties
         boPropertyBag1.put("JDBC Connection String", CONNECTION_STRING);
         boPropertyBag1.put("Trusted_Connection", TRUSTEDCON);
         boPropertyBag1.put("PreQEServerName", PREQESERVERNAME);
         boPropertyBag1.put("Server Type", SERVERTYPE);
         boPropertyBag1.put("Database DLL", DATABASE_DLL);
         boPropertyBag1.put("Database", DATABASE);
         boPropertyBag1.put("Database Class Name", DBCLASSNAME);
         boPropertyBag1.put("Use JDBC", USEJDBC);
         boPropertyBag1.put("Database Name", DATABASE_NAME);
         boPropertyBag1.put("Server Name", SERVERNAME);
         boPropertyBag1.put("Connection URL", CONNECTIONURL);
         boPropertyBag1.put("Server", SERVER);
         // Assign the properties to the connection info
         newConnectionInfo.setAttributes(boPropertyBag1);
         // Set the DB Username and Pwd
         newConnectionInfo.setUserName(DBUSERNAME);
         newConnectionInfo.setPassword(DBPASSWORD);
         // The Kind of connectionInfos is SQL
         newConnectionInfo.setKind(ConnectionInfoKind.SQL);
         // set the parameters to replace.
         // The 4 options are:
         // _doNotVerifyDB
         // _ignoreCurrentTableQualifiers
         // _mapFieldByRowsetPosition
         // _useDefault 
         int replaceParams = DBOptions._ignoreCurrentTableQualifiers + DBOptions._doNotVerifyDB;
         // Now replace the connections      
         dbController.replaceConnection(oldConnectionInfo, newConnectionInfo, pFields, replaceParams);
    %>
    <%
    //Report can be opened from the relative location specified in the CRConfig.xml, or the report location
    //tag can be removed to open the reports as Java resources or using an absolute path (absolute path not recommended
    //for Web applications).
    final String DBUSERNAME = "sa";
    final String DBPASSWORD = "password";
    final String CONNECTION_STRING = "!com.microsoft.jdbc.sqlserver.SQLServerDriver!jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=;user=;password=";
    final String TRUSTEDCON = "false";
    final String PREQESERVERNAME = "jdbc:microsoft:sqlserver://localhost:1433";
    final String SERVERTYPE = "JDBC (JNDI)";
    final String DATABASE_DLL = "crdb_jdbc.dll";
    final String DATABASE = "bssc";
    final String DBCLASSNAME = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    final String USEJDBC = "true";
    final String DATABASE_NAME = "bssc";
    final String SERVERNAME = "jdbc:microsoft:sqlserver://localhost:1433";
    final String CONNECTIONURL = "jdbc:microsoft:sqlserver://localhost:1433";
    final String SERVER = "localhost";
    %>
    <%          
              final Logger logger = Logger.getLogger(ReportAction.class.getName());
              final String REPORT_NAME = "../reports/Krt.rpt";
    try {
              ReportClientDocument oReportClientDocument = new ReportClientDocument();
              oReportClientDocument.open(REPORT_NAME, 0);
         // Create the two connectioninfo objects to use
         IConnectionInfo oldConnectionInfo =  new ConnectionInfo();
         IConnectionInfo newConnectionInfo = new ConnectionInfo();
         // Assign the old Connection info to the reports current info
         DatabaseController dbController = oReportClientDocument.getDatabaseController();
         oldConnectionInfo = dbController.getConnectionInfos(null).getConnectionInfo(0);                                       
         // If this connection needed parameters, we would use this field.      
         Fields pFields = null;
         // Create a new propertybag for the new location
         PropertyBag boPropertyBag1 = new PropertyBag();
         // Set new table logon properties
         boPropertyBag1.put("JDBC Connection String", CONNECTION_STRING);
         boPropertyBag1.put("Trusted_Connection", TRUSTEDCON);
         boPropertyBag1.put("PreQEServerName", PREQESERVERNAME);
         boPropertyBag1.put("Server Type", SERVERTYPE);
         boPropertyBag1.put("Database DLL", DATABASE_DLL);
         boPropertyBag1.put("Database", DATABASE);
         boPropertyBag1.put("Database Class Name", DBCLASSNAME);
         boPropertyBag1.put("Use JDBC", USEJDBC);
         boPropertyBag1.put("Database Name", DATABASE_NAME);
         boPropertyBag1.put("Server Name", SERVERNAME);
         boPropertyBag1.put("Connection URL", CONNECTIONURL);
         boPropertyBag1.put("Server", SERVER);
         // Assign the properties to the connection info
         newConnectionInfo.setAttributes(boPropertyBag1);
         // Set the DB Username and Pwd
         newConnectionInfo.setUserName(DBUSERNAME);
         newConnectionInfo.setPassword(DBPASSWORD);
         // The Kind of connectionInfos is SQL
         newConnectionInfo.setKind(ConnectionInfoKind.SQL);
         // set the parameters to replace.
         // The 4 options are:
         // _doNotVerifyDB
         // _ignoreCurrentTableQualifiers
         // _mapFieldByRowsetPosition
         // _useDefault 
         int replaceParams = DBOptions._ignoreCurrentTableQualifiers + DBOptions._doNotVerifyDB;
         // Now replace the connections      
         dbController.replaceConnection(oldConnectionInfo, newConnectionInfo, pFields, replaceParams);
    %>
    I am not sure why it is not able to get the Driver since the required jar is there in lib folder? Am I missing something ?
    Edited by: sb-onward on Jul 30, 2009 6:01 PM

    Hi,
    Make sure you have set the Classpath in CRConfig.xml for the jdbc jar.
    Place the CrConfig.xml  in the classes directory of your application.
    Please let me know the results.
    Regards,
    Neeraj

  • JDBC driver for Microsoft Access

    Hi, I have gone through the blogs and threads related to this topic. I found contradicting threads one saying we need to deploy Access JDBC driver and another saying no need to deploy JDBC driver for Access.
    Integrate PI7.0 with MS Access 2003 Database - Says need to install driver for Access
    Re: Problem when connecting to MS Access through JDBC Adapter. - Says no need to install driver for Access
    I am now confused if I need to ask my Basis team to deploy driver for this. If some one has executed this scenario successfully, could you please confirm whether a driver needs to be installed or not. Also if it is required to install a driver, could you please let me know from where I can download the driver.
    My PI version is 7.1 and Access version is MS Access 2007.  PI is deployed on Linux.
    Without asking for deploying driver I have configured scenario File->PI->Access and I am getting below error in my receiver JDBC communication channel.
    "Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error when attempting to get processing resources: com.sap.aii.af.lib.util.concurrent.ResourcePoolException: Unable to create new pooled resource: DriverManagerException: Can not establish connection:: SAPClassNotFoundException: jdbc.odbc.JdbcOdbcDriver";
    Please suggest how to resolve this issue.
    Regards, Prasad

    Hi .
    The format for Access 2007 is accdb . Are you using this format or MDB?
    Anyway try this:
    Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\Test\TestDB.accdb;Uid=Admin;Pwd=;

Maybe you are looking for