Jump to content
  • 0

ExecuteSQL functie in FM2023 - een raadsel


Marsau

Question

In verschillende van mijn oplossingen gebruik ik in server-side script in een If-stap op basis van een ExecuteSQL iets wordt opgezocht in een TOC van een externe tabel om te bepalen of iets wel/niet moet gebeuren. 

Geen probleem tot voor kort, maar opeens komt er geen resultaat meer. Mogelijk met de installatie van FMS2023. Ik kan de oorzaak niet vinden, en ik zoek in eerste instantie naar 'normale' implementatie-fouten. Als het script lokaal wordt uitgevoerd, dan krijg je altijd direct een correct resultaat. Maar uitgevoerd als server-side script krijg ik steevast het bekende vraagteken terug. Er komt gewoon geen resultaat. Probleem doet zich zowel voor bij PSOS als wanneer het script als onderdeel van een scheduled script wordt uitgevoerd. 

Wellicht een bug in FMS2023, want het heeft absoluut gewerkt. Maar zie wellicht iets over het hoofd. Benieuwd naar jullie suggesties.

 

Uitgebreid gecheckt is:

- correctheid van de query (is echt ok...)

- privset account en bestandstoegang tot het externe bestand

- eventuele context problemen (quod non in geval van ExecuteSQL, zou je zeggen)

- doorgifte van simultane andere scriptresultaten (anders dan van de sql-query) gaat uitstekend; het betreft dus alleen de ExecuteSQL

- serverside toepassing van de functie op een interne tabel gaat goed: het betreft dus alleen de externe TOC's

 

Als het een bug is, dan zal ik wel niet de enige zijn die het ervaart. Iemand? 

 

Link to comment

3 answers to this question

Recommended Posts

  • 0

Net even geprobeerd en bij mij werkt het probleemloos:

  1. FMServer 20(23).1.2.207 en FMClient 20(23).1.2.204 beiden op MacOS 13.4 op een M1
  2. Data en Interface gescheiden, dus alle tabellen zijn extern

image.thumb.png.47192af5623a671ed8f809ec1bc482a2.png

Ik vind wél dat het ietwat traag reageert en ik heb de afgelopen weken gemerkt dat ik soms betere/snellere resultaten krijg door hier en daar een pauze van 0,1 seconde plaatsen. Die observatie is echter puur subjectief, dus daar zou ik verder in moeten duiken.

Staan die externe tabellen wel op dezelfde server en zo nee, wat is de versie van die externe server?
Om te kunnen communiceren met 20.1.2.207 moet die andere versie tenminste versie 19.3.2 (van Juli 2021) zijn, anders kunnen ze niet met elkaar communiceren.

Link to comment
  • 0

De vertraging was mij nog niet opgevallen. Interessant om dan objectief vast te stellen of je met die kleine pauzes inderdaad een versnelling zou kunnen krijgen, en hoe groot die pauzes dan zouden moeten zijn. Onlangs had ik overigens nog de geheel subjectieve indruk dat de DAPI-scriptstap sneller werkt dan de ExecuteSQL functie. 

Als je de enige bent die een probleem ervaart moet je de mogelijkheid onderkennen dat je zelf de oorzaak bent. Beetje gênant: heb ontdekt dat server-side de credentials uiteen liepen. Geen bug maar logisch gedrag. 

Dank voor het meedenken.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...