Retrieve data from MS Access database.

Hi all,
The following is part of my coding. Once I have clicked the jButton1, the jTextField1 will get the input of user and store into a variable named "bbb". After that the variable will be passed to a function as a parameter to retrieve data from MS Access database using the ResultSet method. Next, the ResultSet will be splited into many part and just the student ic will be displayed.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
// TODO add your handling code here:
        String bbb = jTextField1.getText(); //get input from user and store into a variable named bbb
        ResultSet codes = getCodes(bbb); //Retrieve data from database
        Code c = getCode (codes); //split the retireved date to many part
         jLabel2.setText(c.ic);  //display the student ic only
   private static ResultSet getCodes(String bbb)
        Connection con = getConnection();
        try
        Statement s = con.createStatement();
        String select = "SELECT [Student-File].* " + "FROM [Student-File] WHERE (([Student-File].[student-code])=bbb); " ;
        ResultSet rows;
        rows = s.executeQuery(select);
        return rows;
        catch (SQLException e)
            System.out.println(e.getMessage());
        return null;
private static Code getCode (ResultSet codes)
        try
            String name = codes.getString("student-name");
            String scode = codes.getString("student-code");
            String ic = codes.getString ("student-ic");
            String add = codes.getString ("student-address");
            String phone = codes.getString ("student-phone");
          return new Code (name,scode,ic,add,phone);
        catch (SQLException e)
            System.out.println(e.getMessage());
        return null;
    private static class Code
        public String name ;
        public String scode ;
        public String ic ;
        public String add;
        public String phone;
        public Code (String name, String scode, String ic,String add,String phone)
            this.name = name;
            this.scode = scode;
            this.ic = ic;
            this.add = add;
            this.phone = phone;
}But after I have compiled the coding above, the following error existed.
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
at testing3.getCode(testing3.java:137)
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
at testing3.jButton1ActionPerformed(testing3.java:71)
at testing3.access$000(testing3.java:17)
at testing3$1.actionPerformed(testing3.java:45)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at testing3.getCode(testing3.java:137)
at testing3.jButton1ActionPerformed(testing3.java:71)
at testing3.access$000(testing3.java:17)
at testing3$1.actionPerformed(testing3.java:45)
My questions here are:
1) Will my idea above work?
2) Is it correct of my query statement that send to MS Access database?
Can anyone help me?
Thanks in advance,
ning.

you may try this:
String select = "SELECT * FROM your_table_name WHERE your_column_name = '" + bbb + "'";or another approach using PreparedStatement:
String select = "SELECT * FROM your_table_name WHERE your_column_name = ?";
PreparedStatement ps = con.prepareStatement(select);
ps.setString(1, "bbb");
ResultSet rs = ps.executeQuery();hth.

Similar Messages

  • I need to pass data from an Access database to Teststand by using the built in Data step types(open data

    base /open SQL Statement etc) the first time i defined the system everything was fine but when i changed the Database (using M.S.Access) the " open SQL Statement" it would show the tables but not thier columns ,I"m using win98 sec edition / Teststand 1.0.1i need to pass data from an Access database to Teststand by using the built in Data step types(open database /open SQL Statement etc) the first time i defined the system everything was fine but when i changed the Database (using M.S.Access) the " open SQL Statement" it would show the tables but not thier columns ,I"m using win98 sec edition / Teststand 1.0.1
    When I tried the same thing on another cmputer the same thing
    happend
    appreiciate u"r help

    base /open SQL Statement etc) the first time i defined the system everything was fine but when i changed the Database (using M.S.Access) the " open SQL Statement" it would show the tables but not thier columns ,I"m using win98 sec edition / Teststand 1.0.1Hello Kitty -
    Certainly it is unusual that you can still see the tables available in your MS Access database but cannot see the columns? I am assuming you are configuring an Open Statement step and are trying to use the ring-control to select columns from your table?
    Can you tell me more about the changes you made to your file when you 'changed' it with MS Access? What version of Access are you using? What happens if you try and manually type in an 'Open Statement Dialog's SQL string such as...
    "SELECT UUT_RESULT.TEST_SOCKET_INDEX, UUT_RESULT.UUT_STATUS, UUT_RESULT.START_DATE_TIME FROM UUT_RESULT"
    Is it able to find the columns even if it can't display them? I am worried that maybe you are using a version of MS Access that is too new for the version of TestSt
    and you are running. Has anything else changed aside from the file you are editing?
    Regards,
    -Elaine R.
    National Instruments
    http://www.ni.com/ask

  • Oracle select data from ms access database

    please dear sirs,
    exactly what i need is when i make select statment from oracle sql, i can select data from ms access database
    please help me
    thanks in advance
    Yasser
    Edited by: user4490340 on 27-Oct-2010 01:09

    You will need to use ODBC. Pl post details of OS and database versions.
    http://download.oracle.com/docs/cd/E11882_01/gateways.112/e12070/intro.htm
    HTH
    Srini

  • Retrieving data from Microsoft Access using JDBC

    I noticed that when i tried retrieving data from Microsoft access using JDBC, I realised that it was throwing SQLException when the column names were two word with spaces between them, e.g. Date Birth. But after i removed the space from the column names, my SQL queries were retrieving data. Was it because of the space in between the column names of the table?

    Yeah, as far as I know having two word column names isn't allowed in SQL. There might be some way to escape it, but generally it's sensible to avoid it.

  • Anyone knows about using java to get data from MS Access database.

    hi there
    anyone knows about using java to get data from MS Access database? thank you

    there is a list of jdbc drivers at:
    http://industry.java.sun.com/products/jdbc/drivers
    they have several ms access drivers listed.
    also, you can use a jdbc-odbc bridge which allows you to use jdbc to connect to any odbc data source:
    http://java.sun.com/j2se/1.3/docs/guide/jdbc/getstart/bridge.doc.html

  • Data type structure while picking data from MS Access database

    Dear All,
    I have to start on new interface in which data from MS Access database will be updated in the z-table in SAP. Is there any blog available which gives step by step process for MS Access-XI-RFC interface. Or please guide me on what should be the structure of the Data Type for picking the data from the MS Access database.
    Regards,
    NJ

    Hi Nishu,
    Sender side the structure is as follows
    db_sen_dt
    ..... emp_row
    ..........  f1
    ..........  f2
    Structure is complex then check this blog
    /people/alessandro.berta/blog/2005/10/04/save-time-with-generalized-jdbc-datatypes
    JDBC to RFC Scenario, but it is synchronous
    SYNCHRONOUS SOAP TO JDBC - END TO END WALKTHROUGH  
    Also check this link
    Regards
    Ramesh

  • ClickOnce WinForms Application to retrieve data from an Oracle Database

    I am hoping someone can help us.
    We are trying to create a ClickOnce WinForms Application that will allow our Customer Service group to retrieve data from an Oracle Database.
    We are currently able to use such a ClickOnce WinForms Application to allow our Customer Service group to retrieve data from SQL Server 2000 databases and even to a PICK Basic database. We use ole db drivers for these connections and keep the connection strings in a configuration file.
    Our primary question now is:
    1) What files would be needed on each client machine?
    Thanks for any pointers.
    :) Anne

    The problem has been fixed.
    If you wanna to load data from Oracle DB,the connect String should be like this:
    cnss.open "Provider=OraOLEDB.Oracle.1;data source=orcl;User Id=fdmitf;Password=fdmitf"
    besides, you should assign a value (True/False) to your function, as TonyScalese said in this post:
    Import from RDB Fails with "Error:Import failed.Invalid data or Empty..."
    Problem solved is always a great joy! Thanks!

  • Attempting to Save data from an access database file into a local variable for use.

    Hello! i'm trying to develop a small text based game in Visual Basic 2013 and I've recently decided i need to use a more sophisticated data storage system then dozens of .txt files and stream-readers. i'm using Microsoft access and i completed my database
    last night. it stores the stat and skill values of the player-character and the non-player characters. the problem is i cannot bring the data into visual basic in a usable way. using ado.net i can bring a single record into the system as a detail view and
    then read the data in from the labels but i'd far prefer to have it done purely through code. the book i purchased only covers data grid views and detail view and I've spent several hours searching for a solution online. 
    for clarification. i need to read each value in a record into a variable so i can calculate the stats for the games combat system.

    So, you want to select from MS Access?
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Ryan\Desktop\Coding\Microsoft Access\Northwind_2012.mdb"
    Dim selectCommand As String
    Dim connection As New OleDbConnection(connectionString)
    selectCommand = "Select * From MyExcelTable ORDER BY ID"
    Me.dataAdapter = New OleDbDataAdapter(selectCommand, connection)
    With DataGridView1
    .AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
    .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader
    .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader
    End With
    Dim commandBuilder As New OleDbCommandBuilder(Me.dataAdapter)
    Dim table As New DataTable()
    table.Locale = System.Globalization.CultureInfo.InvariantCulture
    Me.dataAdapter.Fill(table)
    Me.bindingSource1.DataSource = table
    Dim data As New DataSet()
    data.Locale = System.Globalization.CultureInfo.InvariantCulture
    DataGridView1.DataSource = Me.bindingSource1
    Me.DataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.Aqua
    Me.DataGridView1.AutoResizeColumns( _
    DataGridViewAutoSizeColumnsMode.AllCells)
    End Sub
    Then from DataGridView to a text file, right.
    Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
    Dim dt As DataTable = New DataTable
    Dim DBAdapter As OleDbDataAdapter = New OleDbDataAdapter
    Dim connection As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Users\\Excel\\Desktop\\Coding\\Microsoft Access\\Nor"& _
    "thwind.mdb;Jet OLEDB:System Database=system.mdw")
    Dim query As String = "SELECT * FROM Orders;"
    connection.Open
    Dim command As OleDbCommand = New OleDbCommand(query, connection)
    Dim adapter As OleDbDataAdapter = New OleDbDataAdapter(command)
    adapter.Fill(dt)
    Dim writer As StreamWriter = New StreamWriter("C:\\Users\\Excel\\Desktop\\FromAccess.txt")
    For Each Row As DataRow In dt.Rows
    For Each values As Object In Row.ItemArray
    writer.Write(values)
    Next
    Next
    writer.Close
    End Sub
    Knowledge is the only thing that I can give you, and still retain, and we are both better off for it.

  • Inserting and retrieving data from a al32UTF8 database USING SQL Developer

    hi guys,
    Before i post my questions , i think its better for me to provide you guys with my understandings first so that it easier to understand where/if i have gone wrong..
    I am using Window XP and Oracle 10g
    Non-unicode client - a client program that need to use the OS code page for mapping of the retrieved unicode data from the database as well as the support of displaying/inserting the characters from that code page to the database.
    E.G sqlplusw.exe
    Therefore, when using a non-unicode client
    1) we have to set the OS code page (Control panel - regional and language setting - advance - language for non unicode program ) to the code page that contain the characters we are going to display/insert.
    2) we will also have to set the NLS_LANG characterset to the character set of the code page we are going to insert so that when we do a insert (for e.g in thai ) , oracle will know, and auto conversion to UNICODE can take place. This is also true when we retrieve unicode data from the database so that conversion to the correct character set can take place.
    INSERTING
    THAI ---> conversion ----> UNICODE
    RETRIEVING
    THAI <---- conversion <---- UNICODE
    I hope my basic understanding is correct up till this point.
    Unicode client - a client program that supports the displaying/inserting of unicode characters without the need of setting the OS code page (Control panel - regional and language setting - advance - language for non unicode program )
    E.G isqlplus http or SQL developer
    However,
    1) There is still a need to set the NLS_LANG so that correct conversion can take place between the client and the database.
    For e.g, when retrieving if we set the NLS_LANG character set to ZHS16GBK (chinese) and the data store in unicode in database is E.G (THAI) , then the conversion would be wrong .
    Since it is a unicode supported client, then the NLS_LANG character set should be set to UNICODE as well.
    Here come my questions
    *Important - please help if you are busy and have no other time to answer the rest of the questions
    *Q1) If i were to use a unicode client, what should i set my NLS_LANG character set to ?
    AMERICAN_AMERICA.UTF8 ?
    *Q2) Where do i set the NLS_LANG character set information in SQL Developer, i know there is a metalink for setting NLS_LANG using isqlplus but i cant seems to google any result for SQL developer.
    Q3) Is my basic understanding right until this point ? If not, please explain in a more generalised term as i am really not familiar with character sets, code page, unicode , glyphs and fonts..
    Q4) If a unicode client does not need to refer to the OS code page (set in regional and language) , is there a UNICODE code page for the client to refer to , or is there any Window API available ?
    Q5)
    There is still a need to set the NLS_LANG so that correct conversion can take place between the client and the >>database.
    For e.g, when retrieving if we set the NLS_LANG character set to ZHS16GBK (chinese) and the data store in >>unicode in database is E.G (THAI) , then the conversion would be wrong .am i right on this point for UNICODE supported client ?
    Thanks for spending time to read my questions and i hope to hear advices from you guys soon.
    Million thanks again for sharing.
    Best Regards,
    Noob but willing to learn

    The requirement to always set NLS_LANG is not true for JDBC, which ignores NLS_LANG altogether. Java programs fetch text data into String variables, which use Unicode UTF-16 by design. JDBC sets character set conversion so that data is converted between UTF-16 and the database or national character set.
    The requirement to set NLS_LANG is not generally true for OCI, either. The first call in an OCI problem can be OCIEnvNlsCreate(). This call has two parameters that allow the caller to define the character set to use for VARCHAR2/CHAR/LONG/CLOB/statement text and the character set to use for NVARCHAR2/NCHAR/NCLOB. Only if these character sets are specified as 0, NLS_LANG character set is used. Also, OCI programs can specify different character sets for each bind or define variable (i.e. input/output buffer). Note: OCI programs always use NLS_LANG to initialize the language and territory settings for the client program and the database session. Only the character set can be specified is OCIEnvNlsCreate().
    OCIEnvNlsCreate() can specify the client character set as UTF-16 (in platform endianess). This is not possible with NLS_LANG.
    Various interfaces building on OCI, such as Oracle ODBC and ODP .NET, explicitly initialize OCI with Unicode character set, and thus ignore the NLS_LANG character set as well.
    Thnx,
    Sergiusz

  • Retrieving Data from SQL Server Database

    Hi All,
    I am working with a program in which i have a requirement to connect to SQL Server Database
    and extract the data from the SQL Server Database. I am able to connect to the SQL Database but i am facing problem with the Select Statement. I have the Select Statement
    Select PARTNRID from GBA_SI.TRACKING and REFERENCEID3 from HEADER where TRANSTYPE = "INVOIC" and WICOMPLETEDDATETIME is within the date range specified in selection screen (Join on TRANSID).
    Can any one tell me how to write the Select Statement in ABAP for retrieving the data from the SQL Server Database.
    Regards,
    Sudhir

    hi check this..
    data: begin of itab occurs 0,
           PARTNRID  like GBA_SI-PARTNRID,
          end of itab .
    data: begin of itab1 occurs 0,
            TRANSID like header-TRANSID,
            TRANSTYPE like header-TRANSTYPE ,
            REFERENCEID3 like header-REFERENCEID3,
            end of itab1 .
    select-options:s_PARTNRID for GBA_SI-PARTNRID ,
                         s_date for sy-datum.
    Select PARTNRID
        from GBA_SI
             into table itab
    where PARTNRID in s_PARTNRID.
    select TRANSID
             TRANSTYPE
      REFERENCEID3 from HEADER
    into table itab1
    for all entries in itab
    where TRANSID = itab-PARTNRID
         and TRANSTYPE = "INVOIC"
    and WICOMPLETEDDATETIME  in s_date .
    regards,
    venkat appikonda

  • How to retrieve data from MS Access

    anybody no how i can get data out of a ms access database and put on a web page? sample code very helpful...

    You can connect to MSAccess via JDBC.
    The most common approach is to create an ODBC entry in windows, and then use the JDBC-ODBC bridge that comes with java.
    http://www.easysoft.com/applications/microsoft-access/jdbc-odbc.html
    Once you have a database connection, it becomes as any other java program accessing a database.

  • HOw to connect and extract the data from MS ACCESS SOURCE(Database) system

    Hi experts ,
    I have to extract the data from MS access database system using JDBC adapter will it work if Yes HOW?

    Hi Sushma,
    how to configure sendor JDBC adapter ..
    Select adapter type is JDBC..
    Give the Transport Protocol:.JDBC 2.0 (Example)............
                Message Protocol:...JDBC...........
                IAdapter Engine : Integration Server
    Processing Parameters..
    Quality of service.....(Example)..Exactly once
    Poll Interval .... Example ..10
    Query Sql statement..Example ..select * from XXXXX
    Document Name.....
    Update Sql stetement.....
    Thanks,
    Satya
    Reward points if it id useful...

  • Is it possible to retrieve data from an Oracle db with an LDAP query?

    Our application uses an LDAP query to retrieve data from Microsoft Active Directory. Is it also possible to retrieve data from an Oracle database with an LDAP query?

    if you have Oracle Internet Directory, you will retrieve with ldapsearch data, which are physically stored in the database. But to select * from emp where ename='SCOTT', it is probably not possible.
    At least I have never heard of such a product which translate ldap query in sql query. But feel free to write your own one in perl :-)

  • MS Access - Failed to retrieve data from the database

    Hello,
    I've developed a quite complex report (CR XI) from a SQL Server 2005 database. The report contains a number of inner and outer joins and a subreport.
    I have a duplicate copy of the database held in MS Access. If I attempt to change the datasource location to the MS Access database, I'm unable to run the report and get the following error:
    Failed to retrieve data from the database.
    Details: ADO Error Code: 0x80040e14
    Source: Microsoft JET Database Engine
    Description: Join expression not supported.
    SQL State: 3000
    Native Error: -540806602 (Database Vendor Code: -540806602)
    By changing every outer join to an inner, the report pulls in data but obviously not what is required. It seems as though it doesn't like the outer joins.......
    Would this be in some way due to limitations with the JET database engine?
    Thanks in advance,
    Dom

    Hi Aditya joshi,
    Thanks for the reply.
    Unfortunately my query doesn't contain any FULL OUTER joins, just INNER and LEFT OUTER's.
    I've enclosed a parred down version of the SQL:
    SELECT numerous fields
    FROM   (`AAL` `AAL`
              INNER JOIN
              ((((((`CQ` `CQ`
              LEFT OUTER JOIN (((`SH` `SH`
              INNER JOIN ((`PA` `PA`
              INNER JOIN `AL` `AL`
         ON `PA`.`ProjectUPRN`=`AL`.`ProjectUPRN`)
              INNER JOIN `CA` `CA`
         ON `PA`.`ArchetypeID`=`CA`.`ArchetypeCode`)
         ON `SH`.`ProjectUPRN`=`AL`.`ProjectUPRN`)
              INNER JOIN `SD` `SD`
         ON `SH`.`SurveyID`=`SD`.`SurveyID`)
              INNER JOIN `F` `F`
         ON `SH`.`FormID`=`F`.`FormID`)
         ON `CQ`.`QuestionID`=`SD`.`QuestionID`)
              LEFT OUTER JOIN `PC` `PC`
         ON (`CQ`.`QuestionID`=`PC`.`QuestionID`)
              AND (`AL`.`ProjectUPRN`=`PC`.`ProjectUPRN`))
              INNER JOIN `FI` `FI`
         ON (`CQ`.`QuestionID`=`FI`.`QuestionID`)
              AND (`F`.`FormID`=`FI`.`FormID`))
              LEFT OUTER JOIN `QG` `QG`
         ON `CQ`.`QuestionID`=`QG`.`QuestionID`)
              LEFT OUTER JOIN `CQG` `CQG`
         ON `QG`.`QuestionGroupID`=`CQG`.`QuestionGroupID`)
              LEFT OUTER JOIN (`E` `E`
              INNER JOIN `SDE` `SDE`
         ON `E`.`ElementID`=`SDE`.`ElementID`)
         ON `SD`.`SurveyDataID`=`SDE`.`SurveyDataID`)
         ON `AAL`.`ProjectUPRN`=`AL`.`ProjectUPRN`)
              INNER JOIN `A` `A`
         ON `AAL`.`AreaID`=`A`.`AreaID`
    Can you see where the problem lies?
    Many thanks,
    Dom

  • Retrieve data from a synonym in oracle database through db connect

    Hi Everyone,
    I have created certain synonym for some tables in oracle. I want to retrieve data from it through db connect but where through source system and then selecting database tables, only tables and views are available.
    Synonyms are not available to create data sources and retrieve the data from it. Why is it so. Is this a limitation of db connect.
    Can anyone please let me know about it.
    Thanks,
    Joshua.

    Hi,
    You want to import data from an external Oracle database into your BW 3.X. To do this, you can connect the external database to the BW 3.X release as a source system using the external database connect. BW 3.X here represents BW 3.0, BW 3.1 and BW 3.5 because in other (DB relevant) parts, all 3 versions are based on the same source code.
    General information
    The above function allows you to load data from an external Oracle database (not a BW database) into your BW 3.0 system.
    There may also be constellations which cannot be used directly through the DB Connect access. However, it should be possible to find an adequate, customer-specific solution for most of these scenarios.
    In such situations, the resulting work falls into the area of Consulting and cannot be handled via Support.
    Successful implementation of a connection requires corresponding expertise and experience in the use of the source database in the areas:
                    - Tools
                    - SQL syntax
                    - DB-specific functions
    Corresponding knowledge of the source application is also required to ensure that semantically relevant data arrives in the BW system.
    Procedure
    You should execute the following steps to connect the source system (Q) to the BW system (BW):
    Installing the client software on an BW application server
                         Of course, you only need to install the client software if you are using BW with a non-Oracle database.
                         Use the Oracle setup program on the database CD (runInstaller on Unix) to start the OracleInstaller. Follow the program instructions and the DB installation instructions to install the Oracle Client software on BW.
    Testing connection setup from BW to Q
                         After you install the client software on BW, try to set up a connection from BW to the server on Q. You may need to adjust the tnsnames.ora or sqlnet.ora files for this, to introduce the Oracle systems (to which contact should be made) to BW. You can test the connection by executing the command "tnsping QDB" on BW to check whether the client has established contact to the QDB database on the Q system.
    Creating a separate U user in Q
                         We recommend that you create a separate U user in Q for connection to BW. This means that authorization and administration questions can be solved centrally.
    Displaying data sources in Q for the U user
                         To provide U data for users other than U, you can create views on other user tables as user U:
                         CREATE OR REPLACE VIEW viewname AS
                           SELECT * FROM QDB.tablename
                         You may have to grant SELECT privileges to user U in the QDB schema:
                            GRANT select ON QDB.tablename TO U
                         Of course, you can also restrict or reformat data in the view arrangement (for example, change from internal date format into the SAP date format). JOIN operations using several tables are also available.
                         !!! Synonyms do not yet work!!!
                         Synonyms that you can create as described below are another option for providing a complete table for the user U:
                           CREATE SYNONYM synoname FOR QDB.tablename
                         !!! Synonyms do not (yet) work!!!
                         After you have displayed the require data for user U, you can simply use
                           SELECT * FROM <view or table>
                         on the Q system to check which data is returned.
                         You can now open a link to Q as user U in the BW system with SQLPLUS and check, using the same SELECT, whether this data is also seen in the Oracle client. If this is not the case, there is probably a connection problem.
    Creating a connection from BW to Q in BW
    Including data sources of user U user in Q in BW.
    Solution
    Supported BW, Basis and BW 3.0B database versions, Basis 6.20 Support Package 2 (or higher)
          Oracle 8.1 (or higher, see below)
    Possible problems
    - Synonyms do not (yet) work!
    Up to now, only tables and views have been used as data sources for the DB Connect from the R3 Basis. As soon as synonyms are also used in the Basis, you will be able to convert created views (or even replicated tables) to synonyms as a workaround.
    With Basis 6.40 at the earliest, therefore as of BW 3.5, you will also be able to use synonyms. Until then, the following will help:
      CREATE VIEW <view_on_synonym> AS SELECT * FROM <synonym>
    - The source DB must have at least the release version of the BW DB.
    Oracle only ensures the support of client-server links if the version of the client is not higher than that of the server. So if BW has Oracle version 8.1 and, as in the case of Dbconnect, is run as a client against the server of the source database, the source database must have at least release Oracle 8.1 or higher.
    Of course, you have the option to install the Oracle client software of a lower version and then use this for the DB connect. This is also the procedure used to work with a DB connect on external databases of other vendors.
    Furthermore, the implementation of the DBconnect function in BW uses SAP Basis functions. Specifications of Oracle 8.1 database catalogs are used here. The source database must therefore have at least Version 8.1.
    - Oracle Client Software Version
    If you want to connect from an Oracle BW DB to an Oracle source DB, for the DB connect you naturally use the client software that you already installed on each application server.
    If you want to connect from a non-Oracle BW DB to an Oracle source DB, check item 3 of note 521230 to see which Oracle client software version is released with your BW R3 kernel and use this version.
    - Date and time fields in Oracle and their conversion into SAP-compatible column formats
    Example with a DATE field:
    Since a SAP table does not have a DATE field (date values are NUMC(8) and time specifications are NUMC(6)), we will use the Oracle DBA_TABLES system table as an example.
        SQL> desc dba_tables;
    The Oracle DBA_TABLES system table has a LAST_ANALYZED field. This is a DATE type field and is recognized as a date field of 7 characters by DBA_CONNECT. However, the import does not work because the DATE is a 7-byte conglomerate of "...century, year, month, date, hour, minute and second." (extract from the Oracle documentation).
    To make this DATE field legible for DB connect, you must use the TO_CHAR function in a VIEW. This should display the following examples:
    SQL> select LAST_ANALYZED from dba_tables
          where table_name like 'RS%' and rownum < 10 ;
    The formatting used here is the default used implicitly by SQLPLUS.
    SQL> select  to_char(LAST_ANALYZED,'YYYYMMDD') as dat from dba_tables where table_name like 'RS%' and rownum < 10 ;
    The result now has the SAP compatible format YYYYMMDD and should be loaded correctly by the DB connect as a date.
    SQL> select  to_char(LAST_ANALYZED,'HH24MISS') as tim from dba_tables where table_name like 'RS%' and rownum < 10 ;
    The result now has the SAP compatible format HHMMSS and should be loaded correctly by the DB connect as a time.
    You can use the following example for more detailed experiments:
    SQL> select  to_char(
           TO_DATE('03-FEB-2001 04:05:06','DD-MON-YYYY HH24:MI:SS'),
           'YY-MM-DD HH24-MI-SS') as datim from dual;
    with the result:
      DATIM
      01-02-03 04-05-06
    When you create a VIEW and use the TO_CHAR function (or other functions), you should easily be able to avoid problems with the interpretation of date/time specifications (and other reformatting).
    Details about the functions and the formats are contained in the Oracle documentation.
    - Special characters
    A words that contain special characters can only be imported correctly if the code pages in BW and in the source system are identical. If the code pages are not the same, DB Connect can be used if the characters to be imported appear under the first 127 characters of the character set.
    The use of multibyte code pages in the source system for saving data using character sets with more than 256 characters (Kanji, Katakana, Hiragana, Korean, Chinese, Tagalog, Khmer, Arabic, Cherokee, and so on) can cause the characters to become corrupt.
    For questions concerning the code pages, also refer to the FAQ note 606359 and question/answer 19 that appears there.

Maybe you are looking for