Problem mit Filemaker Data API: Script ausführen klappt nicht

Ich möchte auf eine gehostete FM-Lösung (lokaler FM-Server V.20) SQL-Statements loslassen, ohne dass auf dem Client-Rechner ODBC eingerichtet sein muss. Meine Idee: Ich connecte per Data-API (klappt) und führe ein kollaboratives Script aus (klappt nicht), dem ich mein SQL-Statement als Argument übergebe. Die entsprechenden Code-Fragmente habe ich aus den Beispielen zu den MBS Plugins für Xojo.

Dieses FM-Skript funktioniert problemlos, wenn ich es in Filemaker direkt per Tastenklick ausführe:

Variable setzen [ $args ; Wert: Hole(ScriptParameter) ]
Variable setzen [ $result ; Wert: SQLAusführen ( $args ; “<:>” ; “<*>”) ]
Feldwert setzen [ sqltest::args ; $args ]
Feldwert setzen [ sqltest::result ; $result ]
Aktuelles Script verlassen [ Textergebnis: $result ]

Wobei die beiden “Feldwert setzen” nur der Kontrolle in zwei globale Felder dienen, klappt.

Auf Xojo-Seite habe ich diese Test-Methode gebaut:

Var dbconnection As New FMDataMBS
var dbresponse as FMResponseMBS

dbconnection.Database = “SQL_TEST”
dbconnection.Password = “europa22”
dbconnection.Username = “admin”
dbconnection.Server   = “192.168.10.7”
dbresponse = dbconnection.Login

If dbresponse.CURLErrorCode <> 0 Then

  MsgBox "curl: " + dbresponse.CURLErrorMessage
  quit

else

  msgbox “Connected!”
  dbconnection.Layout = “sqltest”
  dbresponse = dbconnection.ExecuteScript(“sql_call”, “select count(*) from sqltest”)

  if dbresponse<>nil then
    msgbox dbresponse.RawResultJSON
  else
    msgbox “kein Resultat!”
  end if

End If

Bis “Connect!” läuft es, danach ist dbresponse immer NIL … warum?

Es sieht so aus, als ob jede Serverantwort vom Typ FMResponseMBS generell leer ist. Fragt man nach Werten vom Typ String, bekommt man eine Antwort.

Hat sich erledigt, war ein Rechte-Problem. der Zugriff über die Data-API musste in der FM-Lösung bei der Rechte-Verwaltung für diesen User explizit freigegeben werden.

Christian? Da wünschte man sich doch eine nachvollziehbare Fehlermeldung, sinngemäß “Rechte nicht ausreichend” oder so, anstatt eines nichtssagenden NIL.