crazycat-1
Goto Top

Möglichkeiten von SQL

SQL - Datenbank und Fremdsysteme

Zu SQL hab' ich eine Reihe von Fragen auf die ich bis jetzt keine Antwort gefunden habe.
Ich hoffe das sie hier jemand beantworten kann.

Kann ich die Datenbank mit einem Fremdsystem (FTP - Server für Siemenssteuerungen) verbinden?

Kann sich SQL die Daten direkt von diesem Server holen?

Kann SQL die Daten nach der Übernahme automatisch löschen?

Kann ich in SQL automatisch eine neue Datei anlegen, sobald ein bestimmter Dateityp (.dfd) erzeugt wurde?

Kann SQL auf mehrere verschiedene Unterverzeichnisse mehr oder weniger gleichzeitig zugreifen und die Daten je nach Speicherort oder Dateiname einer bestimmten Datei zuweisen?


Hat jemand die Antworten auf diese Fragen?

Content-Key: 30269

Url: https://administrator.de/contentid/30269

Printed on: April 25, 2024 at 04:04 o'clock

Member: linuxleuser
linuxleuser Apr 12, 2006 at 13:55:10 (UTC)
Goto Top
Also ersmal müsste ich wissen was für einen SQL-Server du verwendest.

Dann...
Kann ich die Datenbank mit einem Fremdsystem (FTP - Server für Siemenssteuerungen) verbinden?

Was willst du da verbinden? Soll der SQL-Server seine Datenbank-Dateien auf einem FTP-Server ablegen?? oder soll er sie nur von dort kopieren?

Also ganz klar: ein SQL-Server kann unmöglich seine Datenbank-Files auf einen FTP-Server auslagern. Denn dazu müsste man eine Datei via FTP öffnen und dort mit ih arbeiten können, was nicht möglich ist!

Was meinst du mit nach der Übernahme löschen?
Member: CrazyCat-1
CrazyCat-1 Apr 13, 2006 at 08:33:11 (UTC)
Goto Top
Danke für die rasche Antwort!

Die Daten will ich definitiv nicht auf den FTP - Server auslagern. Das wäre genau das Gegenteil von dem was ich will.

Die SQL - Datenbank wird soll die Daten von dem FTP - Server holen, sie in der Datenbank speichern und anschließend die Datei, welche die Daten enthält, auf dem FTP - Server löschen.

Die Dateien des FTP - Server sollen also "verschoben" werden, da irgendwann der Speicher des FTP - Servers überlaufen würde.

Leider kann ich keine Angaben machen, welche SQL - Datenbank zum Einsatz kommt, weil ich diese Information selber noch nicht habe.


Kann der SQL - Server, je nach Dateinamen oder Ordnerbezeichnung die Daten gewissen Teiletypen zuordnen?

Ist es möglich das die Datenbank eine Datei abschließt, sobald ein gewisser Dateityp im einem der Ordner auftritt?
Member: misterdemeanor
misterdemeanor Apr 13, 2006 at 18:41:30 (UTC)
Goto Top
Hi,
Du scheinst Dir nicht im klaren darüber zu sein was SQL ist.

Schlage doch zB mal bei www.wikepedia.de nach.

@linuxleuser
Grüß Dich,
welchen SQL-Server CrazyCat verwendet ist, denke ich mir mal, ziemlich unrelevant. Wonach CrazyCat sucht ist mit zB PL- oder T-SQL nicht umsetzbar. Er/sie sollte sich mal nach einer geeigneten Programmiersprache umsehen.

Grüße
Felix
Member: Biber
Biber Apr 13, 2006 at 21:53:42 (UTC)
Goto Top
@mr demeanor
...welchen SQL-Server CrazyCat verwendet ist, denke ich mir mal, ziemlich unrelevant

Jein... wenn es ein Server ist, der auch erlaubt, das User Prozesse ausführen und über eine geeignete Programmiersprache (Java+PSQL) regelmäßig und automatisiert Datenbefüllung und Import abfackeln, dann hat es schon gewisse Relevanz... ich würde also mal einen Blick auf die Oracle 10g/i werfen.
Ohne Einschränkung richtig ist allerdings der Hinweis auf die ganz andere Zielrichtung von SQL - wie der Name schon sagt, ist das eine Query Language, eine Datenbank-Abfragesprache.

Was Du, CrazyCat, je anch Umfang und Sensibilität der zu verwaltenden heutigen FTP-Daten brauchst, ist entweder ein ETL-Tool wie Informatica's PowerCenter oder aber eine von Hand zusammengestoppelte automatisierte Datenabholung und Datenbefüllung in einer höheren Programmiersprache... es muss ja zumindest irgendetwas sein, was auch SQL-Statements an eine DB weiterreichen kann.

Davon unabhängig würde ich aber an Deiner Stelle das Problem DRINGEND in zwei Teilprobleme aufsplitten, die Du auch unabhängig voneinander angehen kannst:
1) die Daten liegen auf einem FTP-Server mit allen negativen Konsequenzen (lange Zugriffszeiten; Unerreichbarkeit; keine Mehrbenutzerfähigkeit; sequentielle/asynchrone Verarbeitung;das "Überlaufen" des FTP-Servers)
... da müssen die Daten runter. Zumindest 90% davon; Aktualisierungen der Daten können ja dort auflaufen.

2) Die Daten scheinen ja bislang relativ wenig strukturiert zu sein, wenn erst jetzt eine Verwaltung auf einem DB-Server ins Auge gefasst wird.
Und dieses Thema - Aufbau eines relationalen Datenmodells ist unabhängig von der handwerklichen Umsetzung des Abholens/Importieren/Aktualisierens der FTP-Files. Da sollte jemand draufgucken, der etwas davon versteht. Beim Punkt 1 könnt ihr relativ wenig in den Sand setzen - bei Punkt 2 schon.

Gruß
Biber
Member: linuxleuser
linuxleuser Apr 13, 2006 at 23:05:58 (UTC)
Goto Top
Tjo generl schon alles richtig was hier gesagt wird, die Frage ist doch aber eigentlich was genau
das für Daten sind, in welchem Umfang das darauf zugegriffen wird, und ob es sich überhaupt lohnt, große teure Datenbankserver zu installieren.

Also würde ich sagen: Ich finde die Kombination Dateien über FTP runterzuladen in eine DB und dann dort zu löschen leicht.... naja um es vorsichtig zu sagen unvorteilhaft....

Ich würde mich nach einer Möglichkeit umschauen das ganze anderst zu organisieren, und den FTP komplett einzustampfen... nicht zuletzt aufgrund der Sicherheit... FTP ist so sicher, wie ne Holzwand als Feuerschutz!

Falls das nicht möglich ist, könntest du ja dein Problem etwas näher erleutern.

Also ich denke auch dass in dem Fall dass es nicht anders geht, die Idee von Biber das Problem aufzuteilen und getrennte Lösungen für die Datenbank und die Übertragung vom FTP --> Datenbank zu suchen am einfachsten wäre...

Ein komplett unabhängiger interaktiver Prozess, der die Daten Entgegen nimmt und nach dem einfügen in die DB auf dem FTP löscht.

Unter Linux gibt es eine schöne Scriptsprache Namens "expect", ich weiß nicht ob es sowas auch für windows gibt... aber damit würde man soetwas elegant Lösen können.
Member: CrazyCat-1
CrazyCat-1 Apr 14, 2006 at 07:15:00 (UTC)
Goto Top
Ist schon richtig das ich nicht viel Ahnung von SQL habe.

Es geht mir vorwiegend um die Erhebung der Möglichkeiten die mit SQL entstehen. Die Umsetzung liegt dann nicht bei mir, sondern bei den Informatikern.

Wenn den Dateiverwaltung (lesen/löschen der Daten auf FTP - Server) die Datenbank übernehmen kann, bin ich sehr froh, denn das Siemensteil ist eigentlich nur für die Kommunikation mit anderen Siemenskomponenten ausgelegt.

Die Kommunikation mit Standard - PCs und Servern ist eher schwach ausgeprägt, wodurch schon einige Probleme, welche kompliziert zu lösen waren/sind auftraten.

Die Daten sind derzeit relativ gut strukturiert (behaupte ich mal), aber wegen der zig - tausend Einzeldateien auf dem Server ist der Zugriff sehr langwierig.
Die Dateien werden derzeit auf dem FTP - Server zwischengespeichert und dann an ein Netzlaufwerk übertragen.
Von diesem Netzlaufwerk werden die Ordner und Unterordner mit dem Programm für die Weiterverarbeitung eingelesen und verarbeitet.
Wegen der zig - tausend Dateien ist dies eine Prozedur von mehreren Stunden.

Das Problem ist das keine Wildcards akzeptiert werden und ich deshalb die FTP - Skripte auf den Steuerungen und den FTP - Server erstellen muss.

Wenn also die Skripte entfallen würden und die Zeit für das Einlesen der Daten in das Weiterverarbeitungsprogramm drastisch reduziert würden ohne das etwas von der derzeitigen Funktionalität verloren geht, dann kann ich die Anschaffung des erforderlichen Moduls rechtfertigen. (kostet immerhin 12.000?!)

Daher will ich mich über diesen Weg vorab informieren, da die Homepages diesbezüglich sehr wenig Information beinhalten und die Hotlines sich mit derartigen Anwendungsfällen praktisch nicht auskennen.
Member: Biber
Biber Apr 14, 2006 at 09:09:17 (UTC)
Goto Top
Moin CrazyCat,

Von diesem Netzlaufwerk werden die Ordner und Unterordner mit dem Programm für die Weiterverarbeitung eingelesen und verarbeitet.
Wegen der zig - tausend Dateien ist dies eine Prozedur von mehreren Stunden.

Wenn ihr schon ein Programm für die Weiterverarbeitung habt, dann macht ein SQLServer zum Daten-Zwischenspeichern absolut keinen Sinn.
Vergiss das Thema SQL-Server einfach für Dein Problem.

Das Problem ist das keine Wildcards akzeptiert werden und ich deshalb die FTP - Skripte auf den Steuerungen und den FTP - Server erstellen muss.
Das wiederum ist ein rein handwerkliches Problem - dann muss die Wildcard-Mimik eben in das FTP-Daten-Abhol-Skript reinprogrammiert werden bzw. die aktuellen Skripte müssen nach Auslesen der FTP-Verzeichnisse programmtechnisch generiert werden statt von Dir manuell angepasst.
Dazu brauchst Du an Werkzeugen nichts, was über Windows-Bordmittel hinausgeht - ein bissi VB-Skript und/oder Batch.. vorausgesetzt, die Namens-Konventionen der auf dem FTP-Server auflaufenden zig-tausend Dateien sind dokumentiert.

Wenn also die Skripte entfallen würden
Die Skripte werden nicht entfallen, aber unbeaufsichtigt laufen und nicht ständig von Hand angepasst werden.
und die Zeit für das Einlesen der Daten in das Weiterverarbeitungsprogramm drastisch reduziert würden
tja... was macht denn dieses Weiterverarbeitungsprogramm? Das bucht doch vermutlich die Daten auch in irgendeine DB-Struktur? Dann ist es prinzipiell ein ETL-Tool - das, was ich oben mit dem Verweis auf Informatica PowerCenter meinte. Dann hast Du dich schon fast alles...

Gruß Biber
Member: CrazyCat-1
CrazyCat-1 Apr 27, 2006 at 10:15:05 (UTC)
Goto Top
Tja, das Weiterverarbeitungsprogramm liest nur die Daten aus der Datenbank.

Ich habe ein altes Tool von einem anderen Systemanbieter gefunden, das fast alle diese Schritte für den Transfer in die Datenbank übernimmt.

Die verbleibenden Schritte muss ich leider nach wie vor irgendwie anders lösen.