VB 6 legacy app migration to Oracle 11g - vb6

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.

Related

Connect to Oracle database Using ssis

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).

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

Deploying C# web application connecting to an Oracle database

As we tried to deploy a new project that connects to an Oracle database, we encountered some problems..
On my development workstation, I have my Oracle dll's installed in c:\app\oracle\product\11.2.0\client_1\BIN but on the development web server, it's in stalled in c:\oracle\product\11.2.0\client_1\BIN (noticed NOT in the app folder).
When an application is deployed, those dll's that are referenced need to be in the same location on both machines. So needless to say, we get an error from the development server.
In order to fix this, we tried a few things -
Move the Oracle install to c:\app... on my machine and rebuild from my development machine. This didn't work because there are relative dll's that rely on that path.
Because 1 didn't work, we tried to reset the environment path variables to c:\oracle on my machine. That didn't work.
tried to copy the needed dll's into my bin directory because my understanding is Visual Studio will build from the GAC, then from the bin directory. That didn't work.
Knowing that re-installing Oracle on the development server to c:\app\Oracle isn't an option, has anyone else come across this problem?
You need to make sure that your Oracle install is setup correctly. I have a few utilities that can assist with this.
Step 1 -
The utilities below will confirm first that .net works with Oracle on your server
http://tsells.wordpress.com/2010/02/18/oracle-connection-tester-for-net-applications/
Step 2 -
If the utility above worked - then go to step 3. Otherwise - .net can't see oracle on this machine. Check your path statement first - make sure the oracle bin directory is pointing to is the correct one. If not - change it and try again.
If this doesn't work - I recommend uninstalling oracle completely and reinstalling. Use the following steps.
Stop any services (start - run - services.msc) below that are running
oracle mts recovery
Distributed Transaction Coordinator
Delete all oracle directories from the file system (C:\app, C:\Program Files | C:\Program Files (x86(
Remove Oracle entries from the system path
Remove any Oracle entries from the environment variables (if they exist) such as ORACLE_HOME
Open the registry editor (start -- run -- regedit) and remove any oracle entries from the following key
HKLM\Software\
HKLM\Software\Wow6432Node (64 bit machines only)
Empty Recycle bin (makes me feel better) :)
Reboot the machine
Download one of the two items
Oracle Client Installation (full)
ODAC (Oracle Data Providers)
Install them (make sure if you choose the client version - you use a minimum of the runtime install) - do NOT use the instant client - it never seems to work properly.
Copy the TNSNames.ora file over
Test with the utility again. It should be successful.
Step 3 -
If the utility above worked - then you need to make sure the bit level of your application matches the bit level of the Oracle client installation. For the app - this will be the bit level of the application pool.
Notes - the oracle.dataaccess.dll file in the bin folder is used to help create the images (ngen, aspnet compilation). Once you attempt to call the oracle data provider for .net - it is routed to your client installation to perform the actually data access.

How to tell System.Data.OracleClient to use the 64 bit Oracle Driver

I am trying to run a .NET application which uses System.Data.OracleClient on a Win7 x64 workstation. The workstation has a 32bit Oracle client installed, which leads to the following error message:
Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.
So this is my long journey of tries and failures:
I tried to install the Oracle client win64_11gR2_client. But during the setup process it crashes without any comment.
I followed an answer from a different SO thread, tried and extracted the instantclient-basic-windows.x64-11.2.0.2.0, and put the folder containing the binaries in the windows PATH variable. I still get the same error message though (even after rebooting).
I followed the "alternative way" from this answer and copied the files oci.dll, orannzsbb11.dll, and oraociei11.dll into the bin/ folder of my web site project. Still the same error message.
I tried and copied all files from the instant client into that directory and tried again, without success.
I installed ODAC112021Xcopy_x64.zip and put the installation folder and the bin folder in the windows PATH variable. No success.
I put my hope on this answer and reviewed the DllPath in the registry (which is actually supposed to relate to ODP.NET as opposed to System.Data.OracleClient) and saw that DllPath points to the correct x64 installation of ODAC, so, if my application wasn't using System.Data.OracleClient, it should work,b but since it does use that, it still failed.
I googled and stackoverflew but didn't find anything else that the posts I already referred to.
I carefully crafted this SO question in the hope of getting any insightful advice from an enlightened SO user.
After getting the first answer from b_levitt, I tried and added the following lines to the Global.asax at Application_Start:
Environment.SetEnvironmentVariable("ORACLE_HOME", #"C:\OracleProducts\Odac-11.2.0.2.1-x64");
Environment.SetEnvironmentVariable("PATH", #"C:\OracleProducts\Odac-11.2.0.2.1-x64;C:\OracleProducts\Odac-11.2.0.2.1-x64\bin");
C:\OracleProducts\Odac-11.2.0.2.1-x64 is where I installed the ODAC 64 bit xcopy version. No success either.
On a related note, I even tried to force my .NET app into 32bit mode without success, but that's a different thing. I need a forward-looking solution, which means 64bit.
Your #5 should have worked but you also need to set the ORACLE_HOME environment variable. I've done this many times including recently with the very xcopy install that you are using. Please check out my experience with the xcopy install and let me know what kind of additional errors that you get.
In my case I was setting it up for asp.net, but winforms is even easier. You can open a cmd window, use the "set" command to set both the PATH and the ORACLE_HOME environment variables and then run your app from that same cmd window. Once you get the bugs worked out, you can use the Environment.SetEnvironmentVariable to set these within your code.
For the record, I do avoid installing the oracle client on client machines by handling all of the business logic via web services. That way I only need the oracle components on the web server.
I had the same problem you have. I found most of my answers through Oracle forums and here at stackoverflow. I can't post links for reference but I can give you some things to try out.
Also include OraOps11w.dll in your bin directory along with the other Oracle dll files.
Go to the project properties|Reference Paths, add C:\Windows\Microsoft.NET\Framework64\v2.0.50727 or C:\Windows\Microsoft.NET\Framework64\v4.0.30319 to the Reference paths depending on which framework version the project is using.
**Fuzzy part that I don't remember well: Remove the System.Data.OracleClient current reference and add the new reference from C:\Windows\Microsoft.NET\Framework64\v2.0.50727 or C:\Windows\Microsoft.NET\Framework64\v4.0.30319 to the Reference paths depending on which framework version the project is using.
See if the exception goes away.
FYI, Microsoft is dropping Oracle data provider (in ADO.NET) support in the near future. It currently works through .NET 4, but it is a good idea to start testing the native Oracle drivers.

Resources