What is git?
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and eff2014-09-28_17-26-33iciency.



Basic Commands

  • Clone a branch locally
    • $ git clone -l -s -n . ../copy
    • $ cd ../copy
    • $ git show-branch
  • Checkout a brach
    1. git checkout “brachNew”
  • Pull a branch
    1. git pull “brachNew”
  • Switch to different branch
    • git checkout -b “MyOtherBranch”
  • Commit within current branch
    • git commit -a -m ‘I just fix the header’
  • Merge branch/hotfix
    • git checkout master
    • git merge hotfix
  • Merge origin/master
    • git status
    • git merge origin/master
    • git push
  • Delete a branch
    • git branch -d “hotfix”
  • Add all new files
    • git add -A
  • Clone repo locally
    • git clone – -bare /path/to/repo
    • git status
    • git merge origin/master
  • Hard reset
    • git fetch /*to bring the updates to your local reference of the remote branch (usually origin/master)*/
    • git reset –hard origin/masterĀ /*passing this reference */
    • git pull
  • Backup repo
    • git clone – – no-hardlinks

more info: http://git-scm.com/




Instant Client allows you to run your applications without installing the standard Oracle client or having an ORACLE_HOME. OCI, OCCI, Pro*C, ODBC, and JDBC applications work without modification, while using significantly less disk space than before. Even SQL*Plus can be used with Instant Client. No recompile, no hassle.

ISVs and Partners benefit greatly from packaging Instant Client along with their applications, saving customers the extra step of installing and configuring an Oracle client. Free. The same fully-featured, high-performance applications that Oracle ISVs and partners have always delivered will continue to work, untouched.

Customers can try new packaged applications and Oracle client features quickly without worrying about other installations. Larger enterprises can automate setup and configuration of Instant Client by using installation scripts accessing a central IT repository. Finally, everyone can benefit from the smaller footprint.

Especially for production use. Especially for free. Download here

Finally, we can use oracle managed driver for independently developing application

app.config sample

< ?xml version="1.0" encoding="utf-8"?>
<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess"></section>
<oracle .manageddataaccess.client>
<version number="*">
<setting name="TNS_ADMIN" value="C:\Oracle\product\11.2.0\client_1\network\admin"></setting>


via: http://www.oracle.com/technetwork/database/windows/downloads/odpmbetainstall-1696475.html#Configuration



7 down vote accepted

There is commonly no problem to connect to an older Oracle database with a newer client driver, e.g. to connect to a 10g or 11g database with a 12g Client. The rest of the answer belongs to technical problems which can occur in your .Net program in the case that an Oracle Client is (maybe) already installed on the computer executing your program.

Update 2014:

In the meanwhile Oracle has released a managed .Net driver for the Oracle database. So instead of installing a local Oracle Client or delivering an Instant Client along with your app, the preferred way should be to deliver just the managed driver without any dependencies to local configurations. Then you have no trouble with installed clients, the GAC, the Oracle database version and so on. You can download the managed driver from the Oracle website.

Previous answer, still needed if you can’t use the managed driver:

The problems begin if you don’t know if there is an Oracle client installed on your client workstations. If you are talking about GAC I assume, you don’t know if an Oracle Client is installed and if so, which version it is.

If you don’t want to rely on an installed Oracle Client, you can deliver an Oracle Instant Client with your .Net application. For example you can download ODAC 11.2 Release 4 ( with Oracle Developer Tools for Visual Studio, which gives you an Oracle Client installation for your developer workstation (with Visual Studio support for DataSet development and EntityFramework) as well as all files needed for an instant client.

For an instant client you need the following files (search them in the subfolders of your ODAC installation):

  • oci.dll
  • ociw32.dll
  • Oracle.DataAccess.dll
  • orannzsbb11.dll
  • oraociicus11.dll (if you are using english language, else the corresponding .dll)
  • OraOpd11w.dll
  • tnsnames.ora (if you need it)

In addition the following .dll files are needed from your Windows directory:

  • mfc71.dll
  • msvcr71.dll

Just copy all that files in the working directory of your application (where the .exe file is).

Now how belongs that to the GAC?

If an Oracle Client is installed on the client machine there is also an Oracle.DataAccess.dll in the GAC. Also it is possible, that a policy was installed which states something like: Independant of the Oracle.DataAccess.dll your program is referencing, the Oracle.DataAccess.dll version from your GAC shall always be used. If you install the ODAC I linked above, you find that file under


The result is that your .Net application always throws an exception if you are trying to load the Oracle.DataAccess.dll (with an error message like “The provider is not compatible…”), if the client machine has another version of Oracle Client 11 installed than the one you are referencing in your application.

To solve that, you can configure your app.conf so that the publisher policy will be ignored and always your version is loaded: