Autor
|
Thema: 'general database error' nach linkToFolder Aufruf (1267 mal gelesen)
|
loop2 Mitglied Softwareentwickler ERP/PLM
Beiträge: 21 Registriert: 12.10.2004
|
erstellt am: 01. Dez. 2004 12:05 <-- editieren / zitieren --> Unities abgeben:
Hallo! Ich habe hier einige Teile, die ich mit LinkToFolder an einen Ordner hänge. Das ganze hat auch schon mal geklappt - aber irgend etwas muss ich wohl verändert haben, denn jetzt geht nichts mehr. Wenn ich meinen Code isoliere und nur die entscheidenden SmarTeam-API Aufrufe in ein einzelnes VB File kopiere klappt alles. Es muss also irgend ein Kontext existieren, bei dem es nicht klappt - ich bin Ratlos: SmarTeam meldet sich noch und fragt ob ich das Objekt mit dem Folder verknüpfen will. Auch die zurückgegebene linkObjectId scheint zu stimmen. Drücke ich danach aktualisieren im SmarTeam Editor dauert es etwa eine Minute, danach kommt die Fehlermeldung "General Database Error" (#-2147217871 Timeout abgelaufen Source=Microsoft OLE DB Provider for SQL Server SQLState=HYT00 NativeError=0.). Erst nach einem Neustart geht wieder alles und der neue Link ist natürlich nicht da...
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristianS Moderator Leiter Kundenbetreuung
Beiträge: 635 Registriert: 27.09.2000
|
erstellt am: 01. Dez. 2004 12:52 <-- editieren / zitieren --> Unities abgeben: Nur für loop2
Hi, wenn du SMARTEAM wieder geöffnet hast, ist das Objekt dann mit dem Ordner verknüpft oder nicht.
Wie schauts aus, wenn du dein Dokument pewr Drag&Drop verknüpfst ? Was machst Du in deinem Code sonst nocht so.. werden vielleicht die Datenbankverbindungen gekappt, arbeitest Du mit dem SessionManagement in der R13 oder noch mit einer vorgänger Version ? Gruß Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
loop2 Mitglied Softwareentwickler ERP/PLM
Beiträge: 21 Registriert: 12.10.2004
|
erstellt am: 01. Dez. 2004 13:08 <-- editieren / zitieren --> Unities abgeben:
>wenn du SMARTEAM wieder geöffnet hast, ist das Objekt dann mit dem >Ordner verknüpft oder nicht. Nein. Ich habe zwar eine linkObjectId bekommen, der Link ist aber nicht da. Der nächste gültige Link (nach dem Neustart) bekommt dann aber die selbe ID. >Wie schauts aus, wenn du dein Dokument pewr Drag&Drop verknüpfst ? Klappt problemlos. Es kommt absolut die selbe Frage (Link: CATIA Part 'CATPRT-0868' to: Folder 'Fold-0082' as child?) - nur diesmal geht es auch. >Was machst Du in deinem Code sonst nocht so.. Nichts mit Datenbanken und auch sonst nichts mit SmarTeam direkt. Ich arbeite auf R12. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristianS Moderator Leiter Kundenbetreuung
Beiträge: 635 Registriert: 27.09.2000
|
erstellt am: 01. Dez. 2004 13:16 <-- editieren / zitieren --> Unities abgeben: Nur für loop2
Hi, was machst Du denn ansonsten noch in der Routine. Du schreibst, dass das verlinken funktioniert, wenn du den Teil separierst, der nur mit dem Linken zu tun hat. Jedoch in dem Gesamtkontext nicht. Gruß Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
loop2 Mitglied Softwareentwickler ERP/PLM
Beiträge: 21 Registriert: 12.10.2004
|
erstellt am: 01. Dez. 2004 13:28 <-- editieren / zitieren --> Unities abgeben:
Möglicherweise müsste ich die SmSession irgendwie wieder schliessen. Meine Applikation läuft danach weiter und arbeitet auf anderen Daten - bzw. wartet in der GUI auf Benutzereingaben. Der Letzte SmarTeam Befehl ist LinkToParentEx. Zu einem späteren Zeitpunkt brauche ich die Funktion wieder. Was kann ich denn alles schliessen? So lange das CADInterface offen bleibt (dauert lange) wäre es mir egal... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristianS Moderator Leiter Kundenbetreuung
Beiträge: 635 Registriert: 27.09.2000
|
erstellt am: 01. Dez. 2004 13:45 <-- editieren / zitieren --> Unities abgeben: Nur für loop2
Hi, was machst Du denn mit dem CAD Interface ? Hast Du eine eingene Applikation/Interface geschrieben. Ist deine Programm ein Skript(oder auch DLL) welche von SMARTEAM aufgerufen wird oder startest Du ein eigenes Programm um Dich an SMARTAM 'anzudocken' Gruß Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
loop2 Mitglied Softwareentwickler ERP/PLM
Beiträge: 21 Registriert: 12.10.2004
|
erstellt am: 01. Dez. 2004 13:58 <-- editieren / zitieren --> Unities abgeben:
Ist eine eigene Windows Applikation, die parallel zu SmarTeam und CATIA arbeitet und vom User direkt gestartet wird (exe). Das CADInterface benutze ich nur, um an eine Session zu kommen. CATIA bleibt immer offen. Meine App kann vom User gelegentlich auch geschlossen werden. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
loop2 Mitglied Softwareentwickler ERP/PLM
Beiträge: 21 Registriert: 12.10.2004
|
erstellt am: 01. Dez. 2004 14:21 <-- editieren / zitieren --> Unities abgeben:
|
ChristianS Moderator Leiter Kundenbetreuung
Beiträge: 635 Registriert: 27.09.2000
|
erstellt am: 01. Dez. 2004 15:04 <-- editieren / zitieren --> Unities abgeben: Nur für loop2
Hi, wenn Du das SmCADInterface nur benötigst um damit eine SmSession zu erzeugen, dann empfehle ich Dir besser über ein Login zu gehen, ohne extra dafür das SmCADInterface zu bemühen. Ich mach einige Sachen parallel zu SMARTEAM und dem CAD mit : Set SMART = getobject(,"SmarTeam.SmApplication") dann bekommst Du über SMART die Engine und auch die Session um ebenfalls direkt mit SMARTEAM zu kommunizieren Sollte SMARTEAM noch nicht gestartet sein, fange ich mit Set SmEngineIntern = New SmApplic.SmEngine an, danach gehts dann mit CreateSession und OpenDatabaseConnection weiter um anschließend ein Login zu machen, entweder Silent oder mit GUI. Probleme gibt es in Deiner Konstellation immer wenn Du ein SmCADInterface mit 'CATIA..' initialisierst und parallel ein CATIA hast, welches ebenfalls über diese SmCADInterface Definition zugreift. Dabei können die seltsamsten Effekte passieren. Ich wollte soetwas mal mit der Excel Integration in der R11 machen. Jedoch passierte es dann z.B. dass meine Applikation das Interface Terminiert hat und Excel danach auch nicht mehr darauf zu greifen konnte. Um einen Test des Links durchzuführen, kannst Du Dir das ParentObject ja mal in Deinem code in einer Top-Down Ansicht anzeigen lassen. ... welche Objecte willst Du denn überhaupt verbinden ? Gruß Christian Gruß Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
loop2 Mitglied Softwareentwickler ERP/PLM
Beiträge: 21 Registriert: 12.10.2004
|
erstellt am: 01. Dez. 2004 16:36 <-- editieren / zitieren --> Unities abgeben:
>Probleme gibt es in Deiner Konstellation immer wenn Du ein >SmCADInterface mit 'CATIA..' initialisierst und parallel ein CATIA >hast, welches ebenfalls über diese SmCADInterface Definition >zugreift. Dabei können die seltsamsten Effekte passieren. Das wars tatsächlich. Der Fehler ist futsch wenn CATIA nicht mit ST verbunden ist. Ich werde meinen Code umstricken, so wie Du sagst. VIELEN DANK! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |