Move data from Oracle to Sybase - String problem - oracle

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.

Related

How to migrate(convert) database(or just tables) from PostgreSQL to Oracle using only Oracle tools?

Data was sent to our company with PostgreSQL, but we are prohibited to use the tools of PostgreSQL , permitted the use of only Oracle.
How to migrate data from PostgreSQL to Oracle without using a third party application(they are also prohibited)? You can only use the tools of Oracle.
I found this article https://support.oracle.com/knowledge/Oracle%20Database%20Products/2220826_1.html but we don't have Support Identifier
We have one .sql file. It weighs 8 Gigabytes.
It looks like you have so many impediments in your company. Regarding Oracle's SQL Developer Migration Workbench, unfortunately it does not support the migration of PostgreSQL databases. However, the following 3rd-party software tools are available and may assist in migration, but I am afraid you cannot use them as you said that those products are forbidden:
http://www.easyfrom.net/download/?gclid=CNPntY36vsQCFUoqjgodHnsA0w#.VRBHKGPVuRQ
http://www.sqlines.com/postgresql-to-oracle
Other options will only move the data from your Postgresql database to Oracle database, it means that you must have the DDLs of the tables before to run the import:
To move data only, you can generate a flat file of the the
PostgreSQL data and use Oracle SQL*Loader.
Another option to migrate data only is to use Oracle Database
Gateway for ODBC which requires an ODBC driver to connect to the
PostreSQL database, and copy each table over the network using
sqlplus "COPY" or "CREATE TABLE AS SELECT" commands via oracle
database link.
Also, Oracle has discussion forum for migrating non-oracle databases to Oracle.
http://www.oracle.com/technetwork/database/migration/third-party-093040.html
But, if you have only a sql file, you should look at it to see whether you have both DDLs ( create tables and indexes, etc ) and the data itself as insert statements. If so, you need to split it and treat the DDLs to convert the original data types to Oracle datatypes.

HY010 Oracle ODBC Function sequence error in SSIS?

I created an SSIS package to copy data from one Oracle table to another Oracle table. Each table is in a different database.
I'm getting this error for every single column of the source table:
ERROR [HY010] [Oracle][ODBC]Function sequence error
This is the screenshot.
I have no idea what this means. I've also researched but I haven't seen anything that has helped me.
How can I fix this? I did read that an alternative is to create a linked server.
I wanted to add that the ODBC driver was created with a relatively recent Oracle 12 driver, so I'm not sure why VARCHAR2 columns would not be supported.
Also wanted to point out that the Windows server where the Oracle DB is 64-bit (Windows Server 2008) and Visual Studio 2008 (where the SSIS package is created) is 32-bit. That's why the driver has "_32" at the end.
Based on the following documentation:
The error occurs when ODBC functions are called out of the order required by the ODBC Specification.
The error can also occur if an ODBC function call returns an error and the application continues making ODBC calls that require the previous ODBC call to succeed.
I think you should check that all columns data types are supported by the ODBC driver.
Similar questions
MS-Oracle ODBC Driver Function Sequence Error
Update 1
You can refer to the following link to learn more about supported data types:
Oracle® Database Gateway for ODBC User's Guide - Data Type Conversion
Note that in the link above they mentioned that:
If a table contains a column whose data type is not supported by Oracle Database Gateway for ODBC, the column information is not returned to the Oracle database.

Entity Framework Database-First with Oracle Database

I'm developing an ASP.NET WebForms application with Entity Framework Database-First connected with SQL Server, and I want to connect the same Entity Data Model with Oracle Database.
My concerns are:
How to install Oracle Database Engine on my dev machine to test?
How to connect the data model with Oracle instead of SQL Server?
How to generate the same schema into Oracle?
Are there drivers, tools, or apps I need to install?
I am doing exactly the same as you
i.e. Converting a ASP.NET MVC application on SQL server to Oracle.
Since your application is already running, what you can do, is
generate create scripts from your SQL Server database,
create the same tables in Oracle.
Install ODP.NET from
here.
This will allow you to connect to Oracle from a .NET application.
Now create a new edmx file from the tables in Oracle and if you do
everything properly, your application should be running.
Note: ODP.NET provider is only visible if you have a VS license. It is not visible on the free version.

How change the driver used by MS Access 2010 x64 to connect to external ORACLE database

I want to know if is there a way of change the driver used by Microsoft Access to extract data (only use select like querys) from Oracle 9i data base.
The Access to Oracle connection is made using an external data source (linked table) and usually the default Access driver is ODBC for ORACLE, but I want to change that and use a JDBC driver for ORACLE instead.
Thanks in advance.
The Access to Oracle connection is made using an external data source (linked table) and usually the default Access driver is ODBC for ORACLE, but I want to change that and use a JDBC driver for ORACLE instead.
I'm fairly certain that this is impossible. Access linked tables connect via Jet/ACE (for links to another Access database), or ODBC (for all other data sources). JDBC is not an option.

migration from oracle to sql server 2008

Are there any tools that I can use to migrate my Oracle database to SQL Server 2008? If not what are other choices for this type of migration?
With migration I need to move only tables (with all indexes and constraints) and data. There are no any functions, views or stored procedures.
See e.g.
Microsoft SQL Server Migration Assistant (SSMA) for Oracle is a free tool for migrating Oracle databases to Microsoft SQL Server. SSMA for Oracle converts Oracle database objects (including stored procedures) to SQL Server database objects, loads those objects into SQL Server, migrates data from Oracle to SQL Server, and then validates the migration of code and data.
http://www.microsoft.com/sqlserver/2005/en/us/migration-oracle.aspx
or many more commercial offerings - Bing or Google are your friends!

Resources