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.
-
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])
nullNote 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 AdnanIt 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
RanaHSODBC/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
RanaI 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 namehi,
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. -
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?
ThanksMS 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 TeamHello
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
-
Windows 8.1 apps error and many other problems
hi, i have a laptop (hp pavilion dv6).i have a problem.recently i installed windows 8.1 and when i open any of my apps it opens for 1 second and then goes to to the start screen.even i try installing apps it is showing some error 0x80070426 somethin
-
Settlment of Non Valuated Material's Prodction Order
Hello, I want guidance for one scenerio. Our Company is currently working as Manufacturing Plant and from 1 Dec they want to convert this plant to processing plant. In this we will change all Finished material type as non Valuated and out all raw mat
-
Bug in Config Data Source Parameter on Content presenter
Hi all, I find out a bug when we configure Data Source parameter on Content Presenter at run-time. Example: I configure the value for Data Source is: ${'SELECT * FROM ora:t:IDC:Profile:TinbaiProfile WHERE ora:p:xmNgayxuatban < TIMESTAMP \''}${pageFlo
-
I have a mac 10.5.8 Quickbooks is telling me to upgrade. When i do it, is saying it soesnt support 5.0 and I cant download 4.0 any ideas Basically i cant print checks in 5.0 only in 3.17
-
When starting WCS I get a Java error
could not find the main class. Program will exit