Anmelden

View Full Version : MS SQL <-> IBM DB for i



fmu
01-10-13, 09:33
Hallo zusammen,

bei uns gibt es Überlegungen, eine neue Software einzuführen, deren Daten auf MS-SQL-Servern liegen würden.
Da unsere IBM i aber für andere Belange natürlich weiter laufen soll/muß, würden wir ungern 2 verschiedene Datenbanken betreuen.
Daher die Frage:
Gibt es eine Möglichkeit/Schnittstelle, die Daten auf der IBM i zu halten und quasi in Echtzeit dem MS-SQL bzw. der neuen Anwendung zur Verfügung zu stellen?

Danke für alle Tips!

Fuerchau
01-10-13, 09:44
Dies heißt beim SQL-Server "Verbindungs-Server".
Hier kann eine ODBC/OLEDB-Verbindung zur AS/400 eingerichtet werden.
Zu beachten ist allerdings, dass alle Dateien auf der AS/400 journalisiert werden müssen, da der SQL-Server sonst keine Daten verändern kann.
Wenn nur gelesen werden soll, kann die Journalisierung entfallen.

Für die einzelnen AS/400-Tabellen können dann Views im SQL-Server angelegt werden.

Zu beachten ist, dass Joins mit lokalen und remote Tabellen teilweise nicht funktionieren bzw. extrem unperformant sind.
Bei MS-Access ist das z.B. über verknüpfte Tabellen ja möglich. In der Folge wird jede Tabelle komplett in den Hauptspeicher geladen, der Join berechnet und der rest wieder verworfen.
Wer also Zeit und Platz hat kann das ja machen:).

holgerscherer
08-10-13, 21:36
Hallo zusammen,

bei uns gibt es Überlegungen, eine neue Software einzuführen, deren Daten auf MS-SQL-Servern liegen würden.

Hier stellt sich mal wieder die Frage nach dem Warum. Wenn man hier ansetzt, könnte man die nachfolgende Problemstellung einfacher umgehen ;-)

-h

AS400.lehrling
09-10-13, 11:55
Hallo zusammen,

bei uns gibt es Überlegungen, eine neue Software einzuführen, deren Daten auf MS-SQL-Servern liegen würden.
Da unsere IBM i aber für andere Belange natürlich weiter laufen soll/muß, würden wir ungern 2 verschiedene Datenbanken betreuen.
Daher die Frage:
Gibt es eine Möglichkeit/Schnittstelle, die Daten auf der IBM i zu halten und quasi in Echtzeit dem MS-SQL bzw. der neuen Anwendung zur Verfügung zu stellen?

Danke für alle Tips!

Würde eher den Hersteller der neuen SW fragen weshalb sein Produkt nicht mit der Standard DB arbeiten kann ?

Ist doch wohl ein Witz - ich bin mir Sicher das jede Gute SW mit der DB(2)/400 zusammen Arbeiten kann.

So Sonderwege ala Win7 & halbherzige DB würde ich lassen macht nur Ärger & mehr Kosten.

Gruß AS400.lehrling

Fuerchau
09-10-13, 17:05
Leider sind die SQL-Dialekte zwischen den DB's nicht so "kompatibel" wiie man sie gerne hätte um DB-Neutral entwickeln zu können.
Außerdem sind gerade die Optimierungsmöglichkeiten der DB's sehr unterschiedlich.
Ich kann die Entwickler schon verstehen, wenn sie sich auf eine DB fixieren.
Zumal inzwischen der SQL-Server auch eine gute Integration zu .NET-Entwicklungen (Trigger, Functions, usw.) bietet.
Gerade letztere sind leider sehr DB-spezifisch. Ich kann eine SQL-Funktion oder Prozedur des SQL-Servers in .NET nicht mal so eben auf eine AS/400 portieren.
Von anderen DB's ganz zu schweigen.