Ändern einer Passage einer Verknüpfung in BSAFILE

Anfragen und Lösungen, die per SQL-Script zu lösen sind und von Anwendern entwickelt oder von Dienstleistern zur Verfügung gestellt wurden

Moderator: SYNERPY

Antworten
Gast

Ändern einer Passage einer Verknüpfung in BSAFILE

Beitrag von Gast » Mi Feb 17, 2010 8:42 am

Hallo,

wir haben in der Maske BSAFILE Verknüpfungen zu Daten auf einem Server hinterlegt die jetzt auf einen anderen Server verschoben werden sollen.
Es ist sicherlich ganz einfach, aber wie kann ich im IBExpert automatisch für alle Datensätze in denen der entsprechende Server als Pfad angegeben ist die Passage mit dem Servernamen durch den neuen Servernamen austauschen?

Ich glaube das müsste dann die Tabelle BSAFILE mit der Spalte "PFAD" sein, hier steht für die betreffenden Fälle z.B. "\\server1\...\...\Dateixy.pdf" drin und soll ersetzt werden durch "\\server2\...\...\Dateixy.pdf" und das dann eben automatisch für alle Datensätze die in der PFAD-Spalte die Passage "server1" enthalten.

miboe
Beiträge: 1295
Registriert: Fr Jul 28, 2006 9:13 am

Beitrag von miboe » Mi Feb 17, 2010 11:33 am

Moin,

da fällt mir spontan (allerdings mangels zugriff aufs System ohne Möglichkeit zur Überprüfung) die F_Stringreplace oder ähnlich ein. Die müßte genau machen was Du willst: suche Strings 1 und ersetzt den durch String 2

Gruß
Michael
Nur wer das Unmögliche versucht, wird das Machbare erreichen!
--
Datenbank: 2012-A02
Programm: 4.2.5.65
OS: Win 7 Pro / Ubuntu 10.04.3

Gast

Beitrag von Gast » Mi Feb 17, 2010 11:54 am

Richtiger Name wäre F_Replace, oder F_ReplaceString, ja.

Aber leider kenne ich mich mit der Programmierung und korrekten Syntax usw. nicht wirklich aus. Ich kann ein wenig mit dem IBExpert arbeiten, wenn man mir sagt was zu tun ist und AvERP / Firebird auf so ziemlich jedem Rechner und Server zum Laufen bringen... aber die Programmierung ist nicht mein Gebiet. :oops:

UliS
Beiträge: 395
Registriert: Fr Mai 26, 2006 3:44 pm
Wohnort: Velbert-Langenberg

Beitrag von UliS » Mi Feb 17, 2010 4:25 pm

update Bsafile b set b.Pfad=F_Replace(b.Pfad,'//Server1/','//Server2/');
commit;// nicht vergessen

Getestet auf Bsafile mit lediglich 30 Records. :lol:
Wenn //Server1/ nicht im Pfad vorkommt, wird update ohne Veränderung von Pfad durchgeführt.
Gruß U.Schmidt
http://averpen4dummies.blogspot.de/

Wenn ich weiß, wo ich suchen muß ist OpenSource besser als jede Dokumentation

aktuelle Erkenntnisse mit:
Software-Version 6.9.2
FDB 2020.02

Gast

Beitrag von Gast » Do Feb 18, 2010 7:02 am

Perfekt. Danke 8)

Antworten