Rash thoughts about .NET, C#, F# and Dynamics NAV.


"Every solution will only lead to new problems."

Category Oracle

Monday, 14. August 2006


Oracle Integration into Dynamics Nav

Filed under: English posts,Navision,Oracle — Steffen Forkmann at 12:29 Uhr

Today I want to describe a way to integrate Oracle into Navision. We use this way to migrate selected Tables and Views (rawdata) completely automatic into Dynamics Nav. This means we generate the Table-Structure (as a copy of the Oracle data dictionary) and import the data on the fly.

Oracle Data Provider

First of all one have to install the ODP.NET (Oracle Data Provider for .NET).

Then create a new C# ClassLibrary-Project and add a reference to the installed OracleDataAccess-Assembly. (see Sample-Project as Reference)

Install your COM-Object. (You can let Visual Studio do this for you)

Then create a Navision-Object which connects to the ClassLibrary and interact with Oracle.

IF g_MigrationHelper.OracleConnect( 
  g_ORAUserName,g_ORAPassword,g_ORADataSource) 
THEN BEGIN 
  IF p_Test THEN BEGIN 
    MESSAGE('Connection open'); 
    g_MigrationHelper.CloseOracleConnection; 
  END 
END ELSE 
  ERROR('Connection failed');
Tags: ,

Saturday, 29. April 2006


Navision: Datenübernahme aus Oracle

Filed under: Navision,Oracle — Steffen Forkmann at 18:04 Uhr

Basierend auf der Idee eines universellen Dataports habe ich nun auch mal die andere Seite genauer betrachtet. Um also den erstellten automatischen Dataport benutzen zu können, benötige ich eine Schema.ini und für jede Tabelle ein CSV-File.

Für dBase-Files und Excel-Tabellen kann man den DBF-View-Lister vom Total Commander benutzen. Dieser erzeugt alles was man braucht.

Bei Oracle gestaltet sich das ein klein wenig schwieriger. Man kann zwar mit vielen Tools ganze Tabellen in CSV exportieren jedoch ist das oftmals zu unflexibel. Des weiteren wird auch keine Schema.ini erzeugt, so dass die Spaltentypen im Navision nicht automatisch angelegt werden würden. Aber man kann sich im Oracle ja auch relativ einfach ein Package schreiben, dass genau das tut.

Also ich übergebe nun meinen Package nur noch die zu exportierenden Tabellen und Oracle legt für mich alle CSV’s und die Schema.ini an.