DATABASE LINK FOR SQL SERVER
Hi all,
We are running SAP 4.7C with oracle database. For other oracle (non-sap) we are using DBCO to get/put data. Now we have to do the same in SQL server also. In addition to SAP standard table we are sending data of customer table (Z & Y series). Can anybody guide me how to send / receive data using bapi/rfc or some other method.
regards
balakumar
Hi!
For using native-SQL with MSSQL database you have to make your database requests from application server resides on windows platform. So, your basis people have to set up one more windows-based application server instance. There is no impact on backend R/3 database.
Regards,
Maxim.
Similar Messages
-
Hi,
I am tring Gateway for SQL Server ..
I want to Select Oracle Database Gateway for SQL Server 11.1.0.6.0 at the time of installation, but It is not coming in the Avaliable Components List..
Is there any prerequisite for SQL server ?
Any Help please ?Are you following the "Step Through the Oracle Universal Installer" section under
http://download.oracle.com/docs/cd/B28359_01/gateways.111/b31043/sqlserver.htm#CCHEDECC
? -
Problem with "Database Gateway for SQL Server"
Hello,
i am testing the different technologies for connecting an oracle database with a sql-server database.
The way using 10g-generic-connectivity with ODBC works fine, but the 11g-DG4MSQL makes problems.
Environment:
Server PEGASUS (32bit Windows Server 2003 R2 SP2) with Oracle Database 10g Release 10.2.0.4.0
Server OBELIXUS (32bit Windows 2000 Sp4) with MS-SQL-Server 2005
On PEGASUS i have installed the gateway in a new oracle home directory:
"D:\oracle\product\10.2.0\db_1" => home directory of 10g
"D:\oracle\product\11.1.0\tg_1\" => home directory of the gateway
D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora:
MSSQLDG =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = PEGASUS)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = DG4MSQL)
(HS = OK)
MSSQL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = PEGASUS)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = MSSQLTEST)
(HS = OK)
D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
(SID_DESC =
(GLOBAL_DBNAME = INTEGRAT)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = INTEGRAT)
(SID_DESC =
(SID_NAME = MSSQLTEST)
(PROGRAM = D:\oracle\product\10.2.0\db_1\bin\hsodbc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_DESC=
(SID_NAME=DG4MSQL)
(ORACLE_HOME=D:\oracle\product\11.1.0\tg_1)
(PROGRAM=D:\oracle\product\11.1.0\tg_1\BIN\dg4msql)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = pegasus.cursor.de)(PORT = 1521))
D:\oracle\product\11.1.0\tg_1\dg4msql\admin\initDG4MSQL.ora:
HS_FDS_CONNECT_INFO=OBELIXUS/MSSQLSERVER/testuju
HS_FDS_TRACE_LEVEL=DEBUG
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
D:\oracle\product\10.2.0\db_1\hs\admin\initMSSQLTEST.ora:
HS_FDS_CONNECT_INFO=DSN_MSSQL
HS_FDS_TRACE_LEVEL=OFF
HS_LANGUAGE=AMERICAN_AMERICA.WE8MSWIN1252
HS_FDS_FETCH_ROWS=100
HS_RPC_FETCH_REBLOCKING=OFF
How mentioned above, the access from oracle to sqlserver using MSSQL(10g hsodbc.exe) works fine.
But when trying to acces the sqlserver using MSSQLDG (11g dg4msql.exe) I get the following error:
ORA-28500: Verbindung von ORACLE zu Fremdsystem gab diese Nachricht zurück:
[Oracle][ODBC SQL Server Driver][DBNETLIB]Ungültige Verbindung.
[Oracle][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (ParseConnectParams()).
[Oracle][ODBC SQL Server Driver]Ungültiges Attribut für die Verbindungszeichenfolge
ORA-02063: vorherige 2 lines von DBL_MSSQL4
Here the contect of the file "DG4MSQL_agt_2332.trc":
Oracle Corporation --- FREITAG AUG 22 2008 16:17:42.198
Heterogeneous Agent Release
11.1.0.6.0
Oracle Corporation --- FREITAG AUG 22 2008 16:17:42.198
Version 11.1.0.6.0
Entered hgogprd
HOSGIP for "HS_FDS_TRACE_LEVEL" returned "DEBUG"
Entered hgosdip
setting HS_OPEN_CURSORS to default of 50
HOSGIP returned value of "RECOVER" for HS_FDS_RECOVERY_ACCOUNT
HOSGIP returned a value for HS_FDS_RECOVERY_PWD
setting HS_FDS_TRANSACTION_LOG to default of "HS_TRANSACTION_LOG"
setting HS_FDS_TRANSACTION_ISOLATION to default of "READ_COMMITTED"
setting HS_NLS_NCHAR to default of "AL16UTF16"
setting HS_FDS_TIMESTAMP_AS_DATE to default of "TRUE"
setting HS_RPC_FETCH_REBLOCKING to default of "ON"
setting HS_FDS_FETCH_ROWS to default of "100"
setting HS_FDS_RESULTSET_SUPPORT to default of "FALSE"
setting HS_FDS_PROC_IS_FUNC to default of "FALSE"
setting HS_FDS_CHARACTER_SEMANTICS to default of "FALSE"
setting HS_FDS_MAP_NCHAR to default of "TRUE"
setting HS_NLS_DATE_FORMAT to default of "YYYY-MM-DD HH24:MI:SS"
setting HS_FDS_REPORT_REAL_AS_DOUBLE to default of "FALSE"
setting HS_LONG_PIECE_TRANSFER_SIZE to default of "65536"
setting HS_SQL_HANDLE_STMT_REUSE to default of "FALSE"
setting HS_FDS_QUERY_DRIVER to default of "FALSE"
setting HS_CALL_NAME_ISP to "gtw$:SQLTables;gtw$:SQLColumns;gtw$:SQLPrimaryKeys;gtw$:SQLForeignKeys;gtw$:SQLProcedures;gtw$:SQLStatistics"
Exiting hgosdip, rc=0
ORACLE_SID is "DG4MSQL"
Product-Info:
Port Rls/Upd:6/0 PrdStat:0
Agent:Oracle Database Gateway for MSSQL
Facility:hsa
Class:MSSQL, ClassVsn:11.1.0.6.0_0006, Instance:DG4MSQL
Exiting hgogprd, rc=0
Entered hgoinit
HOCXU_COMP_CSET=1
HOCXU_DRV_CSET=178
HOCXU_DRV_NCHAR=2000
HOCXU_DB_CSET=178
HOCXU_SEM_VER=102000
Entered hgolofn at 2008/08/22-16:17:42
RC=-1 from HOSGIP for "PATH"
PATH from environment is "d:\oracle\product\11.1.0\tg_1\bin;D:\oracle\product\10.2.0\db_1\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Programme\IBM\Informix\Client-SDK\bin"
Exiting hgolofn, rc=0 at 2008/08/22-16:17:43
HOSGIP for "HS_OPEN_CURSORS" returned "50"
HOSGIP for "HS_FDS_FETCH_ROWS" returned "100"
HOSGIP for "HS_LONG_PIECE_TRANSFER_SIZE" returned "65536"
HOSGIP for "HS_NLS_NUMERIC_CHARACTER" returned ".,"
Exiting hgoinit, rc=0 at 2008/08/22-16:17:43
Entered hgolgon at 2008/08/22-16:17:43
reco:0, name:testuju, tflag:0
Entered hgosuec at 2008/08/22-16:17:43
uencoding=UTF16
Entered shgosuec at 2008/08/22-16:17:43
Exiting shgosuec, rc=0 at 2008/08/22-16:17:43
shgosuec() returned rc=0
Exiting hgosuec, rc=0 at 2008/08/22-16:17:43
HOSGIP for "HS_FDS_RECOVERY_ACCOUNT" returned "RECOVER"
HOSGIP for "HS_FDS_TRANSACTION_LOG" returned ""HS_TRANSACTION_LOG""
HOSGIP for "HS_FDS_TIMESTAMP_AS_DATE" returned "TRUE"
HOSGIP for "HS_FDS_CHARACTER_SEMANTICS" returned "FALSE"
HOSGIP for "HS_FDS_MAP_NCHAR" returned "TRUE"
HOSGIP for "HS_FDS_RESULT_SET_SUPPORT" returned "FALSE"
HOSGIP for "HS_FDS_PROC_IS_FUNC" returned "FALSE"
HOSGIP for "HS_FDS_REPORT_REAL_AS_DOUBLE" returned "FALSE"
using testuju as default value for "HS_FDS_DEFAULT_OWNER"
HOSGIP for "HS_SQL_HANDLE_STMT_REUSE" returned "FALSE"
Entered hgocont at 2008/08/22-16:17:43
HS_FDS_CONNECT_INFO = "OBELIXUS/MSSQLSERVER/testuju"
RC=-1 from HOSGIP for "HS_FDS_CONNECT_STRING"
Entered hgogenconstr at 2008/08/22-16:17:43
dsn:OBELIXUS/MSSQLSERVER/testuju, name:testuju
optn:
Entered shgogohn at 2008/08/22-16:17:43
ohn is 'OraGtw11g_home1'
Exiting shgogohn, rc=0 at 2008/08/22-16:17:43
Entered hgocont_OracleCsidToIANA at 2008/08/22-16:17:43
Returning 2252
Exiting hgocont_OracleCsidToIANA at 2008/08/22-16:17:43
##>Connect Parameters (len=223)<##
## DRIVER=Oracle 11g dg4msql-OraGtw11g_home1;
## SERVER=OBELIXUS\MSSQLSERVER;
## Database=testuju;
#! UID=testuju;
#! PWD=*
## AnsiNPW=Yes;
## QuotedId=Yes;
## IANAAppCodePage=2252;
## ArraySize=100;
## PadVarbinary=0;
## SupportNumericPrecisionGreaterThan38=1;
Exiting hgogenconstr, rc=0 at 2008/08/22-16:17:44
Entered hgopoer at 2008/08/22-16:18:00
hgopoer, line 159: got native error 14 and sqlstate 08001; message follows...
[Oracle][ODBC SQL Server Driver][DBNETLIB]Ungültige Verbindung.[Oracle][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (ParseConnectParams()).[Oracle][ODBC SQL Server Driver]Ungültiges Attribut für die Verbindungszeichenfolge
Exiting hgopoer, rc=0 at 2008/08/22-16:18:00
hgocont, line 1890: calling SqlDriverConnect got sqlstate 08001
Exiting hgocont, rc=28500 at 2008/08/22-16:18:00 with error ptr FILE:hgocont.c LINE:1910 ID:Something other than invalid authorization
Exiting hgolgon, rc=28500 at 2008/08/22-16:18:00 with error ptr FILE:hgolgon.c LINE:612 ID:Calling hgocont
Entered hgoexit at 2008/08/22-16:18:00
Exiting hgoexit, rc=0 at 2008/08/22-16:18:00
Many thanks in advance for any help!
Regards HartmutAt first your configuration is not really correct.
=====================================================
In the LISTENER.ORA from 10g, you must only refer to the database and hsodbc 10g
D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
(SID_DESC =
(GLOBAL_DBNAME = INTEGRAT)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = INTEGRAT)
(SID_DESC =
(SID_NAME = MSSQLTEST)
(PROGRAM = D:\oracle\product\10.2.0\db_1\bin\hsodbc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = pegasus.cursor.de)(PORT = 1521))
===========================================================
Then you have to create a new listener (new name) in the gateway oracle_home on a different port than instance database:
D:\oracle\product\11.1.0\tg_1\network\admin\listener.ora
SID_LIST_LISTENERGTW =
(SID_LIST =
(SID_DESC=
(SID_NAME=DG4MSQL)
(ORACLE_HOME=D:\oracle\product\11.1.0\tg_1)
(PROGRAM=D:\oracle\product\11.1.0\tg_1\BIN\dg4msql)
LISTENERGTW=
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = pegasus.cursor.de)(PORT = 1522))
To start it, use the command below:
D:\oracle\product\11.1.0\tg_1\bin\LSNRCTL start listenergtw
===========================================================
D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora:
match the DG4MSQL with the listener on 1522 port
HSODBC match with binary10g on listener 1521 port
MSSQLDG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = PEGASUS)(PORT = 1522))
(CONNECT_DATA =(SERVICE_NAME = DG4MSQL))
(HS = OK)
MSSQL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = PEGASUS)(PORT = 1521))
(CONNECT_DATA =(SERVICE_NAME = MSSQLTEST))
(HS = OK)
Try to configure and let me know your feedback
regards,
Mireille -
Database link to SQL Server Init error
Hi all,
i´m tryng to create a dblink between Oracle 10.2.0 in a RHEL4 and a SQL Server.
I can connect using isql but when i try using sqlplus i obtain this error:
SQL> CREATE DATABASE LINK dbl
CONNECT TO "user"
IDENTIFIED BY "pwd"
USING 'hsodbc'; 2 3 4
Enlace con la base de datos creado.
SQL> SELECT * FROM Table_1@dbl;
SELECT * FROM Table_1@dbl
ERROR en línea 1:
ORA-28545: error diagnosticado por Net8 al conectar a un agente (error in Net8 while connecting an agent)
Unable to retrieve text of NETWORK/NCR message 65535
ORA-02063: 2 lines precediendo a DBL
This is the error explanantion in Oracle Docs:
I think the problem is the ini file inithsodbc.ora.
inithsodbc.ora
# This is a sample agent init file that contains the HS parameters that are
# needed for an ODBC Agent.
# HS init parameters
# AAB - Parametros para asociar un agente ODBC al HS
HS_FDS_CONNECT_INFO = MSQLS
HS_FDS_TRACE_LEVEL = ON
HS_FDS_SHAREABLE_NAME =/usr/local/freetds/lib/libtdsodbc.so
HS_AUTOREGISTER = true
# ODBC specific environment variables
set ODBCINI=/home/oracle/.odbc.ini
listener.ora
# listener.ora Network Configuration File: /app/oracle/oracle/product/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = STA2)
(ORACLE_HOME = /app/oracle/oracle/product/10.2.0/db_1)
(SID_DESC = (SID_NAME=hsodbc)
(ORACLE_HOME=/app/oracle/oracle/product/10.2.0/db_1)
(PROGRAM=hsodbc)
(ENVS=LD_LIBRARY_PATH=/app/oracle/oracle/product/10.2.0/db_1/lib:/usr/local/lib)
LISTENER =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = nemesisgr2.hi.inet)(PORT = 1521))
tnsnames.ora
# tnsnames.ora Network Configuration File: /app/oracle/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
DEVSTA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = nemesisgr.hi.inet)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = devSTA)
STA2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = nemesisgr2.hi.inet)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = STA2)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
STA =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = nemesisgr2.hi.inet)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = STA)
#AAB - Descripcion de servicio para conectar con SQLServer
HSODBC = (DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)
(HOST=nemesisgr2.hi.inet)
(PORT=1521)
(CONNECT_DATA = (SID=hsodbc)
(HS = OK)
ODBC Files
odbc.ini
[ODBC Data Sources]
MSQLS = Microsoft SQL Server
[MSQLS]
Driver = /usr/local/freetds/lib/libtdsodbc.so
Description = Microsoft SQL Server
Trace = No
Servername = sqlserver
Database = master
[Default]
Driver = /usr/local/freetds/lib/libtdsodbc.so
odbcinst.ini
[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /usr/lib/libodbcpsql.so
Setup = /usr/lib/libodbcpsqlS.so
FileUsage = 1
[MSQLSDRIVER]
Description = Driver for MS SQL Server
Driver = /usr/local/freetds/lib/libtdsodbc.so
Setup = /usr/lib64/libtdsS.so
FileUsage = 1
UsageCount = 5
freetds.conf
# $Id: freetds.conf,v 1.12 2007/12/25 06:02:36 jklowden Exp $
# This file is installed by FreeTDS if no file by the same
# name is found in the installation directory.
# For information about the layout of this file and its settings,
# see the freetds.conf manpage "man freetds.conf".
# Global settings are overridden by those in a database
# server specific section
[global]
# TDS protocol version
; tds version = 4.2
# Whether to write a TDSDUMP file for diagnostic purposes
# (setting this to /tmp is insecure on a multi-user system)
; dump file = /tmp/freetds.log
; debug flags = 0xffff
# Command and connection timeouts
; timeout = 10
; connect timeout = 10
# If you get out-of-memory errors, it may mean that your client
# is trying to allocate a huge buffer for a TEXT field.
# Try setting 'text size' to a more reasonable limit
text size = 64512
# A typical Sybase server
[egServer50]
host = symachine.domain.com
port = 5000
tds version = 5.0
# A typical Microsoft server
[egServer70]
host = ntmachine.domain.com
port = 1433
tds version = 7.0
# Test MS SQl Server
[sqlserver]
Database = master
host = pruebas.hi.inet
port = 1433
tds version = 7.0
Any ideas??
Thanks in advance.
AlexI have changed the inithsodbc.ora file including:
HS_FDS_SHAREABLE_NAME =/usr/lib/libodbc.so (I have ODBC installed)
Here you are the other information:
lsnrctl status
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 23-OCT-2008 09:29:52
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Bienvenido a LSNRCTL, escriba "help" para obtener información.
LSNRCTL> status
Conectándose a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=nemesisgr2.hi.inet)(PORT=1521)))
ESTADO del LISTENER
Alias LISTENER
Versión TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Fecha de Inicio 22-OCT-2008 19:31:34
Tiempo Actividad 0 días 13 hr. 58 min. 29 seg.
Nivel de Rastreo off
Seguridad ON: Local OS Authentication
SNMP OFF
Parámetros del Listener /app/oracle/oracle/product/10.2.0/db_1/network/admin/listener.ora
Log del Listener /app/oracle/oracle/product/10.2.0/db_1/network/log/listener.log
Recibiendo Resumen de Puntos Finales...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=nemesisgr2)(PORT=1521)))
Resumen de Servicios...
El servicio "STA" tiene 1 instancia(s).
La instancia "STA", con estado READY, tiene 1 manejador(es) para este servicio...
El servicio "STA2" tiene 2 instancia(s).
La instancia "STA2", con estado UNKNOWN, tiene 1 manejador(es) para este servicio...
La instancia "STA2", con estado READY, tiene 1 manejador(es) para este servicio...
El servicio "STA2XDB" tiene 1 instancia(s).
La instancia "STA2", con estado READY, tiene 1 manejador(es) para este servicio...
El servicio "STA2_XPT" tiene 1 instancia(s).
La instancia "STA2", con estado READY, tiene 1 manejador(es) para este servicio...
El servicio "STAXDB" tiene 1 instancia(s).
La instancia "STA", con estado READY, tiene 1 manejador(es) para este servicio...
El servicio "STA_XPT" tiene 1 instancia(s).
La instancia "STA", con estado READY, tiene 1 manejador(es) para este servicio...
El servicio "hsodbc" tiene 1 instancia(s).
La instancia "hsodbc", con estado UNKNOWN, tiene 1 manejador(es) para este servicio...
El comando ha terminado correctamente
LSNRCTL>
hsodbc
There is no output executing this command.
[oracle@nemesisgr2 ~]$ /app/oracle/oracle/product/10.2.0/db_1/bin/hsodbc
[oracle@nemesisgr2 ~]$
tnsping hsodbc
[oracle@nemesisgr2 ~]$ tnsping hsodbc
TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 23-OCT-2008 09:35:58
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Archivos de parámetros utilizados:
/app/oracle/oracle/product/10.2.0/db_1/network/admin/sqlnet.ora
Adaptador TNSNAMES utilizado para resolver el alias
Attempting to contact (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp) (HOST=nemesisgr2.hi.inet) (PORT=1521)) (CONNECT_DATA = (SID=hsodbc)) (HS = OK))
Realizado correctamente (40 mseg)
Rgds,
Alex -
Creating a database link to SQL server
Hi All,
How can I create a database link from Oracle9i Enterprise Edition Release 9.2.0.1.0 DB to MS SQL Server database.
Thanking You
Regards LakmalIt depends on your requirements.
You can use either Generic Connectivity or Transparent Gateways.
More information can be found here:
http://www.oracle.com/technology/products/gateways/index.html -
Hi All,
When I query the SQL server table from Oracle using DB Link, it works fine for any table:
select * from testtable@DBLINK test -- This statement works fine because I am giving * i.e. all columns
But when I try to query specific columns like
Select test.status from testtable@DBLINK test
then it gives me error ORA-00904: "test.Status invalid Identifier", I can see this particular column when I query the testtable for all of the columns.
I don't know what to do.
ThanksYou need to use quoted names. SQL Server data dictionary stores names in same case they were entered while Oracle in upper case. So when you issue
Select test.status from testtable@DBLINK test Oracle parser will look for column STATUS while on SQL Server side it could be stored, for examle, as Status or status. Check column names on SQL Server side and use quoted names. Assuming column name is Status:
Select test."Status" from testtable@DBLINK test SY. -
Multibyte issue in database link with sql server
Hi Gurus,
Greetings!!!
I need to transfer data from Microsoft SQL Server 2005 to Oracle DAtabase 10g(AL32UTF8 characterset). I achieved it using Heterogeneous Connectivity. I can now issue queries but unfortunately i got an issue in displaying multibyte characters. I thought of using another Tool that can display multibyte data but it did not help. I even tried setting the initialization parameter HS_LANGUAGE to different characterset but still not able to display. Kindly help and advise how to resolve the said issue.
Many Thanks in Advance,
BenjieWhat is the exact issue you're talking about?
Can you explain it or show us a sort of it with a sample output?
MS SQL Server is not our daily bread so we may not know how it works with Oracle and what problems are there in their interconnectivity, but we may tell you what may be the reason of a behavior that causes the issues for your purpose.
Bye Alessandro -
Strange problem with an Oracle database link to SQL Server
Hi gurus,
Please help me on this problem.
We have an Oracle 10R2 database link to a SQL Server 2000 database. I can select count(*) from The_SQL_Server_Table@myOracleLink, and I can describe The_SQL_Server_Table@myOracleLink, but I cannot select Column1 from The_SQL_Server_Table@myOracleLink! I am getting the ORA-00904: "COLUMN1": invalid identifier error.
Could anyone tell me what is wrong here? By the way, the same user name can select all the columns in The_SQL_Server_Table through ODBC from the client app. But I need the DB link to work with some Oracle stored functions.
Thank you!
Benmyora9i wrote:
Hi gurus,
Please help me on this problem.
We have an Oracle 10R2 database link to a SQL Server 2000 database. I can select count(*) from The_SQL_Server_Table@myOracleLink, and I can describe The_SQL_Server_Table@myOracleLink, but I cannot select Column1 from The_SQL_Server_Table@myOracleLink! I am getting the ORA-00904: "COLUMN1": invalid identifier error.
Could anyone tell me what is wrong here? By the way, the same user name can select all the columns in The_SQL_Server_Table through ODBC from the client app. But I need the DB link to work with some Oracle stored functions.
Thank you!
Bennotice "COLUMN1" is different from "Column1"
CaSe MaTTerS! -
How to create a database link to SQL Server from a RAC environment
We have a 4 node RAC running 11.2.0.3 binaries on 64-bit linux.
Grid owns the listener named listener.
Oracle owns the database.Thanks all! But I tried to configure and I am getting
TNS-01201: Listener cannot find executable /u01/app/oracle/product/11.2.0.3/dbhome_1/bin/InfoEdb10 for SID InfoEdb10
Listener failed to start. See the error message(s) above...
So! What I did was
1. Configure the odbc from the OS (only one node) and create the DSN and its odbc files. connectivity works from Operating Systems.
2. Create the listener entry (under GRID) user.
3. Create the remotedb.ora file under $ORACLE_HOME/hs/admin
--- Here is listener.ora file
LISTENER_NODE1_TG =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = devrac-a-01-vip.cssd.pitt.edu)(PORT = 1549)(IP = FIRST))
(ADDRESS = (PROTOCOL = TCP)(HOST = devrac-a-01.cssd.pitt.edu)(PORT = 1549)(IP = FIRST))
SID_LIST_LISTENER_NODE1_TG =
(SID_LIST =
(SID_DESC =
(SID_NAME = InfoEdb10)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0.3/dbhome_1)
(ENVS = "LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0.3/dbhome_1/lib")
(PROGRAM = InfoEdb10)
any help is appreciated -
SAP and Database Encrption on SQL Server 2005 or 2008
Hi. I searched as best I could for any existing threads on this topic, and could not find any, so I hope it's OK to raise a new one.
We're running SAP ECC 6.0 on a SQL 2005 database. Database size is around 3.3 TB, with Trans Log of about 550GB, storage is HP EVA.
I've been asked to report on how Database Encryption would impact our systems, both from the perspective of enabling it initially and then how it would affect performance going forward.
I've read a few White Papers, for example:
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/4ab89e84-0d01-0010-cda2-82ddc3548c65?QuickLink=index&overridelayout=true
.. and from what I'm reading, it looks like I would want to be moving to SQL Server 2008 as a first step. Does anyone have any experience of implementing SQL encryption for a SAP database, either in 2K5 or 2K8?
All comments or help will be welcomed.
Thanks
Steven ClarkHello Steven,
You can also check the following websites:
http://blogs.msdn.com/b/saponsqlserver/archive/2011/09/05/decreased-disk-space-requirement-for-sap-unicode-systems.aspx
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/50c5de8f-282a-2e10-cb8a-a5859a0994a4&overridelayout=true
And, SAP notes:
[1581700 PAGE compression support for DDIC & Hom./Het. System Copy|http://service.sap.com/sap/support/notes/1581700]
[1488135 Database compression for SQL Server|http://service.sap.com/sap/support/notes/1488135]
Regards,
Eduardo Rezende -
DB Link to SQL Server (11gR2 64-bit Windows 7)
Without going into all the gruesome details, it is mostly straightforward to set up a DB Link to SQL Server from an Oracle 10 instance on 32 bit Windows 7. However I simply cannot get the link to work on 11gR2. I tried the simplistic ds4odbc interface and the more complex SQL Server gateway. Nothing works. The connection always times out. Has anyone been able to create a SQL Server DB link from 11gR2 on Windows 7? (The Oracle instance is 32 bit. The OS is 64 bit). I know Win7 is unsupported at present.
Edited by: user2190753 on Oct 14, 2010 4:51 PMHi,
first of all you need to check the ODBC connectivity between Oracle and SQL Server and the Data source,try to load data from oracle to Sql Server to check the ODBC connection is working properly and then create database link from sql server to oracle ,you can create stored procedures in SQL server to get data from Oracle to sql server or Oracle PL/SQL Packages to data from sql server to Oracle Database
To setup ODBC and datasource
see this link
http://www.databasejournal.com/features/oracle/article.php/3442661/Making-a-Connection-from-Oracle-to-SQL-Server.htm
and then create link server in sql server after you test connenction with oracle -
Permissions needed for sql server job to execute stored procedure on linked server?
Hi all
I have a job step which attempts to call a stored procedure on a linked server.
This step is failing with a permission denied error. How can I debug or resolve this?
The job owner is sysadmin on both servers so should have execute permission to the database/proc I'm calling, right?
The error is:
The EXECUTE permission was denied on the object 'myProc', database 'myDatabase', schema 'dbo'. [SQLSTATE 42000] (Error 229). The step failed.
My code is:
EXEC [LinkedServer].myDatabase.dbo.myProc
Also tried:
SELECT * FROM OPENQUERY([LinkedServer], 'SET FMTONLY OFF EXEC myDatabase.dbo.myProc')
With the same result.
Any help appreciated.The job owner may be sysadmin on the remote server. The service account for SQL Server Agent may not. And it is the latter that counts, since the it the service accounts that logs in and impersonates the job owner. But the impersonation inside SQL Server
does not count much in Windows, and it is through Windows connection is made to the other site.
One way to resolve this is to set up a login mapping for the job owner. The login mapping must be for an SQL login on the remote server.
You can verify the theory, but running this query from the job:
SELECT * FROM OPENQUERY([LinkedServer], 'SELECT SYSTEM_USER')
By the way, putting SET FMTONLY OFF in OPENQUERY is a terrible idea. This has the effect that the procedure is executed twice. (Unless both servers are SQL 2012 or higher in which case FMTONLY has no effect at all.)
Erland Sommarskog, SQL Server MVP, [email protected] -
How could I create a "Linked Server" link from SQL Server 2008R2 64-Bit to Oracle Database 11.2 64-Bit?
Let's say the SQL Server and Oracle Database are in the same Company Internet Network.
I have the code, but I do not know how to use it. Such as what is System DSN Name? Where could I get it. What does it look like?
Do I need to install any Oracle Client Software in order to link from SQL Server to Oracle? Or SQL Server has the built-in drivers installed already that I can directly create a Linked Server from SQL Server to Oracle?
I need to know details. Thanks.
USE master
go
EXEC sp_addlinkedserver
@server = '{Linked Server Name}'
,@srvproduct = '{System DSN Name}'
,@provider = 'MSDASQL'
,@datasrc = '{System DSN Name}'
EXEC sp_addlinkedsrvlogin
@rmtsrvname = '{Linked Server Name}'
,@useself = 'False'
,@locallogin = NULL
,@rmtuser = '{Oracle User Name}'
,@rmtpassword = '{Oracle User Password}'You need an OLE DB provider for Oracle. There is one that ships with Windows, but it only supports very old versions of Oracle. Oracle has an OLE DB provider that you can use. I don't know if it's part of Oracle Client or how it is bundled.
You should not use MSDASQL or any DSN.
Erland Sommarskog, SQL Server MVP, [email protected] -
Hi,
I have installed the x64 SQL Server 2008 R2 Express with default settings and run MBSA 2.3 (using default settings too). It shows three SQL Server instances: MSSQL10_50.SQLEXPRESS, SQLEXPRESS and SQLEXPRESS (32-bit). For the first, authentication
mode is Windows, for the rest two - mixed. Here https://social.msdn.microsoft.com/Forums/sqlserver/en-US/03e470dc-874d-476d-849b-c805acf5b24d/sql-mbsa-question-on-folder-permission?forum=sqlsecurity question
about such multiple instances was asked and the answer is that "MSSQL10.TEST_DB
is the instance ID for the SQL Server Database Engine of the instance, TEST_DB", so in my case, it seems that MSSQL10_50.SQLEXPRESS is the instance ID for SQL Server Database Engine of the SQLEXPRESS instance.
I have two questions:
1) How can it be that SQL Server DB Engine instance has different authentication mode than corresponding SQL Server Instance?
2) Why 32-bit instance reported although I installed only 64-bit version?
Also, this https://social.technet.microsoft.com/Forums/security/en-US/6b12c019-eaf0-402c-ab40-51d31dce968f/mbsa-23-reporting-sql-32bt-instance-is-running-in-mixed-mode-when-it-is-set-to-integrated?forum=MBSA question seems to be related to this
issue, but there is no answer :(.
Upd: Tried on clean Windows 8 installation and Windows 7 with the same result.Because I DO NOT want the three people who will be having access to the production SQL Server to also have access to the primary host ProductionA. Since I have to allow them to RDC into the box to manage the SQL Server, I figure why not create
a separate VM for each one of them and they can RDC into those instead.
Does this make any sense?
Any tips are greatly appreciated. The main reason for doing this is because the three people who will be accessing the box, I need to isolate each one of them and at the same time keep them off of the primary ProductionA.
Thanks for your help.
M
Hello M,
Since you dont want the 3 guys to have access to Production machine A.You can install SQL Server client .By client i mean SQL server management studio(SSMS) on there local desktop and then create login for them in SQL Server.Open port on which your SQL server
is running for three of the machines so that they can connct.Now with SSMS installed on each machine each can connect to SQL server from there own machine.
I would also like you to be cautious with giving Sysadmin privilege to all three of them ,first please note down what task they would do and then decide what rights to be provided.
Your option will also work but you need to create 3 VM for that .Which is more tedious task.
Hope this helps
Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers -
Hi, Can I use Microsoft SQL Server Management Studio version 11.0 to write SQL queries for "SQL Server Compact 4.0 Local Database" ?
When I use Connect Object Explorer, the "Connect to Server" dialog box which pops up has only 4 selections in the Server Type Drop Down List. They are Database Engine, Analysis Services, Reporting Services & Integration Services. I have read
somewhere that there should be a compact database option. but I do not see it.
What I would like to do is use free form SQL Queries against the tables in "SQL Server Compact 4.0 Local Database" .
Once I have validated these queries, then I will use them in my Visual Studio 2012 C#, ASP.NET application. I created the Local Database using Visual Studio 2012 for use by my application.
Thank you for your help..
diana4Hello,
With SSMS 2005 we have had the Option to work with SQL CE database files, but not with higher Version of SSMS.
You can use the free SQL CE Toolbax instead; see
http://sqlcetoolbox.codeplex.com/
Olaf Helper
[ Blog] [ Xing] [ MVP]
Maybe you are looking for
-
How to setup iMessage correctly to avoid double replys
Hi there. I have just installed Mountain Lion on my macbook air. I also have an iPhone. I now have connected my account with iMessage on the macbook. I am using the same account on my iPhone. So far so good. I then start a chat in iMessage from my ma
-
One of the bigger negative aspects of the iMac for me personally, is that if I switched I would lose my Media Center capabilities as far as recording tv and watching it on my computer. Is there a similar tivo/media cetner pc program for iMACs? Do I n
-
Photos as attachments to email
When trying to send an attachment to an email, Word docs etc will attach as usual, but clicking on Pictures fails to open the selection of photos in iPhoto (which was previously fine). This seems to be true of more than one email system.
-
Whats the Life of a MicroDrive in a Zen MicroPho
I use my player for about 40 hours per week, I was wondering what type of life I should expect. Thanks
-
Yahoo stole my newtab page and I want it back!
OK. I really liked the new-tab page Firefox came up with, then my brother downloaded Yahoo crap and I uninstalled it. The problem I have is that whenever I open a new tab, it still opens a yahoo search page. I looked everywhere online for information