2016-06-29 10 views
0

Ich habe ein schnelles Projekt, an dem ich für einen unserer VPs arbeite.Programmlösung, die durch Freigabeordner liest

Wir haben ein paar tausend CAD-Jobs in einer Netzwerkdateifreigabe gespeichert. Die Dateistruktur ist so, dass es einen übergeordneten Ordner für den CAD-Job gibt. Ein Teil des Ordnernamens enthält die Auftragsnummer. Innerhalb des Ordners befinden sich 1 bis viele .ini-Textdateien, die die benötigten Verbindungsinformationen enthalten.

Was ich brauche, ist eine programmatische Möglichkeit, alle Ordner zu durchsuchen und die Auftragsnummer aus dem Ordnernamen und alle Verbindungswerte aus den INI-Dateien zu extrahieren.

Beispiel: Für einen Ordner mit der Bezeichnung CM8252390-3 lautet die Auftragsnummer 8252390-3. In diesem Ordner befinden sich 3 Ini-Dateien. Innerhalb der INI-Dateien sind die wie folgt aussehen:

[Connection] 
Name=IMP_Acme_3.5 
[Origin] 
X=-15.044784 
Y=19.620095 
Z=44.621395 

Also mein Programm braucht mich folgendes Ergebnis auf dem besten Weg

Job   Connection 
8252390-3 IMP_Acme1_3.5 
8252390-3 IMP_Acme2_3.5 
8252390-3 IMP_Acme3_3.5 
8254260-1 IMP_Acme3_2.4 
8254260-1 IMP_Acme3_4.1 
...continued for all folders in the network share 

Jede Anregung zu geben, dies zu tun. Ich bin in erster Linie ein Oracle PL/SQL-Entwickler, habe aber einige grundlegende Windows Batch- und Unix-Shell-Erfahrung. Wenn ich die Daten in Oracle-Tabellen laden kann, kann ich mit PL/SQL-Tools suchen, aber gibt es einen besseren Weg, Shell-, Batch- oder andere Tools zu verwenden?

Vielen Dank.

Antwort

0

Ich denke, das ist ein Job für Powershell oder vbScript. Es wäre einfach, diese Tools zu verwenden, um die benötigten Informationen in eine Datei zu schreiben.

  • Diese Datei sollte in ein Oracle-Verzeichnis geschrieben werden.
  • Erteilung Leseberechtigung für einen Datenbankbenutzer auf diesem Verzeichnis
  • Verwendung utl_file die Datei oder zu behandeln, die Datei als external table und setzen Sie es als eine Ansicht
  • Zeitplan regelmäßig OS Job zu aktualisieren oder neu erstellen, die Liste zu lesen
+0

Danke Kevin. Ja, wenn ich die Informationen in eine Datei schreiben kann, kann ich mich um den Oracle-Teil kümmern. Haben Sie zufällig Powershell- oder vbScript-Codebeispiele? Ich werde das Internet durchsuchen. – Joe

+0

Meine VB-Skripte sind für weitere 10 Stunden nicht zugänglich. Ich werde sie später hinzufügen, wenn keine besseren Antworten kommen – kevinsky

+0

Danke Kevin. Wenn ich auf etwas stoße, werde ich Sie hier aktualisieren. Danke nochmal für deine Hilfe. – Joe