Excel / Oracle ( HS) Generic Connectivity?

Hi All!
i have connected to Excel using Heterogeneous services Oracle generic connectivity. It's showing all the data in the excel sheets and describe the table(sheets) as wel.
But the operation like delete , insert and update are not working..
1) How can i get all these working?
SQL> desc class$@dlcompany2;
Name Null? Type
cno FLOAT(49)
cname VARCHAR2(32512 CHAR)
SQL> desc student$@dlcompany2;
Name Null? Type
sno FLOAT(49)
sname VARCHAR2(32512 CHAR)
SQL> desc lab$@dlcompany2;
Name Null? Type
LNO FLOAT(49)
LNAME VARCHAR2(32512 CHAR)
SQL> delete from student$@dlcompany;
delete from student$@dlcompany
ERROR at line 1:
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
[Generic Connectivity Using ODBC][Microsoft][ODBC Excel Driver] Could not
delete from specified tables. (SQL State: S1000; SQL Code: -3049)
ORA-02063: preceding 2 lines from DLCOMPANY
SQL> insert into student$@dlcompany2
2 ("sno","sname")
3 values
4 (8,'hh');
insert into student$@dlcompany2
ERROR at line 1:
ORA-02047: cannot join the distributed transaction in progress
SQL>
1 update student$@dlcompany2
2 set "sname"='tt'
3* where "sno"=7
SQL> /
update student$@dlcompany2
ERROR at line 1:
ORA-02047: cannot join the distributed transaction in progress
SQL> delete from student$@dlcompany2
2 where "sno"=7;
delete from student$@dlcompany2
ERROR at line 1:
ORA-02047: cannot join the distributed transaction in progress...
____________x____________________x_______________________
2) My main task is to getting the data from oracle table into Excel How can i do this Using Heterogeneous services Oracle generic connectivity?
I will be extremely Thankfull
Thanks
Rana Adnan

Hi Kim and ALL!!!!
1)for Access this works perfectly and insert the data in class@dlcollege.
when_button_pressed triggerDECLARE
     X NUMBER;
BEGIN
     FOR X IN (SELECT tno, tname FROM TEST)
     LOOP
          INSERT INTO CLASS@DLCOLLEGE
          ("cno","cname")
          VALUES
          (X.tno,X.tname);
     END LOOP;
     commit;
end;
2)For MS Excel it niether gives any error message nor insert the data in class$@DLCOMPANY3.
when_button_pressed trigger
DECLARE
     X NUMBER;
BEGIN
     FOR X IN (SELECT tno, tname FROM TEST)
     LOOP
          INSERT INTO class$@DLCOMPANY3
          ("cno","cname")
          VALUES
          (X.tno,X.tname);
     END LOOP;
     commit;
end;
Help needed for Excel?
Thanks
Rana Adnan

Similar Messages

  • Form Error: form based on a Generic connectivity view

    A view was based on a select from a table in a Syabase database (accessed in Oracle using Generic Connectivity).
    When I built a block in a Form based on that view, I faced the following error:
    ORA-02070: database SYB does not support ROWID in this context.
    Also, the same error appeared in the reports accessing the same view.
    Can anyone give me a clue to solve this problem plz?
    Thanks in advance.

    I later knew that the issue can be addressed by setting the parameter Key Mode to nonupdatable.

  • Generic Connectivity

    I want to attach tables from a Mimer database to an Oracle database so that they can be queried from within Oracle. Generic Connectivity looks like the solution I need but my Oracle Databases are in 7.3.4 and 8.1.5 and the on-line documentation seem to suggest that GC arrived in 8.1.6!
    Is there a solution for earlier versions of Oracle?

    Mohamed,
    Generic Connectivity is not available on Linux. It is available on NT, Solaris, HP and AIX

  • Using Generic Connectivity Agent on Linux

    Hello All,
    My dbms is Oracle 8i Release 3 (8.1.7), my OS is Linux RedHat 7.0. I want to establish a connection from Oracle to an ODBC data source. So, I know I have to use Generic Connectivity Agent, but I can't find execution file for this agent which the Listener will execute. The only file I have is hsodbc.o in $ORACLE_HOME/hs/lib path. Are there anybody who knows how can I link this object file, or where can I get a linked one?
    Best regards, Roman Zhirov ([email protected])
    null

    Note that the Oracle ODBC driver is not involved at all when you're trying to use Oracle's generic connectivity. Thus, this probably isn't the forum you want to ask this question in.
    Since there isn't a generic connectivity forum, you might try posting to the Linux group. Alternately, it may be necessary to contact Oracle Support.
    Justin

  • Oracle Generic Connectivity in Oracle Application Ser ver 10g.

    Hi Tak and All!
    With the help of your great guidence, I have connect the Generic Connectivty for MS Access and MS Excel successfully in client server environment.
    The topology was..
    Host A = Custom installation of Oracle9i database + MS ACCESS
    Host B = Oracle 9i Database (Complete)
    But...
    tell me How the Oracle Generic Connectivity will connect in ORACLE APPLICATION SERVER. What will be the concept and topology? Because the client only have the URL which is used for getting application on browser.
    I will be extremely thankful.
    All these forums always help me.
    Thanks
    Rana Adnan

    It depends. Oracle Reports can connect to Oracle and non-Oracle databases directly, without using Generic Connectivity.
    Your Forms application would presumably connect only to the Oracle database. The Oracle database might well connect to other Oracle and non-Oracle databases via database links. The non-Oracle database links would utilize Generic Connectivity.
    Given the three machines A, B, and C
    A could connect to B and B could connect to C
    A could connect to C for reporting queries
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Heterogeneous Services & Oracle Generic Connectivity For DBF file?

    Dear All,
    Can We Create dbf file directly means without using CSV file?
    Can we use Heterogeneous Services & Oracle Generic Connectivity for creating dbase DBF file or Writing in dbase DBF file?
    I have used it for Excel and Access for connectivity with Oracle 9i
    but I dont have any idea about dbase DBF file?
    Any help in this reagards will be highly appriciatalble.
    Thanks
    Rana

    HSODBC/DG4ODBC is generic connectivity and you find the generic setup in:
    Note.109730.1 How to setup generic connectivity (HSODBC) for 32 bit Windows (Windows NT, Windows 2000, Windows XP, Windows 2003)
    There is nothing sepcial for DBF's. Just define a system ODBC DSN using a DBASE ODBC driver pointing to the DBF file.
    The rest is absolute similar to the note.
    If you have already a running HSODBC/DG4ODBC the quickest test is to just define a new system dsn for the DBF file, then change in the init>hsodbc/dg4odbc>.ora file the HS_FDS_CONNECT_INFO parameter pointing to the newly created system DSN. Last step is within the Oracle db to define a database link.

  • Heterogeneous Services & Oracle Generic Connectivity for dbase DBF file

    Dear All,
    Can we use Heterogeneous Services & Oracle Generic Connectivity for creating dbase DBF file or Writing in dbase DBF file?
    I have used it for Excel and Access for connectivity with Oracle 9i
    but I dont have any idea about dbase DBF file?
    Any help in this reagards will be highly appriciatalble.
    Thanks
    Rana

    I wouldn't think so these days ... however, you could try posting this in the heterogeneous services - which is somewhere on OTN.
    If it we me, I'd convert the DBF into something easier to use with Oracle : like XML or CSV

  • Using Oracle Generic Connectivity to connect from Oracle to Microsoft Acces

    I am trying to connect from Oracle to Access using ODBC. I followed the steps described in oracle documentation but was not sucessful. Could you plase take a look at my code let me know where I went wrong. It is as follows :
    1)Created an ODBC connection for Microsoft Access called 'MSACCESS' (System DSN). And associated accdb1.mdb to this ODBC connection.
    2)Created a table called orders in accdb1.mdb.
    3)Added the foll lines in tnsnames.ora
    accdb1 =
    (DESCRIPTION=
    (ADDRESS=
                   (PROTOCOL=tcp)
                   (HOST=kdandapani.170systems.com)
                   (PORT=1521))
    (CONNECT_DATA=(SERVICE_NAME=accdb1)
    (HS=OK)
    4)added the following lines in listner.ora :
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME=accdb1)
    (ORACLE_HOME=c:\orasrv)
    (PROGRAM=accdb1)
    5) Copied inithsodbc.ora to iniths_accdb1.ora in the ORACLE_HOME/hs/admin directory. Added the following line there :
    HS_FDS_CONNECT_INFO = MSACCESS
    6)Created the foll dblink :
    create database link access1
    using 'accdb1';
    7)tried to access table ORDERS in the MSACCESS database with the foll SQL -
    select * from orders@access1;
    Resulted in the foll error message
    ERROR at line 1:
    ORA-12154: TNS:could not resolve service name

    hi,
    I am new to Generic Connectivity i have just followed all the steps you wrote once in this forum but i m getting the following error :
    SQL> SELECT * FROM LOGIN@MSACCESS;
    SELECT * FROM LOGIN@MSACCESS
    ERROR at line 1:
    ORA-28509: unable to establish a connection to non-Oracle system
    ORA-02063: preceding line from MSACCESS
    Following are the steps you suggested in this forum :
    1)Created an ODBC connection for Microsoft Access called 'MSACCESS'. And associated accdb1.mdb to this ODBC connection.
    2)Created a table called ORDERS in accdb1.mdb.
    3)Added the foll lines in tnsnames.ora
    MSACCESS.170SYSTEMS.COM =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = kdandapani.170systems.com)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = MSACCESS)
    (HS = OK)
    4)This is how the listner.ora looks after I added SID_NAME=MSACCESS :
    # LISTENER.ORA Network Configuration File: c:\orasrv\NETWORK\ADMIN\listener.ora
    # Generated by Oracle configuration tools.
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2))
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = kdandapani)(PORT = 1521))
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (GLOBAL_DBNAME = ORALOCAL)
    (ORACLE_HOME = c:\orasrv)
    (SID_NAME = ORALOCAL)
    (SID_DESC =
    (PROGRAM = extproc)
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = c:\orasrv)
    (SID_DESC =
    (PROGRAM = hsodbc)
    (SID_NAME = MSACCESS)
    (ORACLE_HOME = c:\orasrv)
    5) Copied inithsodbc.ora to iniths_MSACCESS.ora in the ORACLE_HOME/hs/admin directory. Added the following line there :
    HS_FDS_CONNECT_INFO = MSACCESS
    6)Created the foll dblink :
    create database link MSACCESS
    using 'MSACCESS';
    7)tried to access table ORDERS in the MSACCESS database with the foll SQL -
    select * from orders@MSACCESS;
    I have used my login table instead of orders. But i got an error that i have stated earlier.
    Can you please help me ? if possible than please forward your reply to : [email protected]
    -thank you man,
    -imran

  • How do I start on Oracle Generic Connectivity?

    Hi, I am new to Oracle and can i know where i can get info on setting up Oracle Generic Connectivity to connect Oracle with non-Oracle databases?

    The documentation is a good place to start. The relevant
    link:
    http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96544/gencon.htm#1656
    For supplementary material do a google search on
    oracle generic heterogeneous services.
    Hope this helps.
    Kailash.

  • Use HS Generic Connectivity in Oracle Express (XE)

    Can I use HS Generic Connectivity in Oracle Express (XE) or do I need a "full" database?

    I see you've managed to get HS working on Oracle XE. I am trying to do the same, but am hitting a wall when trying to set the hs_fds_connect_info parameter in that Oracle does not seem to recognise it:-
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
    ORA-32003: error occured processing parameter 'hs_fds_connect_info'
    LRM-00101: unknown parameter name 'hs_fds_connect_info'
    SQL> show parameter hs
    NAME TYPE VALUE
    hs_autoregister boolean TRUE
    Is there anything I need to set elsewhere to enable this? Any help would be appreciated.

  • Generic connection to oracle

    Hi !
    I heard about a generic connection to oracle (with OCI ??). The user x connects himself to the serveur with a generic login and password. Then he's connected as "user x".
    I'd like to know how does it work, and if it is possible to do audit trail with this type of connection.
    Thanks.

    listener problems

  • Generic Connectivity from Oracle 10gR2 to SQL Server using ODBC

    Hi,
    I have setup an ODBC generic connection from an Oracle 10.2 database (on Win 2000) to a SQL Server database (on a different Windows machine). When I query a column which is of LONG data type (TEXT on SQL Server) my session just hangs, no data or errors are returned, trace file just ends showing the SQL statement I entered, but no errors.
    If I query other columns with CHAR, DATE, NUMBER datatypes the rows are returned successfully. As far as I can see from the documentation, the TEXT data type in SQL Server should map to SQL_LONGVARCHAR in ODBC, then that should map to LONG in Oracle, so I wouldnt have thought it was an incompatible data mapping issue.
    I hear that LONG is being replaced/deprecated in Oracle, but is it now not supported by the HS ODBC program provided with 10g Rel 2? Has anyone else had a similar problem and found a workaround? Any help is much appreciated.
    Kieren.

    Hi,
    HSODBC is not supported on Windows x64. So that's why you get the error ORA-28545
    What you can do is to install DG4ODBC 11g on a 32bit machine.
    DG4ODBC can be installed separately from the Oracle Server, for example on the SQL SERVER if you can.
    But it is supported only in 32 bit too.
    You can download from this website:
    http://www.oracle.com/technology/software/products/database/oracle11g/111060_win32soft.html
    ==>Oracle Database Gateways 11g Release 1 (11.1.0.6.0) for Microsoft Windows (32-bit)
    The last option would be to create a virtual machine on your X64 machine with a Windows 32bit and DG4ODBC 11g.
    Please let me know if you have any question.
    Regards,
    Mireille

  • Oracle to Access: Generic Connectivity, Help Needed

    Please come to this forum and help me
    Generic connectivity for M.S ACCESS?
    Thanks

    MS drivers for Oracle was designed a very long time ago with Oracle7 in mind.
    You might want to see: http://support.microsoft.com/kb/244661
    I have not tested your code, but I guess you need to consider giving up on the idea of using ancient interfaces such as Jet. Not sure about MS' supporting the technology, but at least the older "win 95" versions seem unlikely to be Unicode-enabled.
    Edited by: orafad on Mar 20, 2012 10:57 PM
    Edited by: orafad on Mar 20, 2012 10:58 PM

  • How to do a Generic Connectivity (ODBC) ?

    Hello,
    Generic Connectivity provide Oracle Database to connect another
    database via ODBC. In my case, it is Oracle 8.1.6 which connects
    to Sybase Enterprise 11 on Win NT. The Module "Generic
    Connection" is installed. I view it by the Oracle Universal
    Installer and I have configured the Windows ODBC Manager to
    connect to Sybase.
    This is what I've done step by step:
    1. C:\Oracle\Ora81\hs\Admin\iniths_syb.ora
    HS_FDS_CONNECT_INFO = SPS_NACIONAL
    HS_FDS_TRACE_LEVEL = ON
    HS_FDS_TRACE_FILE_NAME = hs_syb.log
    2. C:\Oracle\Ora81\Network\Admin\Listener.ora
    LISTENER =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = nacional)(PORT = 1521))
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (GLOBAL_DBNAME = oracle)
    (ORACLE_HOME = c:\Oracle\Ora81)
    (SID_NAME = oracle)
    (SID_DESC =
    (SID_NAME = hs_syb)
    (ORACLE_HOME = c:\Oracle\Ora81)
    (PROGRAM = hs_syb)
    I reload the listener by the following command :
    lsnrctl
    stop
    start
    3. C:\Oracle\Ora81\Network\Admin\Tnsname.ora
    ORACLE =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = host)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = oracle)
    hs_syb =
    (DESCRIPTION=
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = host)(PORT = 1521))
    (CONNECT_DATA =
    (SID=hs_syb)
    (HS = OK)
    I test the tnsname at the prompt command line :
    tnsping hs_syb
    (It's OK)
    4. Database Link
    CREATE PUBLIC DATABASE LINK syb
    USING 'hs_syb';
    5. Test database link
    select * from emp@syb;
    And Errors occur :
    ORA-28509: unable to establish a connection to non-Oracle system
    ORA-02063: preceding line from SYB
    6. I read again the documentation
    http://technet.oracle.com/doc/oracle8i_816/server.816/a76960/hs_g
    enco.htm
    and I found some tables to be feed with data by the HS_ADMIN
    packtage :
    This is what I have added :
    EXEC DBMS_HS.CREATE_FDS_CLASS ('hs_syb','Uses ODBC Driver')
    EXEC DBMS_HS.CREATE_FDS_INST ('hs_syb','hs_syb','SYC Sybase
    System 10/11')
    EXEC DBMS_HS.CREATE_INST_INIT
    ('hs_syb','hs_syb','HS_DB_NAME','SYBDATA','F')
    (Drop procedure :
    EXEC DBMS_HS.DROP_INST_INIT
    ('hs_syb','hs_syb','HS_FDS_CONNECT_INFO')
    EXEC DBMS_HS.DROP_FDS_INST ('hs_syb','hs_syb')
    EXEC DBMS_HS.DROP_FDS_CLASS ('hs_syb');
    I test one more time the connection,
    And I have the same error message as step 5.
    7. I put in the initialization file (initoracle.ora) the
    parameter
    Hs_Autoregister = true (It is true by default and it doesn't
    change errors. Is it another parameters for HS ?)
    In fact, I don't really understand the notion of "AGENT" for HS
    (Heterogeneous Services) in Oracle. Is it something to enable or
    is it automatic because the iniths_syb.ora file is in the path
    ORACLE_HOME\hs\admin ???
    What is it missing for the Generic Connectivity ? Any
    suggestion ? Say me what is the wrong step in this process or
    what I have forgotten.
    Thank you in advance.
    Jobar Team

    Hello
    You're right, step two needs to set (PROGRAM = hsodbc). I understand this when I saw hsodbc.exe in the path ORACLE_HOME\Bin (and at prompt I try agtctl.exe but without sucess, an utility for Heterogeneous Services).
    Now when I test the connection I can hear Oracle running something.
    This is what I've done step by step (following my previous message)I test with Sybase Entreprise and Sybase Anywhere :
    8. C:\Oracle\Ora81\Database\initoracle.ora
    I set a parameter in init file and I reload Oracle database :
    global_names = false
    OR in SQL+
    alter session set global_names=false;
    WITH SYBASE ENTREPRISE
    9. C:\Oracle\Ora81\hs\Admin\iniths_syb.ora
    At the beginning my iniths_syb.ora file was wrong then I correct parameters by viewing errors in C:\Oracle\Ora81\hs\trace :
    #Using a dsn file generate by the Windows ODBC Manager
    HS_FDS_CONNECT_INFO="FILEDSN=C:\sybase.dsn"
    HS_FDS_TRACE_LEVEL = ON
    HS_FDS_TRACE_FILE_NAME = C:\hs_syb.log
    set SYBASE=C:\\Sybase\\ASE
    Contents of sybase.dsn
    [ODBC]
    DRIVER=Sybase System 11
    UID=USERNAME
    SRVR=SVRNAME
    DB=master
    10. Test Database link
    CREATE PUBLIC DATABASE LINK syb
    CONNECT TO USERNAME IDENTIFIED BY SECRET
    USING 'hs_syb';
    select * from anytable@syb;
    ORA-00942: table or view does not exist
    [Transparent gateway for ODBC]393330(0,0,1[[]])
    ORA-02063: preceding 2 lines from SYB
    I try to set parameters in iniths_syb.ora without success :
    HS_DB_DOMAIN=SVRNAME
    HS_DB_NAME=master
    HS_FDS_DEFAULT_OWNER=USERNAME
    WITH SYBASE ANYWHERE
    11. C:\Oracle\Ora81\hs\Admin\iniths_any.ora
    #Using a dsn file generate by the Windows ODBC Manager
    HS_FDS_CONNECT_INFO="FILEDSN=C:\anywhere.dsn"
    HS_FDS_TRACE_LEVEL = ON
    HS_FDS_TRACE_FILE_NAME = C:\hs_any.log
    Contents of anywhere.dsn
    [ODBC]
    DRIVER=Adaptive Server Anywhere 6.0
    UID=USERNAME
    Integrated=No
    AutoStop=Yes
    EngineName=SERVICE
    12. Test Database link
    CREATE PUBLIC DATABASE LINK anywhere
    CONNECT TO USERNAME IDENTIFIED BY SECRET
    USING 'hs_any';
    select * from anytable@anywhere;
    In SYBASE ANYWHERE I've got this data
    select * from anytable
    go
    dateini col1 col2
    2002-02-01 00:00:00.0000 1.5000 1.4000
    In ORACLE I've got
    SQL> select * from anytable@anywhere;
    dateini col1 col2
    01/02/02 1 1
    There isn't the decimal.
    The reason doesn't like to be 1.4 or 1,4 because in Anywhere and in Oracle It is the same insert "insert into anytable values ('02/02/01', 1.5, 1.4)".
    13. Now I try a select of one column
    select col1 from anytable@anywhere;
    this error occur :
    ORA-00904 invalid column name
    I am sure that this column exist ! "select * from anytable@anywhere;" and "select count(*) from anytable@anywhere;" are OK.
    14. And this doesn't work anymore :
    insert into bx_surcharge@anywhere values ('01/02/02',1,2);
    ORA-02047: cannot join the distributed transaction in progress
    15. Step 6 and 7 doesn't mean to be necessary ? And Where are used parameters of the "ODBC Connectivity Requirements" in the documentation. http://technet.oracle.com/doc/oracle8i_816/server.816/a76960/hs_genco.htm (And How to use Datatype Mapping ?)
    So How to successful a ODBC connection (Maybe I forget some parameters) ? For me, using a connection with ODBC is generic and have to work fine with any type of datasource, isn't it ?
    Have you got any idea to deal ? Thanks a lot.
    Jobar Team

  • Generic connectivity to SQL server: what kind of performance can I expect?

    I have set up a generic connection to a SQL server 2k db, with Oracle on another win 2k box. Both databases are in their "out of the box" configuration, so no particular tuning has been done: but the generic connectivity shows awful performance. In fact I have tried various kind of queries, and all of them show abysmal performance. A query with an "insert - select" that transferred 80K lines executed for one hour, with an average transfer rate of 1KB per second!
    I don't think this is the kind of performance I can expect from this tool, is it? Is there anyway particular I can do in order to tune the dblink over the generic connectivity?

    I don't think this is the kind of performance I can
    expect from this tool, is it? Is there anyway
    particular I can do in order to tune the dblink over
    the generic connectivity?Nevermind: apparently there are network communication problems between the two machines. Trying to execute the same tests on two co-located dbs shows performances of about 700ms in order to transfer 70000 3-column lines from a sql server db to oracle with a "insert into ... select * from" query.

Maybe you are looking for