Connect to Oracle database Using ssis - oracle

I am all new with SSIS ( datatools 2010 ),I had installed oracle 11g enterprise edition , I want to use oracle as source ,i used OLE DB source "Microsoft OLE DB Provider For oracle" but when i test connection I get this
enter image description here
please can someone tell me what i should do .
Thank you in advance .

You need to make sure that you have the correct version of drivers installed on a server where the SSIS package will be deployed to and executed (https://learn.microsoft.com/en-us/sql/integration-services/data-flow/oracle-connector?view=sql-server-ver15#version-support) and that the bit-count is correct (not corresponding to the Windows one, but rather to the DataTools one). In case you have 32-bit and 64-bit drivers already installed, you would also need to make sure that the Data Source component in the package is picking the correct one (it will go for the first one listed in the environment variables).

Related

Oracle Developer Tools (ODT) & Visual Studio Integration

I've installed the ODT for Visual Studio 2015 (I've also tried VS2013) in hopes of using the "Oracle Database Project" but experiencing some specific error messages that don't appear to be very common.
When I browse the database via the Server Explorer, there is an option for you to be able to right click on a Relational Table and click "Generate Create Script to Project...".
However, when clicking this option I get a very non-specific error message and cannot work out why;
"Create script was not generated to Project for some of the selected object(s). See the 'Oracle Database Output' output pane for more information."
When I look at the "Oracle Database Output" window I get the message;
"Script Generation failed - Internal Error."
For here-on-in, it's gets very frustrating to find out what's wrong and to debug this non-descriptive error message.
What's most interesting is that the script generation function works for other database objects such as views & procedures, it just fails to work for database tables.
Has anybody experienced this error before? I'm wondering if it's a driver issue of some sort! (I have the oracle 11g client installed, and just tried with a specific ODAC/ODT combination package which appears to also install the 12c client, connecting to an Oracle Elements 11g server)
Any help appreciated, Thanks.
I have this problem too.
I was able to Create the scripts earlier, but now I cannot.
I did some investigating and decided this is not a problem with the oracle database. It is something to do with the state of VS.
I restarted VS2015 and I could create scripts again.

Visual Studio 2013 doesn't support MYSQL

i made an application in VS 2010 that ran on MYSQL, the client would download this program and it would create its own MYSQL database. Now that i'm using VS 2013 i can't seem to get this to work again. Unless i included all these Dll files: Microsoft tutorial
so my 3 questions are:
is it no longer supported?
is there a better local database type i could use instead, that doesn't require extra dll's?
will i have to send these dll's every time i update my application now?
MySql was never supported natively by the .net framework, you must install the mysql conector to get full access to mysql or you can use odbc but that's gonna be really slow.
If you want a compacto local db, then sqlite is much better for that Job.
And to send those dll's, it depends on how you do your update, if you have a system which remplaces your exe and leaves in place previous files, then it will work, but if you plan to use an installer, then the installer will have them.
is it no longer supported?
It is supported I am using it in my project.
is there a better local database type i could use instead, that doesn't require extra dll's?
MSSQL if you want.(I am not sure about others)
will i have to send these dll's every time i update my application now?
No, you need to deploy only once unless you are panning to change MySQL connector. You only need to ship the "MySql.Data.dll" along with your project

SQL Developer - No readers registered for SQL type error

I am using Oracle 11g. I had exported data using the installed version of SQL Developer to a sql file called "export.sql". Now, I have downloaded the new version which is 3.1.07 and when I try to import data by clicking on the tree view and choosing Tables | Import Data and navigating to "export.sql", I get the following error:
no readers are registered for the sql type
When I first started the application it asked for the path to java.exe and I have shown that path and application started. I have the started the application from the path where it was downloaded (C:\users\kaushik\Downloads\sqldeveloper)
You can call the file directly from sql developer.
Example: If you saved you file to c:\Oracle\MyBackups\Export.sql
Then from within Sql Developer, connect to your database and use the sql command:
#C:\Oracle\MyBackups\Export.sql
and that will execute the Export.Sql script.
If you have a valid SQL file, you simply need to execute the script. Open the file (File | Open and navigate to export.sql), hit the Run Script button (F5 on Windows), and choose the connection you want to use. The Data Import Wizard supports a number of different file formats (Excel, CSV, etc.). It doesn't support SQL files. If you want to ask the developers why they don't support SQL (or why they use the general file navigation dialog rather than using different dialogs for different sorts of files) you can ask them over in the SQL Developer forum on OTN. I assume the problem is that most SQL scripts contain much more than simple INSERT statements and it would be challenging to figure out whether any particular script was actually just a bunch of INSERT statements that could be used to import data.
Yes, SQL Developer is written in Java so you need to have an appropriate version of the JVM installed. Different SQL Developer download options include a bundled JVM or you can download a smaller file and use an already installed JVM.
One of oracle client tools to make session to database is sqlDeveloper and its graphical interface tool Programmed with Java Lang and its installed independently from oracle_home its a stand alone product and Of Course it needs SDK Or JDK to work
make sure to set the path and check it
read this link http://www.ehow.com/how_5127784_set-java-path.html
all of this if sql developer didn't run and other similar problem
this to answer
Is JDK is needed or what ? Yes
use sql Developer higher version
i am upgraded to Version 20.2.0.175
issue resolved

VB 6 legacy app migration to Oracle 11g

I have a legacy VB (visual basic) 6 application that connects to Oracle 8 database. We have to migrate this to Oracle 11g. (Heads up: I have never worked on VB)
The application is shipped to 1000+ users as an EXE file. Here is what i need help on:
For Developers, I understand they will need to install new oracle client for the ODBC drivers and once they test their application on 11g. Once they are done they will publish a new EXE file.
Users, Will install this new EXE file but will this be sufficient ? or the users will need to install something extra other than the new application (like a oracle 11g client, DLL files etc) on their end as well ?
Can a VB 6 app be packaged in such a way that it copies all the DLL/dependencies along with it so that end users do not need to install anything else ?
-- Vivek
I can't believe the previous developers just copied the EXE file! I know that the run-time is installed on most recent versions of Windows, but that is ridiculous!
You can use VB6's "Package and Deployment Wizard". Why not try it out? It will pick up all components contained in the References and Components dialogues, and any DLLs referenced in a Declare statement. However, if those components have dependencies, you might have to add them manually.

Why doesn't ODP.NET 11 xcopy deployment work on a machine with Oracle DB 10 installed?

I have an app that uses a local version of ODAC 11 below the directory that the .exe file is in. The idea is that we want our app to use the local ODAC 11 regardless of what else the user has installed on her machine.
Oracle.DataAccess.dll is in the same directory as the .exe.
It works fine when the client machine has no Oracle client installed, but I get an error when starting it on a machine with Oracle Database 10.2.0.something installed:
The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception.
[Stack Trace]
The provider is not compatible with the version of Oracle client
OracleException
at Oracle.DataAccess.Client.OracleInit.Initialize()
at Oracle.DataAccess.Client.OracleConnection..cctor()
I'm guessing that this has something to do with the runtime binding policy, but a search for "Oracle/ODAC/ODP.NET runtime binding policy" on Google has not turned up anything useful.
Does anyone know how to resolve the issue?
If not this specific issue, can someone point me towards an overview of how to do what I want to do: make sure that my application uses the ODAC 11 no matter what?
So as I understand it, the issue was that while Oracle.DataAccess.dll was in the same directory as the app, it could not find its lower-level homies (oci, et al), hence the compatibility error.
Turns out that if you want an application to work with ODAC 11 xcopy deployment regardless of what else the user may have installed on her machine, you need to do 2 things:
Set the PATH environment variable for the process. (I was already doing this.)
Set the ORACLE_HOME environment variable for the process. (I was not doing this.)
Environment.SetEnvironmentVariable("PATH", Environment.CurrentDirectory + "\\oracle\\11.1\\odac;" + Environment.CurrentDirectory + "\\oracle\\11.1\\odac\\bin;", EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("ORACLE_HOME", Environment.CurrentDirectory + "\\oracle\\11.1\\odac", EnvironmentVariableTarget.Process);
EDIT: It's also important to note that Oracle will throw this error not just for environmental issues, but also if one of the files is missing on the target machine. I got this same error on other machines despite the Environment settings because I had Subversion set to ignore directories called "bin", so the OraOps DLL was not being copied to the client.
An article titled "Deploying ODP.NET with Oracle Instant Client" found at http://alderprogs.blogspot.com/2009/04/deploying-odpnet-with-oracle-instant.html gave what was for me about the best explanation of how to deliver a stripped down xcopy type deployment with your application. Only 5 Oracle DLLs required for support.
That said the answers by ObiWanKenobi and Josh Kodroff provides important additional info which matches with my experience.
Add to that: http://www.brothersincode.com/post/Oracle-ODPnet-xcopy-deployment-for-aspnet.aspx
You want to force your ODP.NET drivers to use the copy of oci.dll that is in your local folder, instead of the one already installed.
You can force this by either
setting the PATH variable so the system finds your copy of of oci.dll first (as in the answer by Josh Kodroff)
or
you can use ODP.NET configuration section in app.config (or web.config) to explicitly set the value of "DllPath".
For details, see http://ora-00001.blogspot.com/2010/01/odpnet-minimal-non-intrusive-install.html and http://database.in2p3.fr/doc/oracle/Oracle_Database_11_Release_1_(11.1)_Documentation/win.111/e10927/featConfig.htm
If you're using oracle client 10.2.0.1 or 10.2.0.2, Oracle Note 215255.1 indicates that if you apply patchset 10.2.0.3 it fixes the issue. Get the 10.2.0.3 database patch (852MB) and patch the client home. Yes, it's the full database server patchset, but it applies to the client as well.

Resources