Why can't I get the list of tables when connecting to oracle in SSIS? - oracle

When I connect to Oracle from SSIS through OLE DB, and try to locate the tables, I get a huge list. Why don't I get only the database tables?
My connection is:
Provider = Native OLE DB\Oracle Provider for OLE DB.
Server or file name = localhost:1521/orcl
Reference image on the listing I get

Related

SSMA - How to see the new Tables created on Oracle Schema?

I have a project to migrate Oracle schema and its objects to SQL Server on SSMA.
I created a new table on the Oracle schema I am migrating, but I cannot see that table on SSMA.
I tried "Refresh from Database" on SSMA and it doesn't show up either. I receive the message: Nothing to process by this operation, because all objects are equal
When I open the schema on SQL Developer, I can see the table under the schema on Oracle

Move data from Oracle to Sybase - String problem

In our DTS package we copy data from Oracle from column VARCHAR2(50 CHAR) (Unicode) to Sybase column VARCHAR(50) (Nonunicode). Source is Oracle DB where we select data from sql query.
Next one is Data conversion where we transform data to STRING[DT_STR] 50 (CODE PAGE 1250). Finally are data inserted to Sybase table column Varchar(50). But after running we see only empty columns, no original values.
Where can be the error?
Update 1
If i execute SELECT ##VERSION on the Sybase server i got the following information:
Adaptive Server Enterprise/15.7/EBF 21520 SMP SP102 /P/ia64/HP-UX B.11.31/ase157sp101/3445/64-bit/FBO/Sat Jul 13 05:47:31 2013
And i am using OLEDB Provider to connect to Sybase destination
Use ADO.Net instead of OLEDB
Based on your comments, it looks like you are using OLEDB Provider to connect to Sybase. The prefered way to connect to Sybase is using ADO.Net providers not OLEDB.
Sybase OLEDB Provider issues
With a small search on the web you can realize that Sybase OLEDB provider may cause several issue when used in SSIS, as example:
Error while extracting data from Sybase using OLE DB in SSIS
After reinstall SYBASE oledb provider it does not appear in SSIS connection manager
Sybase ADO.NET
ADO.Net is the proper way to connect to sybase from SSIS.
In the following official documentation they mentioned that:
Adaptive Server ADO.NET Data Provider can be integrated into SQL Server Integration Services (SSIS), allowing for native access to ADO.NET Data Provider functions.
With the integration, you can use Adaptive Server as an:
ADO.NET Connection Manager
ADO.NET Source data flow component
ADO.NET Destination data flow component
Also in the official download page, they didn't mentioned OLEDB provider but they mentioned ADO.NET
Step by step guide to use Sybase ADO.Net data provider
You can check the following link:
Import and Export from SQL Server to Sybase DB using SSIS
Workaround
If ADO.Net didn't work, check that the issue is not caused by some unicode characters that are not supported in Sybase destination.
Try adding a script component, add an Output column of type DT_STR, and use the following code:
Row.outColumn = Encoding.GetEncoding("Windows-1250").GetString(Encoding.GetEncoding("Windows-1250").GetBytes(Row.inColumn))
And map outColumn to the destination.

How to create a database link from Oracle database to DB2 on system i

I'm trying to establish a connection to a DB2 database using a database link in Oracle.
The final objective is to be able to do a "create table XXX as select * from YYY#DB2"
I can connect directly to the DB2 database using SQL Developer and the db2jcc.jar connector but i can't create the database link.
Additionaly, when i use the feature "Migrate to Oracle..." on SQL Developer it just dump a java exception.
Thanks in advance,
Manuel
One way of doing this is with "heterogenous services", ie, Oracle takes via ODBC to a remote non-oracle data source.
There's a manual for this in the standard doc set:
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/heter/index.html
but in a nutshell, the basic steps are:
1) have an ODBC driver for DB2 on your database server, or on a machine that your database server can reach.
2) Configure an ODBC target for that DB2 database. Lets call it "MYDB2"
3) create a file initMYDB2.ora in $ORACLE_HOME/hs/admin. Configure it as per the sample (init4g4odbc.ora). It points to your MYDB2 target.
4) In that directory, you'll also find samples for listener.ora and tnsnames.ora.
So you'll end up with a tnsnames entry called "MYDB2". It will reference the initMYDB2.ora, which will point to the MYDB2 odbc target, which will be your DB2 database.
Then you create a database link in the normal way:
create database link blah
connect to my_db2_user
identified by my_db2_password
using 'mydb2';
Hope this helps.

H2 database write access reqd

I installed Talend Open Studio for MDM and Master data gets stored in H2 Database(which is the only DB provided by product). I created an entity in MDM. But I need to make changes in that entity datatype. I need to drop the entity which I already created. When I am trying to do this, I am getting below error.
sa#TMDM_DB/PUBLIC> drop table contact;
An error occurred when executing the SQL command: drop table contact
The database is read only; SQL statement: drop table contact [90097-176] [SQL State=90097, DB Errorcode=90097]
how to make this H2 DB as write mode. I need to have write access.

Access Oracle Table from Sql Server

I have two different databases, one is in sql server and one is in oracle. i create a linked server between those two. how can i get data from oracle without the option "openquery".
Please help me out this.
You can create a connection link in oracle and then you can access the sql server database
see: Oracle connection link

Resources