oracle 11g thin jdbc driver compatible with oracle 10g database? - database

Currently I'm using the ojdbc14.jar Oracle 10g thin driver to access an Oracle 10g database.
I would like to upgrade the driver to the thin ojdbc6.jar Oracle 11g driver ahead of the actual upgrade of the DB server occurs.
Using an 11g driver against the 10g DB seems fine in testing so far, but I'm wondering if anyone can confirm this OK. I looked through the Oracle docs and Readme files but didn't see anything.
This question is similar to this one, but that wasn't for Java and didn't seem to have a definitive answer.

Yes, the upwards and downwards compatibility is usually pretty good. I've successfully used such configuration several times in the past.
Having said that I remember one occasion, where we had a problem with calling a stored procedure that returned an open cursor to the Java application. Going back to an older version of the OJDBC driver solved it. At the time, it was a Oracle 9i database.
So with some testing, you can become confident it works.

Related

Trying to connect to an Oracle server v9.2.0.8 with the pycharm database tool

I'm trying to use the PyCharm database tool to look at a couple of Oracle databases. The first database is an Oracle 11 database and connects with no problems. The second database, however, is an Oracle 9i database and is giving me issues. When i try to connect to it I get an error message that says
Unsupported combination of server/driver versions: found Oracle server version 9.2.0.8 with JDBC driver version 12.1.0.2 that is not compatible. Oracle server version 9.x must be connected by JDBC driver versions 9.x to 11.x..
I've tried finding where pycharm keeps the JDBC drivers but have had no luck. If someone could point me in the right direction I would be very grateful. I would also appreciate it if someone could point me towards where I can download drivers that will work with the Oracle 9i and 11(g i think?) databases.
I'm on windows 10 64 bit and using PyCharm 2016.2.3.
I have been using Oracle Server 9i- 9.2.0.4.
To query on this server I am using Jet Brains DataGrip.
It showed me the same error and then I changed driver jar of ojdbc6-x.x.x with
ojdbc14-9.2.0.1.jar and then It started working fine on DataGrip.
Hope this will be helpful.
Download ojdbc14-9.2.01 and configure it on your local Database management tool.
http://www.java2s.com/Code/Jar/o/Downloadojdbc149201jar.htm

what is oracle universal installer in oracle database products

I am new to oracle database products. I am planning to install oracle 11g express edition in my PC,it looks like a standard installer.But in many of the oracle database installation tutorial mentions oracle universal installer.oracle universal installer provides more open options,but those options and features not available in downloaded oracle 11g express edition.
difference between two https://docs.oracle.com/cd/E17781_01/install.112/e18803/toc.htm#XEINW151 and http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r1/prod/install/dbinst/windbinst2.htm
so anyone explain me exactly what is oracle universal installer??Thx in advance.
As the name suggests oracle universal installer is a utility which can be used to install or uninstall multiple oracle products.
The utility can also check pre-requisites before installing a new software.
Only thing you need to do is to provide path to products.xml file inside oraparam.ini file. This can be location for the file on your physical machine or remote location may be hosted on oracle site.
The products.xml file actually have the information about the product being installed for example it is Oracle Client or DB.
For more information please check this link
FYI, this question would have been better asked on the DBA site since it has nothing to do with programming.
XE is a minimal installation for test/dev work so I guess they decided not to clutter it up with OUI, which I have never liked anyway. OUI is simply Oracle's Java-based installer that installs and keeps track of the majority of Oracle software you have installed on your system. There's nothing special about it, and you have no need to worry about missing out on something. If you were installing the standard database, it would try to start the network config tool that creates the TNSNames.ora file, for example. It's been a while since I used XE but I think it's install just creates a generic one for connecting to the XE instance.

Connect to remote Oracle Database

I needed to make an application connect with a oracle database located in the same network (ping the host works fine), but not in the same machine (i.e. an remote server). I developed then a software using Qt and I was able to connect it successfully with that database from my machine, but I'm not being able to do it from the machine my software is supposed to be located during its functioning. I've tried to understand what is so special about my machine that on it my software is able to connect with the Oracle database while it's not able to do the same in the right machine, and it seems that the only different thing is that I've installed the Oracle database here, while I'm not allowed to do the same there.
The error returned by Qt is that I'm simply unable to logon, while the QOCIDriver returns that it wasn't possible to create the environment. Interestingly enough, the same problem was occurring with me on my machine during the time I didn't have the Oracle database installed and neither the Oracle Client something. And this Oracle Client something is already installed in the official machine with no positive results.
So I'ld like to know exactly what I need to do to make my software works. Install the database after all in the official machine? Not viable. Install the Oracle Client? I've already done it. Add the ORACLE_HOME registry/environment variable? Did both. ^^ Copied the dbhome_1/BIN folder with lots of dlls and .exe to the official machine? Did it already, and that only made it began to crash while trying to connect to the database. And now I'm out of solutions...
I'm glad for any help!
Momergil
After some days of trying, finally I was able to solve my problem.
Essentially I had to copy the Oracle database installer to the official computer and active the Oracle Universal Installer choosing the option "Install only the database softwares", i.e., not the database itself. After that, it run fine.

Advantage of Oracle Client and Server being separated

When writing an application that'll work with MS SQL database all we do is just we specify the connection parameters (either hard coded or dynamically). And when we install that application on a machine, we don't care if that machine has the proper tool to make the connection to the MS SQL Server database available.
However, in Oracle things are different. We have to make sure that all the machines that we want to install the app has Oracle Client set up. It will not work otherwise. Now my first question is what advantage does this provide? And the second one is if there's some way to achieve the similar in SQL Server?
Realistically, if Oracle owned Windows, the Oracle client would be installed with Windows and the SQL Server client would be a separate install. It's not a matter of advantages and disadvantages, it's a matter of who owns the stack and can bundle their software with the operating system.
Depending on exactly how you are building your Oracle application, there is a good chance that you can use the Oracle Instant Client or the Oracle thin (type 4) JDBC driver to provide connectivity to the database. Either of these can be installed by your application without requiring a separate Oracle client install.

Connecting to an Oracle database on the command-line without using the Oracle client software?

I have access to an Oracle server that has some databases that I would like to access. However, the machine that I have access from has none of the oracle client software. Is there any alternative to oracle's client software the provides the functionality of something like MySQL's mysql or Postgres' psql? I'd like to be able to poke around a bit in the database before writing software against it.
If you download the free Oracle Instant Client you'd be able to use any JDBC or ODBC Database tool such as DbVisualizer or SquirrelSQL. Those are GUI tools; I've not come across a JDBC command line tool but there may be one out there.
Alternatively, there is an Instant Client version of SQL*Plus which will give you an Oracle sqlplus command line without a full Oracle install.
Oracle's free PL/SQL IDE SQL Developer can use Type 4 JDBC drivers to connect to a number of different types of databases, obviously including Oracle. You can use that without doing any sort of Oracle client install if you so desired.
You could try the Oracle IDE SQL Developer which is a free download. It is written in Java and is available for both windows and linux. It is self contained and doesn't require the Oracle client be installed.
SQLPal (http://www.sqlpal.com/) is a lightweight SqlPlus like application for Windows that does not require the oracle client.

Resources