Oracle 11g Client connecting to both 10g and 11g databases

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 (11.2.0.3.0) 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

C:\Windows\Microsoft.NET\assembly\GAC_32\Policy.4.112.Oracle.DataAccess\v4.0_4.112.3.0__89b483f429c47342

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:

<configuration>
...
  <runtime><assemblyBindingxmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentityname="Oracle.DataAccess"publicKeyToken="89B483F429C47342"/><publisherPolicyapply="no"/></dependentAssembly></assemblyBinding></runtime></configuration>
via:http://stackoverflow.com/questions/9364570/oracle-11g-client-connecting-to-both-10g-and-11g-databases

Watch 3D to 2D video in VLC

  1. Start VLC (you don’t have to play a video at this time)
  2. Go to “Tools” -> “Preferences” (CTRL+P on Windows)
  3. On the lower left corner choose “Show settings” -> “All”
  4. On the left part of the settings window, scroll down and select “Video”
  5. On the right part of the settings window, scroll down to “Source aspect ratio”
  6. Type in the aspect ratio with the width doubled – for example 32:9 for a 16:9 video, or 8:3 for a 4:3 video…
  7. Click “Save” and exit VLC —Keep in mind that the changed aspect ratio will be saved for all your videos – remove it after watching 3D or your normal videos might seem to be a bit stretched —
  8. Start VLC and play your 3D video, pause somewhere at the start
  9. If you don’t already know, check your video resolution under “Tools” -> “Media Information” (CTRL+I on Windows) -> “Codec”
  10. Go to “Tools” -> “Effects and Filters” (CTRL+E on Windows)
  11. Go to “Video Effects” -> “Crop”
  12. On “Right” type in the half of your horizontal pixels for example: 1920×1080 —> 1920/2 = 960 px or: 1280×720 —> 1280/2 = 640 px
  13. Click on “Close”, hit “Play” and enjoy your movie in 2D ;D

If the video feeds are one on top of the other the same applies except double the height (16:9 > 16:18) and crop the bottom by 1080/2 > 540px or 360px.

via: http://forum.videolan.org/viewtopic.php?f=2&t=104074

Batch – Rename files in MS Dos

RenameFiles.cmd
::input    “C# dan – 3 – test.txt”
::output    “C# – 3 – test.txt”
@echo off
setlocal EnableDelayedExpansion
for %%a in (*.txt) do (
set name=%%~Na
::from left to right
set newName=!name:~0,3!!name:~7!
::from right to left
set newName=!name:~0,3!!name:~-5!
ren "%%a" "!newName!%%~Xa"
echo "%%a" will renam to "!newName!%%~Xa" >> log.txt
)
pause 10

photographic-poetic-musical horizon