Autor Thema: Not a sub or function name: DISCONNECT  (Gelesen 3800 mal)

Offline Big768

  • Aktives Mitglied
  • ***
  • Beiträge: 164
Not a sub or function name: DISCONNECT
« am: 07.05.09 - 11:01:12 »
Liebe Noteskolleginnen und - kollegen,

gestern habe ich eine schönen Agenten geschrieben, der mir Daten über ODBC aus einer Access-Datenbank einliest. Dies funktionierte, Dank MSAccessReader, auch wunderbar.  :)

Wenn ich heute Ändererungen an diesem Agenten oder an einem zweiten Agenten mache die sich sehr ähneln, erhalte ich immer die Fehlermeldung:

Not a sub or function name: DISCONNECT  >:(

Dabei habe ich gar nichts geändert.

Kann es eventuell daran liegen, dass ich gestern den letzten Agenten abbrechen musste, weil er zu lange dauerte?

Hat jemand einen Tip?

Vielen Dank im voraus.

Johann
Server 7.0.3 und 8.5.1, Client 7.0.3 bis 8.5.3

Die Politik ist nicht Opfer der Staatsverschuldung, sie ist Täter.

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Not a sub or function name: DISCONNECT
« Antwort #1 am: 07.05.09 - 11:15:39 »
Woher kommt den die Funktion "DISCONNECT"?, vielleicht ein option declare hinzugefügt?
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline Big768

  • Aktives Mitglied
  • ***
  • Beiträge: 164
Re: Not a sub or function name: DISCONNECT
« Antwort #2 am: 07.05.09 - 12:48:07 »
Ja, ich habe ein zusätzliches Feld eingefügt aber auch wieder entfernt. Trotzdem erscheint der Fehler noch.  ???

Und warum in dem anderen Agenten den ich gar nicht geändert habe?
Server 7.0.3 und 8.5.1, Client 7.0.3 bis 8.5.3

Die Politik ist nicht Opfer der Staatsverschuldung, sie ist Täter.

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Not a sub or function name: DISCONNECT
« Antwort #3 am: 07.05.09 - 12:55:18 »
Füg mal in dem Agent ein:
Code
option declare
ein!
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline Big768

  • Aktives Mitglied
  • ***
  • Beiträge: 164
Re: Not a sub or function name: DISCONNECT
« Antwort #4 am: 07.05.09 - 13:11:57 »
Danke für den Tip.

Nun lautet die Fehlermeldung:

Not a sub or function name: Execute ???
Server 7.0.3 und 8.5.1, Client 7.0.3 bis 8.5.3

Die Politik ist nicht Opfer der Staatsverschuldung, sie ist Täter.

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Not a sub or function name: DISCONNECT
« Antwort #5 am: 07.05.09 - 13:15:12 »
Poste mal den Code hier rein ;) und markiere die Zeile mit dem Fehler :)
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline Big768

  • Aktives Mitglied
  • ***
  • Beiträge: 164
Re: Not a sub or function name: DISCONNECT
« Antwort #6 am: 07.05.09 - 13:25:16 »


REM  MS Access Reader by Gary Roberts  08/30/2000   
REM  Copyright Gary Roberts, 2000  (e-mail:  groberts@carolina.rr.com)
REM
REM  Application Name:  MS Access Reader
REM  View Name:  Customers
REM  Action Name:  Read MS Access Database
REM
REM  Purpose:
REM  Read a Microsoft Access (MS Access) MDB file and create a Notes Document for
REM  each record in the MS Access Database.  The newly created documents will be
REM  displayed in the "By Company Name" view in THIS Notes Database.
REM
REM  IMPORTANT NOTES:
REM  You do NOT have to have MS Access installed on your PC to run this program.
REM  You DO have to have the Northwind.mdb file (comes with MS Access)
REM  You DO have to register Northwind.mdb as an ODBC Data Source (System)
REM  You DO have to have nlsxodbc.dll in your Notes directory (NOT the Data Directory)
REM  You DO have to have lsconst.lss in your Notes directory (NOT the Data Directory)
REM  You DO have to have lsxbeerr.lss in your Notes directory (NOT the Data Directory)
REM The ODBC LSX File is declared in the FORM's (Globals) (Options) section
REM  I used the fully qualified filename of the DLL in case yours isn't registered
REM  LotusScript and Error constants are "Included" in the FORM's (Globals) (Declarations) section
REM
REM  Change Log:
REM  ------------------------------------------------------------------------------------------------------
REM  08/30/2000  Gary Roberts    Placed into production
REM
REM  Notes Objects Declarations
   Dim session As New NotesSession
   Dim ws As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim doc As NotesDocument
   Dim con As New ODBCConnection ***rot***
   Dim qry As New ODBCQuery ***rot***
   Dim result As New ODBCResultSet ***rot***
   
REM  Miscellaneous module variables
   Dim msg As String
   Dim FieldCount As Integer
   Dim Status As Integer
   
REM  MS Access Database declarations
   Const adbFileName = "FrankiermaschineA"  ' This is the DSN Name as registered in ODBC
   Const adbTableName = "CostAccounts"  ' This is a table in the northwind database
   
REM  Notes Database declarations
   Const ndbViewName = "CA"  ' This is an existing View in the target database
   Const ndbFormName = "CostAccounts"  ' This is an existing Form in the target database
   
REM  Instantiate the major Notes objects
   Set db = session.CurrentDatabase     
   Set view = db.GetView( ndbViewName )
   
REM  Connect to the MS Access Database.  Throw an error if it fails
   status = con.ConnectTo( adbFileName ) ***rot***
   If Not con.IsConnected Then ***rot***
      Messagebox "Could not connect to " & adbFileName & " database -- Did you register the ODBC Data Source???",, "Error"
      Exit Sub
   End If
   If con.GetError <> DBstsSUCCESS Then
      Messagebox con.GetExtendedErrorMessage,, "Connection Error - " & con.GetError & " " & con.GetErrorMessage
      Exit Sub
   End If
   Print "Connected to " & adbFileName & " database"  ' Update the Notes Client Status Bar if we're okay
   
REM  If we got this far, we must be connected, so just for grins,  let's show the user all the fields in this table.
REM  Note:  "fields" has not been declared, so it will be a Variant Array -- that's what we want
   fields = con.ListFields( adbTableName )
   msg = adbTableName & " contains the following fields:" & Chr(10)
   For FieldCount = Lbound( fields ) To Ubound( fields )
      msg = msg & Chr(10) & fields( FieldCount )
   Next
REM  Okay, let's display the Field List to the User...
   Messagebox msg,, "Fields from the " & adbFileName & " database"
   
REM  We made it this far, so let's setup the SQL Query.  Throw an error if it fails
   Set qry.Connection = con
   Set result.Query = qry
   qry.SQL = "SELECT * FROM " & adbTableName  ' Grab all of the fields (columns) from the specified table
   If qry.GetError <> DBstsSUCCESS Then
      Messagebox qry.GetExtendedErrorMessage,, "Query Error" & qry.GetError & " " & qry.GetErrorMessage
      Exit Sub
   End If
   
REM  Update the Notes Client Status Bar
   Print "Reading " & adbFileName & " database"  ' Update the Notes Client Status Bar if we're okay
   
REM  Must be okay -- Get the Data
   result.Execute
   
REM  See if we have data.  If so, loop through the ResultSet.  If not, throw an error
   If result.IsResultSetAvailable Then
      Do
         result.NextRow
        REM  Create a Notes Document, assign values, save the document.  Do it until we're done.
         Set doc = db.CreateDocument  ' Create a new Notes Document for this record
         doc.Form = ndbFormName
        REM  Okay -- Let's get serious -- We'll use the MS Access Database field (Column)
        REM  names for the field names in the Notes Documents
         doc.CAID = result.GetValue( "ID" )
         doc.CAReference = result.GetValue( "CostAccountReference" )
         doc.CAName =  result.GetValue( "CostAccountName" )
         doc.CACreation =  result.GetValue( "DateTimeCreation" )
         Call doc.save( True, False )
      Loop Until result.IsEndOfData
      
    REM  We're done, so let's clean up the mess we've made and bail out 
      result.Close( DB_CLOSE )
      Print "Finished"  ' Update the Notes Client Status Bar if we're okay
   Else
    REM  If we got here, it means there was no data in the table, so throw an error (Informational)
      Messagebox "No data retrieved for " & adbTableName & " table", MB_ICONINFORMATION, "No data"
      Print "DOH!!!!!  Got no data -- Bummer!!!!"  ' Update the Notes Client Status Bar if we're NOT okay
      Exit Sub 
   End If
   
REM  Give up the ODBC Connection like a good little boy
   con.Disconnect
   
REM  Update the view so the new documents will show up without having to press the F9 key
   Call view.Refresh
   Call ws.ViewRefresh
Server 7.0.3 und 8.5.1, Client 7.0.3 bis 8.5.3

Die Politik ist nicht Opfer der Staatsverschuldung, sie ist Täter.

Offline Big768

  • Aktives Mitglied
  • ***
  • Beiträge: 164
Re: Not a sub or function name: DISCONNECT
« Antwort #7 am: 07.05.09 - 13:26:57 »
Ich habe mich mit der Fehlermeldung vertan:

Sie lautet nun: Variable not declared: GET VALUE
Server 7.0.3 und 8.5.1, Client 7.0.3 bis 8.5.3

Die Politik ist nicht Opfer der Staatsverschuldung, sie ist Täter.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Not a sub or function name: DISCONNECT
« Antwort #8 am: 07.05.09 - 13:29:45 »
Ist das ODBC-LSX überhaupt eingebunden?

Bernhard

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Not a sub or function name: DISCONNECT
« Antwort #9 am: 07.05.09 - 13:31:58 »
Wenn ich die *** rot **** richtig sehe, ist doch klar, warum ein .con.Disconnect den Fehler wirft; wenn schon con nicht instantiiert ist.
Du solltest mal prüfen, ob deine ODBC LSX richtig eingebunden ist ...
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Not a sub or function name: DISCONNECT
« Antwort #10 am: 07.05.09 - 13:48:41 »
Ist natürlich die Frage wie der Agent überhaupt jemals laufen konnte ;)
Für den Fall das Du nicht weisst welche Codezeile noch fehlt:
Uselsx "NLSXODBC"
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline Big768

  • Aktives Mitglied
  • ***
  • Beiträge: 164
Re: Not a sub or function name: DISCONNECT
« Antwort #11 am: 07.05.09 - 14:11:40 »
und ich bin mir sicher, dass ich diese Zeile gestern nicht brauchte.

Vielen, vielen Dank.
Server 7.0.3 und 8.5.1, Client 7.0.3 bis 8.5.3

Die Politik ist nicht Opfer der Staatsverschuldung, sie ist Täter.

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Not a sub or function name: DISCONNECT
« Antwort #12 am: 07.05.09 - 14:17:27 »
Okey, wenn du das wieder hinbekommst dann melde dich mal  ;D
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Not a sub or function name: DISCONNECT
« Antwort #13 am: 07.05.09 - 17:51:01 »
evtl hattes du sie mal drin.
Ich hatte mal selbes Phänomän mit: useLsx "javacon*"

Wenn das ein Agent mal gemacht hat, gehen auch alle anderen, solange der client nicht neu gestartet wurde. (An sowas sucht man dann teilweise lange, da ja das Problem irgendwann nicht mehr reproduzierbar war  ;D )

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz