Connect to Oracle DB from a VB 2008 application without installing Oracle software?

Imports System.Data.OleDb Public Class Log Private mConnectionString As String = "Provider=OraOLEDB.Oracle;Data Source=(DESCRIPTION=(CID=GTU_APP)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx)(PORT=1521)))(CONNECT_DATA=(SID=xxx)(SERVER=DEDICATED)));User Id=xxx;Password=xxx;" Dim ds As New DataSet Dim da As New OleDbDataAdapter Dim dr As DataRow Dim Connection As New OleDbConnection(mConnectionString) Dim Command As OleDbCommand goes on... 

This is code, and it works great on our development machines. We all have Oracle suppliers installed on our machines. Now I tried to use this code in the application on another computer on which Oracle software is not installed, and it does not work.

Now I know that I can install Oracle providers on these other machines, and it will work. The problem is that A) there are many, and B) I will need to go through our IT department, and this will take six months. So my question is: can I connect to this Oracle database from a computer without installed Oracle providers? I thought Microsoft has its own Oracle provider, but it does not appear in System.Data. The .NET version is 3.5 if that helps. Any ideas?

+3
source share
4 answers

I got lucky with Oracle Instant Client and ODP.NET , which is pretty much a direct XCOPY deployment (unless you need ODBC).

IIRC, you need to change the PATH environment variable, but it is relatively painless - especially compared to the hoops that Oracle used to make you jump.

+6
source

The problem is that you started the project without discussing your infrastructure needs with your company's IT / DBA team. This is not a technical problem, but a process problem.

What is said here is a possible solution (although I have not personally used it). http://devart.com/dotconnect/oracle/

+1
source

I'm sure you need to install the Oracle provider for this to work. OleDb can easily connect to SQL Server and Access, etc., but only because these providers are installed on Windows.

I think your only option (besides installing the Oracle provider on each computer) is to create a β€œfront” SQL Server database that includes end-to-end tables for each required Oracle table, and then retrieve your data from SQL Server instead of Oracle.

In fact, another option is for your client applications to get their data from an intermediate web service instead of connecting directly to the database, but this would probably entail a serious rewrite.

0
source

Can I find and include Oracle DLLs in an application instead of installing them?

0
source

All Articles