Front-End für MS Access migration?
Hintergrund
Ich arbeite für eine große Organisation, die Tausende von MS Access-Anwendungen im Umlauf. Habe ich nicht Schreibe diesen - in der Tat, die meisten der ursprünglichen Autoren haben längst das Unternehmen verlassen - aber von Zeit zu Zeit eine andere Access-app landet auf meinem Schreibtisch für die Unterstützung. Ich würde soooo Liebe zu ersetzen, die den Zugang mit einer anderen Lösung.
Anforderung
Ich weiß, dass es mehrere gute alternativen für den Datenbank-Teil des MS Access (Jet-Datenbank), wie SQLite, MySQL, VistaDB, etc.
Was ich gerne wissen würde ist: gibt es etwas, das ersetzt den front-end-Teil von MS Access?
I. e. Etwas, das verwendet werden kann zum erstellen von Formularen, schreiben von einfachen Skripten und Abfragen, etc?
Warum?
@BracC fragte: "warum ersetzen Sie zugreifen?" - Eine berechtigte Frage, in der Tat.
Ich möchte, um loszuwerden, Zugriff, weil:
- es verbirgt sich die Logik, was zu schwer-zu-Anwendungen unterstützen. Logik kann man in vielen verschiedenen Orten, von denen keines geben oder zu ermutigen jede Struktur:
- Makros
- Module
- Abfragen
- Formen
- seine Natur fordert die Benutzer zum erstellen von "kleinen" Anwendungen, die sich "nicht so wenig Anwendungen". Dann verlässt der Benutzer, und ich habe zur Unterstützung einen Haufen spaghetti. Ich weiß, dass der Zugang ist nicht der einzige Schuldige, aber es ist der Anführer in meiner organisation, und ich würde lieben, um loszuwerden, es vollständig.
Für extra credit
was würde ich wirklich Liebe zu finden, ist etwas, das Lesen in einer MDB-Datei und Ausgabe so etwas wie C#, die repliziert die Funktionalität. (Oder jede andere Sprache - nicht pingelig).
Ich hoffe das ist allen klar. Wenn nicht, bitte einen Kommentar und ich werde wieder schreiben/detail hinzufügen.
Update
@GuinnessFan macht einige Punkte, die ich interessant finde. Ich habe meine Kommentare zur Diskussion dieser Punkte.
Was wir getan haben, seit ich die Frage gestellt habe:
- Bekam Benutzer, um uns eine endgültige Liste von access-Anwendungen, die Sie verwenden und benötigen. (Das Verständnis ist, dass jeder MDB-Dateien, die nicht auf der Liste kann gelöscht werden - Hurra!).
- Analysiert die multilateralen Entwicklungsbanken auf der Liste, kommt man zu folgenden Schlussfolgerungen:
- Die meisten "Anwendungen" bestehen aus einer einzigen hard-codiert Abfrage oder eine einzelne verknüpfte Tabelle.
- Viele eine kleine Anzahl von Abfragen, vielleicht ein date-parameter oder ähnliches.
- sehr wenige (wenn überhaupt) haben wirklich komplexe Logik.
- Nun arbeiten wir die Liste durch, konvertieren die meisten der apps mit SSRS (SQL Server Reporting Services) Pakete.
- Nichts, die können nicht repliziert werden, mithilfe von SSRS hand gestaltete web-Anwendung. Allerdings gibt es nicht viele von diesen.
Kann ich sagen, vielen Dank, jeder wer hat mir hilfreiche Antworten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Man könnte prüfen,Oracle Application Express. Es ist kostenlos und es ist speziell für Access-Entwickler.
Es hat einen Migrationsassistenten als auch, dass Sie Ihre Access-Datenbank durch, es proccesses die Daten und die Formulare, wandert das alles zu einer Oracle-Datenbank (dies funktioniert mit der kostenlosen Datenbank, Oracle XE und kommt installieren standardmäßig) und erstellt web-Formulare für Ihre Access-Datenbank.
Also am Ende haben Sie Ihre Access-Datenbanken auf dem web, Ihre Daten in Oracle und etwas nettes web-front-end für Sie zu erweitern.
So weit wie Oracle geht, das tool ist nicht halb so schlimm. Sie können sich für eine Kostenlose Instanz zu spielen, um mit hier.
Hier ist das Dokument, dass erläutert, wie Sie eine Migration von Access-Datenbanken.
Wechselte ich die back-end auf einer Anwendung von MSacces MSSQL ein paar Jahren. Gehalten wird das front-end, weil es gut gearbeitet, und ich habe nichts gefunden, wie einfach zu verwenden/ändern.
Ich habe noch nie eine MSAccess -> C# - übersetzer. Allerdings könnten Sie in der Lage zu finden, eine MSAccess zu VB6 übersetzer (Ihre Syntax sind in etwa vergleichbar), und von dort aus gibt es VB6->VB.Net die übersetzer (und auch VB.Net ->C# - übersetzer)
So, andere als persönliche Abneigung, warum ersetzen Sie die Access-front-end? Kann leicht sein, für einige (einfache) Datenbanken, aber die meisten apps Zugreifen, die in der realen Welt haben eine Menge von Komplexität.
Viele Gründe, die für die Aktualisierung der back-end, natürlich (Skalierbarkeit, performance, db-Korruption, Benutzer-sperren). Access hat sogar eine eingebaute "upgrade wizard" - tool, das Ihnen erlaubt, die Aufteilung der Formen und Logik aus den Daten, und aktualisieren Sie die Daten in MS SQL server. Wenn Sie möchten, verwenden Sie diesen Assistenten, um das upgrade der back-end-SQL Express, dann manuell die Migration auf ein anderes db-Plattform.
Hoffe das ist nicht zu weit off-topic, aber manchmal alles, was Sie tun müssen, Zugriff:
Aktualisierung der back-end (wie wir bereits diskutiert)
Immer stellen Sie sicher, dass die front-ends sind gesperrt (read-only)
Falls erforderlich, erstellen Sie unterschiedliche front-ends für verschiedene Benutzer-Rollen (als eine form der Sicherheit).
Wenn möglich, haben die frontends lokal auf jeder Arbeitsstation aus performance-Gründen. Möglicherweise müssen Sie ein Netzwerk-Skript zu prüfen, ob neue Versionen des front-end.
Habe ich keine direkte Erfahrung mit Ihr, aber ich fand einen Zugang zu ASP.Net Konverter-tool namens "Access-Whiz" im http://www.microtools.us/
Verwendeten wir eine interne app auf Basis von MS Access als frontend für eine MySQL-Datenbank. Wir liefen in viele Probleme, und schließlich schrieb die ganze app in CodeGear Delphi 2007 für Win32. Dies wurde ein großer Erfolg, obwohl die migration kostete ziemlich viel Mühe (training/Einstellung von ein paar Delphi-Programmierer, kaufen einige third-party-tools). Ich kann von ganzem Herzen empfehlen, Delphi, obwohl. Und AFAIK, integration mit MS Access-back-end ist sicherlich möglich --- ich schrieb einmal einer Delphi-app, die genau das tut, und es kostet mich nur ein paar Tage, um eine feature-complete version!
Ich weiß, dies ist eine vollständige Programmier-Lösung, so würden Sie definitiv lose, einige der Leichtigkeit-der-Nutzung von MS Access für die Gebäude-front-ends. Dann wieder, können Sie gemeinsam eine Datenbank-Anwendung in Delphi in 10 Minuten, ohne das schreiben zu viel code --- das ist kein Scherz! Und seit der 2009er Version, die Sprache ist langsam immer mehr mainstream wieder...
@BradC
Ich nicht empfehlen MicroTools. Ich arbeitete für eine Firma, eine Weile zurück, wo wir hatten das gleiche problem. Es sei denn, MicroTools hat bedeutende Verbesserungen an Ihrem Produkt, es spuckt Müll-zuletzt habe ich geprüft.
Was wir fanden, war, dass so ziemlich jede upgrade-Pfad erfordern erhebliche Mengen der Codierung ändert. Alle diese tools sind gut für die aufrecht zu erhalten, eine ähnliche GUI von der ursprünglichen Anwendung. Ihren code hatte keine Objekt-Struktur, nur eine Reihe von utility-Funktionen, die weggeworfen wurden, auf jeder Seite, um zu simulieren, wie Access bietet Datensatz navigation. Wenn Sie eine große Anzahl von Formen, ziehen Sie Ihre Lösung und Umsetzung Ihrer eigenen dauert einige Arbeit und eine Tonne von suchen-und-ersetzen-Operationen.
Waren wir so enttäuscht mit MicroTools Leistung, die wir angefangen unsere eigenen Konverter. Wir waren Abpumpen besser ASP.NET Formen, als Sie waren, nach einer Woche der Codierung.
Werden Sie nicht finden, eine server-Klasse Motor, das hat auch die desktop-interface-design-tools beigefügt. Die großen server-Module erwarten, dass Sie zu so etwas wie C++, C#, Java oder PHP zu erstellen Sie Ihre Schnittstelle.
Möchte ich auch gerne sehen, ein upgrade-tool für den Zugriff, das würde ausspucken einige grundlegende C# - Formulare und Gespräche zu einem gleichwertigen SQL-Server-Datenbank. Es scheint, dass wäre eine große Geld-maker für Microsoft, weil Sie könnte verwenden Sie es als einen Weg, um up-Selling-Kunden, um eine vollständige SQL-Server.
IIRC, es könnte ein Weg sein, zu sagen, dass ein Access-front-end zu sprechen, um einen SQL Server zu ändern, oder die Tabellen verwendet, die von einem Access-front-end, um wirklich zu werden, verknüpfte Tabellen in einer SQL-Server, oder sowas, aber ich hatte noch nie die Funktion für mich.
Habe ich eine andere Perspektive für Sie zu prüfen. Ihr Hauptproblem ist, dass es blendet Logik und Daten und Anwendungen verstreut durch die Organisation.
Leider weiß ich nicht mehr von einem RAD (rapid application development) tool, das so einfach wie der Zugriff zum erstellen von funktionalen Formen.
Allerdings würde ich empfehlen, dass Sie den Fokus noch mehr auf die Möglichkeit der centeralizing Ihre Daten und Logik, und immer noch erlauben, die Access als front-end. Ich unterstütze eine Datenbank Produkt namens Advantage Database Server unterstützt RI (refferential Integrität) Regeln, gespeicherte Prozeduren, Trigger, etc. das kann alles verwaltet werden auf einem zentralen server, so dass alle, die von der Logik zu Ihnen. Diese Access-front-ends könnten dann die Verknüpfung zu den Daten-backend über ODBC oder OLE DB. Wenn Sie eingeschaltet, um eine Lösung wie diese dann später auf der Straße würden Sie haben die Flexibilität, schreiben andere Anwendungen wie .NET, PHP, JDBC, etc. die Krawatte in der gleichen Daten, die während der phasing-Access-front-ends aus.
Einem guten start wäre um zu verhindern das neue Access-Entwicklung, es sei denn, Sie sind mit dieser Art von Daten-backend.
Aus der 1000 von Access-Dateien wie viele haben Sie um Unterstützung gebeten? Ich vermute, weniger als 100. Warum neu erstellen eine Anwendung, die A) niemand verwendet B) funktioniert nur so wie es ist?
Müssen Sie beginnen, eine Politik, ist es eine akzeptable Praxis für eine große Organisation zu entwickeln benutzerdefinierte Anwendungen in einer robusten, skalierbaren, zuverlässigen, yadda yadda yadda Umgebung. Identifizieren Sie die Access-Anwendungen, die Sie fühlen, die kritisch sind oder werden gerade entwachsen ist, und nur diese.
Bereit sein zu handhaben, die Erwartung, sich schnell und schmutzig kleine Anwendungen, die auf eine schnelle Trendwende. Sie haben, um zu zeigen Sie die Vorteile Ihres neuen apps.
Ich denke, Sie müssen nur ein Bewohner Experte und unterrichten Sie diese Benutzer, wie Sie zu verbessern, Ihre Anwendung oder Ihre Eingabe von Anfang an zu beginnen Recht. Die Anforderungen, um zu konvertieren alle diese Dateien sonst überwältigend.
Microtools bietet Zugang Whiz, eine Reihe von Access-Konvertierungs-tools. Es besteht der Zugriff auf ASP .NET (VB/C#) - Wandler, der Zugriff auf VB6-Konverter, der Zugang zu WinForms (VB .NET/C#) - Wandler und den Zugriff auf Crystal Reports-Konverter. Weitere Informationen und trial-demos finden Sie bei http://www.microtools.us.
Können Sie auch einen Blick auf Firebird
Hier ist der Weg zu migrieren (Sie müssen Delphi)
Finde ich auch, dass diese MDB2FDB
Vielleicht Kexi?