Met de komst van multithreaded fmsserver 13 lopen we tegen licentie problemen aan omdat we over de 5 simultane ODBC connecties heen gaan terwijl er in mijn ogen 1 ODBC-connectie wordt gelegd. Het query bestaat uit een hoofdquery en subqueries per up te loaden record. Er is een hoofdscript dat in variabelen de queries creëert en er zijn subscripts die de queries uitvoeren. Een subquery-script is een simpel kort scriptje dat de scriptparameter hanteert als query-tekst en deze wordt gedraaid als 'Perform Script on server [Wait for completion]' van uit het hoofdscript om te zorgen dat niet elke client een eigen ODBC-connetor nodig heeft. De code vind je hieronder, wat het script nog meer doet is de data in een log-record vastleggen en evt errors als script-result terugsturen.
Het duurt misschien lang maar ik veronderstel dat dit script op deze manier slechts 1 ODBC-connetie nodig heeft. Verder moet het hoofdrecord eerst bestaan voordat de subrecords worden aangemaakt anders krijgen we relationele problemen in de SQL-server db.
Ik maak gebruik van Actualtech ODBC-drivers; ze hebben ook deze vraag gekregen maar meer gesteld vanuit 'hoeveel licenties zijn er nodig dan?'
Set Error Capture [ On ]
Go to Layout [ “ImportLogs” (IMPORT_logs) ]
New Record/Request
Set Variable [ $query; Value:Get (ScriptParameter) ]
Set Field [ IMPORT_logs::Log output; Get (ScriptName) & "-started.¶" & $query ]
Execute SQL [ ODBC Data Source: “shared_db.life”; Calculated SQL Text: $query ] [ No dialog ]
Set Variable [ $error; Value:Case (Get ( LastError ) ≠ 0 and not IsEmpty (Get ( LastError ) ) ; "lasterror: " & Get ( LastError ) ; "" ) & Case (Get ( LastODBCError ) ≠ 0 and not IsEmpty (Get ( LastODBCError ) ) ; "¶odbc error: " & Get ( LastODBCError ) ; "" ) ]
New Record/Request
Set Field [ IMPORT_logs::Log output; Get (ScriptName) & "-finished.¶" & "lasterror: " & Get ( LastError ) &
"¶odbc errors: " & Get ( LastODBCError ) ] Go to Layout [ original layout ]
Vraag
relatieboot
Geachte Leden (der ...),
Met de komst van multithreaded fmsserver 13 lopen we tegen licentie problemen aan omdat we over de 5 simultane ODBC connecties heen gaan terwijl er in mijn ogen 1 ODBC-connectie wordt gelegd. Het query bestaat uit een hoofdquery en subqueries per up te loaden record. Er is een hoofdscript dat in variabelen de queries creëert en er zijn subscripts die de queries uitvoeren. Een subquery-script is een simpel kort scriptje dat de scriptparameter hanteert als query-tekst en deze wordt gedraaid als 'Perform Script on server [Wait for completion]' van uit het hoofdscript om te zorgen dat niet elke client een eigen ODBC-connetor nodig heeft. De code vind je hieronder, wat het script nog meer doet is de data in een log-record vastleggen en evt errors als script-result terugsturen.
Het duurt misschien lang maar ik veronderstel dat dit script op deze manier slechts 1 ODBC-connetie nodig heeft. Verder moet het hoofdrecord eerst bestaan voordat de subrecords worden aangemaakt anders krijgen we relationele problemen in de SQL-server db.
Ik maak gebruik van Actualtech ODBC-drivers; ze hebben ook deze vraag gekregen maar meer gesteld vanuit 'hoeveel licenties zijn er nodig dan?'
Link naar reactie
3 antwoorden op deze vraag
Aanbevolen berichten
Doe mee aan dit gesprek
Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.