Hallo,
ich habe meine Datenbank Tabellen in eine SQL Datenbank bei MS Azure migriert. Soweit alles gut, aber mir ist aufgefallen, dass diese Datenbank die Datenfelder für die Dateianlage nicht unterstützt. D.h. in den Tabellen wird der Datentyp "Anlage" nicht mehr unterstützt.
Ich muss die Dateien wohl irgenwie anders zentral abspeichern, an einem Ort, der über das Internet zu erreichen ist, aber so, dass auch nur die Access Anwendung drauf zugreifen kann. Ich habe mir unter Azure auch eine Cloud erstellt, aber damit komme ich im Moment noch gar nicht zurecht.
Hat jemand von Euch einen Tipp wie man von Access aus am besten auf im Internet gespeicherte Dateien zugreifen kann?
Im wesentlichen handelt es sich um Signaturen/Unterschriften von Mitarbeitern sowie PDF Dateien und kleinere Bilder. Ich habe gesehen es gibt die Möglichkeit, Datendienste einzubinden.. ich finde aber so gut wie nix darüber bei Google. Wäre auch der Zugriff via FTP möglich? Wichtig wäre, dass die Daten nicht von außen abrufbar sind. In Access sollte ein Zugriffsschlüssel nicht unbedingt einsehbar sein - er sollte aber dort hinterlegt sein, damit die Datenbank Nutzer die Datenbank nutzen können ohne ständig ein Passwort eingeben zu müssen.
LG
datekk
Zitat von: datekk am Mai 10, 2016, 10:02:30ich habe meine Datenbank Tabellen in eine SQL Datenbank bei MS Azure migriert. Soweit alles gut, aber mir ist aufgefallen, dass diese Datenbank die Datenfelder für die Dateianlage nicht unterstützt. D.h. in den Tabellen wird der Datentyp "Anlage" nicht mehr unterstützt.
Der SQL Server unterstützt den
Anlage/Attachment-Datentyp grundsätzlich nicht. Das hat nichts mit Azure zu tun. Du kannst die Dateien stattdessen in einem v
arbinary(max) speichern.
Wenn du viele und/oder sehr große Dateien hast, wäre der BlobStorage auf Azure evtl. die sinnvollere Alternative (vor allem preislich).
Hallo PhilS,
danke für Deine Antwort. Kannst Du mir sagen, wie ich den BlobStorage von Access aus ansprechen kann? Also so, dass ich z.B. eine Datei dort ablege, den Pfad zur Datei in einem Tabellenfeld spreichern kann und die Datei mittels dieses Pfades z.B. als Hintergrundgrafik für einen Bericht nutzen kann?
Was ist varbinary(max) und wie nutzt man das in Access?
Habe schon erfolge mit FTP. Das lässt sich wie ein normaler Pfad ansprechen.
Zitat von: datekk am Mai 10, 2016, 20:37:53Kannst Du mir sagen, wie ich den BlobStorage von Access aus ansprechen kann? Also so, dass ich z.B. eine Datei dort ablege, den Pfad zur Datei in einem Tabellenfeld spreichern kann und die Datei mittels dieses Pfades z.B. als Hintergrundgrafik für einen Bericht nutzen kann?
Mangels eigener Erfahrung nicht genau.
Du kannst die Dateien im BlobStorage mit einer REST-API ansprechen. Das würde dann etwas auf das gleiche wie ein Dateipfad hinauslaufen. Allerdings weiß ich nicht, wie dort die Benutzerauthentifizierung umgesetzt wird.
Es gib auch eine
Azure Storage Client Library for .NET, ich weiß aber nicht ob diese über COM-Interop auch aus Access verwendbar ist.
Der Artikel Get started with Azure Blob storage using .NET (https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/) ist ein guter Einstiegspunkt in das Thema.
Grundsätzlich solltest du bedenken, dass du die Dateien aus dem BlobStorage über das Internet herunterlädst. Dateien, die sich üblicherweise nicht ändern, wie z.B. Hintergrundgrafiken würden ich daher eher lokal speichern, um die Latenz zu vermeiden.
ZitatWas ist varbinary(max) und wie nutzt man das in Access?
Varbinary ist ein SQL-Server-Datentyp für Binärdateien. Diesen würde man üblicherweise verwenden, um Dateien in einer SQL-Server-DB zu speichern. Analog zu dem OleObject-Datentyp in Access. Der Attachment-Datentyp ist ja nur ein Konstrukt, um diesen Datentyp herum, das die Handhabung durch den Benutzer vereinfacht.
Ok, ich bin kein Stück weiter - aber nicht wirklich voran gekommen. Folgende konkrete Fragen habe ich:
1. Wie kann ich ein in einer OLE definierten Tabellenspalte abgelegtes Bild (.jpg oder .gif !) in einem Formular oder Bericht einem Bild-Steuerelement zuweisen und anzeigen?
2. Wie kann ich einer OLE Spalte eine Datei zuweisen über ein Formular und über VBA?
3. Wie kann ich ein in einer OLE Spalte hinterlegtes Bild (.jpg !) als Hintergrund für ein Bericht nehmen (me.picture)?
4. Welche Möglichkeiten einer EINFACHEN Einbindung eines zentralen Speichers gibt es? Ich habe FTP probiert, geht nur über große Umwege / nicht als Netzlaufwerk mit Laufwerksbuchstaben einbindbar (bzw. nur über Umwege). Ich brauche DRINGEND einen zentralen Speicherort - der ZWINGEND im Internet liegen muss- , den ich ganz normal ohne Umwege mit Access ansprechen kann - der aber auch die notwendige Sicherheit mitbringt. Hierbei ist mir wichtig, dass der Nutzer meiner Datenbank keine Passwörter dafür eingeben muss und diese auch nicht auslesen kann.
LG
datekk
Hallo,
möglicherweise wird nicht alles mit Access(+ Jet) umzusetzen sein:
http://www.donkarl.com/?FAQ8.6
Hallo Franz. Besten Dank. Punkt 4 konnte ich wahrscheinlich lösen - über den Azure Blob Storage, welcher sich tatsächlich sehr einfach als Netzlaufwerk verbinden lässt. Das Portal bietet hierfür direkt den NetUse Befehl. Gibt es eigentlich eine Möglichkeit, den CMD Befehl NetUse direkt in Access ausführen zu lassen oder geht das nur über eine zu erstellende Skript Datei?
Kann mir noch jemand die Fragen 1-3 beantworten?
LG
So, kurzer Zwischenstand. Meine Datenbank ist "on Air" ;)
Ich habe auf die Binary (OLE) Felder komplett verzichtet und arbeite mit Verlinkungen. Für die Linkdaten habe ich Textfelder angelegt. Leider sind meine Gifs dadurch nicht mehr Transparent, aber damit muss ich wohl leben.
LG
datekk