+49 (0)7531 906010| service@combit.net

Scripts funktionieren nicht (mehr)

Hallo in die Runde,

auf unserem SQL-Server befindet sich sowohl die Solution3 als auch eine Kopie davon, auf der wir entwickeln. Die Solution3 dient quasi nur zum ‚abkupfern‘.

Merkwürdigerweise funktionieren auf unserer Entwicklungs-Kopie alle Scripts nicht, die sich auf ein Recordset-Objekt beziehen. Beispiel: Das Aufrufen einer Internetadresse per Button funktioniert in der Solution3 problemlos. Wechsele ich in unser Entwicklungs-Projekt funktioniert dieses Script nicht mehr. Es wird mit der Fehlermeldung
‚Das Record Objekt konnte nicht korrekt erzeugt werdem‘ und
‚Conversion failed when converting from a character string to uniqueidentifier‘
abgebrochen.
Als Fehlerhafte Zeile des Scripts wird

OpenURL(cRM.CurrentProject.ActiveViews.ActiveView.CurrentRecordSet.CurrentRecord.GetContentsByName("Internet"))

angezeigt.
Auch andere Scripts, die den CurrentRecordSet vewenden, werden mit der selben Fehlermeldung abgebrochen.

Für jede Idee, was hier falsch läuft, bin ich sehr dankbar.

Walter

Hi Walter,

vergleich mal im Enterprise Manager den Feldtyp aller ‚uniqueidentifer‘ Spalten aller Tabellen der „Original-Datenbank“ mit Eurer „Kopie“. Verwendest du irgendwo „(n)varchar“ wo die Original-Datenbank aber „uniqueidentifier“ verwendet?

Gruß

Alex

PS: CurrentRecordSynchronized anstatt CurrentRecord ist viel schneller! Das aber nur am Rande, dein Problem liegt woanders.

Hallo Alex,

vielen Dank für Deine Antwort.
Dein ‚PS‘ hat mich auf eine eigentlich idiotische Idee gebracht: Ich habe in dem Script einfach mal ‚CurrentRecord‘ durch ‚CurrentRecordSynchronized‘ ersetzt. Und siehe da … plötzlich geht’s.
Werde jetzt mel weiter testen, ob das in den anderen Scripts auch zum Erfolg führt.
Rätselhaft ist das aber allemal …

Nochmal vielen Dank!

Gruß

Walter

Hallo Walter,

das war zu erwarten, weil CurrentRecord alle Felder puffert und dabei der Fehler auftritt (irgendeine Relation was-weiss-ich kann zum Puffern nicht aufgelöst werden, weil er eine Zeichenkette nicht in eine GUID wandeln kann). CurrentRecordSynchronized puffert nicht, ist deswegen schneller, und vermeidet aber (lediglich) das Auftreten des Problems. Gelöst ist es aber nicht und kann dir halt später woanders dann Ärger machen.

Viel Erfolg bei der Suche

Alex

Hallo Alex,

vielen Dank für die zusätzliche Information. Nach einigem Suchen habe ich tatsächlich eine fehlerhafte Relation gefunden. Und jetzt funktionieren die Scripts auch wieder mit ‚CurrentRecord‘.

Gruß

Walter

© combit GmbH