Jump to content
beychr

Persistent Variables - Keine Funktion auf Master Swyxserver

Recommended Posts

Hallo,

 

wir haben von einem Kunden eine Anforderung für ein ECR-Skript erhalten, die die Nutzung von Persistent Variables erforderlich macht.

Das Ganze soll auf dem Master-SwyxServer in Version 11.42 laufen. Als SQL Server kommt ein MSSQL Server 2016 Standard auf dem Master zum Einsatz.

Alle weiter unten genannten Systeme laufen unter Windows Server 2016.

 

Wir haben jetzt die Version 1.2.0 von Persistent Variables heruntergeladen und die Datenbank wie in der Anleitung beschrieben eingerichtet.

 

Die GSE-Aktion "PersistentVariable" wurde Global auf der SwyxWare hinterlegt und in das ECR-Skript wie in der Anleitung mir ihren Standard-Einstellungen hinterlegt.

Alles im ECR-Skript funktioniert, bis auf das Lesen und Setzten der Variable. 

 

Laut IpPbxSrv Log kann keine Verbindung zum SQL Server aufgebaut werden. Auch ein Ändern des "ConnectString" auf User ID & Password mit dem IpPbx_User hilft nicht.

 

Was wir allerdings feststellen konnten ist, dass das Ganze bei uns im Labor auf einem Standalone-Swyxserver (SwyxWare Version 11.52) mit SQLEXPRESS auf Anhieb funktioniert.

Auf unserem zweiten Laborsystem, ebenfalls einem Master-Standby System (SwyxWare Version 12.10) haben wir das gleiche Verhalten, wie auf dem Kundensystem.

 

Anbei beide Logs zum Vergleich. Das erste von einem Master-System auf dem der Fehler auftritt und das Zweite aus unserem Labor vom Standalone-Server, auf dem das Ganze auf Anhieb funktioniert hat.

 

Auszug aus dem Master-IpPbx Log:

	Line 110262: 20 11:31:27.550 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () ---------> PersistentVariable.GetVariable
	Line 110263: 20 11:31:27.550 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () Name: Mailaddress_01
	Line 110264: 20 11:31:27.550 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () Scope: 2 (USER)
	Line 110265: 20 11:31:27.550 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () UserID: 688
	Line 110266: 20 11:31:27.550 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () NameSpace: 
	Line 110267: 20 11:31:27.550 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () Default: 
	Line 110268: 20 11:31:27.550 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () ---------> PersistentVariable.Retrieve
	Line 110269: 20 11:31:27.550 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () ---------> PersistentVariable.OpenDatabase
	Line 110270: 20 11:31:27.550 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () ---------> PersistentVariable.CalcConnectString
	Line 110271: 20 11:31:27.550 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () g_sPersistentVariableServerName: 
	Line 110272: 20 11:31:27.550 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () g_sPersistentVariableDatabaseName: 
	Line 110273: 20 11:31:27.550 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () g_sPersistentVariableConnectString: 
	Line 110274: 20 11:31:27.550 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () ---------> PersistentVariable.GetComputerName
	Line 110275: 20 11:31:27.552 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () ComputerName: xxx
	Line 110276: 20 11:31:27.553 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () <--------- PersistentVariable.GetComputerName
	Line 110277: 20 11:31:27.553 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () sServerName: xxx
	Line 110278: 20 11:31:27.553 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () sDatabaseName: IpPbxExtensions
	Line 110279: 20 11:31:27.553 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () ConnectString: Provider=sqloledb;Data Source=xxx;Initial Catalog=IpPbxExtensions;Integrated Security=SSPI
	Line 110280: 20 11:31:27.553 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () ConnectStringExpress: Provider=sqloledb;Data Source=xxx\SQLEXPRESS;Initial Catalog=IpPbxExtensions;Integrated Security=SSPI
	Line 110281: 20 11:31:27.553 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () <--------- PersistentVariable.CalcConnectString
	Line 110282: 20 11:31:27.553 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () ---------> PersistentVariable.IsLocalSQLExpress
	Line 110283: 20 11:31:27.554 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () No locally installed SQL Express instance found.
	Line 110284: 20 11:31:27.554 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () bReturn = False
	Line 110285: 20 11:31:27.554 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () <--------- PersistentVariable.IsLocalSQLExpress
	Line 110286: 20 11:31:27.554 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () Using none local SQL Express connect string.
	Line 110287: 20 11:31:27.554 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () Opening database...
	Line 110288: 20 11:31:27.564 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () Error opening database! (-2147024894)
	Line 110289: 20 11:31:27.564 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () Invalid root in registry key "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQL$SQLEXPRESS\ObjectName".
	Line 110290: 20 11:31:27.564 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () bReturn = False
	Line 110291: 20 11:31:27.564 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () <--------- PersistentVariable.OpenDatabase
	Line 110292: 20 11:31:27.564 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () bReturn: False
	Line 110293: 20 11:31:27.564 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () <--------- PersistentVariable.Retrieve
	Line 110294: 20 11:31:27.564 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () Using default value.
	Line 110295: 20 11:31:27.564 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () Value: 
	Line 110296: 20 11:31:27.564 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () bReturn: True
	Line 110297: 20 11:31:27.564 001b04 Info SrvScript  083DC4A0 00000990 SPBXScript::OutputTrace                 () <--------- PersistentVariable.GetVariable

Auszug aus dem Standalone-IpPbx Log

	Line 108132: 20 09:20:39.278 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () ---------> PersistentVariable.GetVariable
	Line 108133: 20 09:20:39.278 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () Name: Mailaddress
	Line 108134: 20 09:20:39.278 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () Scope: 2 (USER)
	Line 108135: 20 09:20:39.278 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () UserID: 1141
	Line 108136: 20 09:20:39.278 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () NameSpace: 
	Line 108137: 20 09:20:39.279 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () Default: 
	Line 108138: 20 09:20:39.279 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () ---------> PersistentVariable.Retrieve
	Line 108139: 20 09:20:39.279 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () ---------> PersistentVariable.OpenDatabase
	Line 108140: 20 09:20:39.279 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () ---------> PersistentVariable.CalcConnectString
	Line 108141: 20 09:20:39.279 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () g_sPersistentVariableServerName: 
	Line 108142: 20 09:20:39.279 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () g_sPersistentVariableDatabaseName: 
	Line 108143: 20 09:20:39.279 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () g_sPersistentVariableConnectString: 
	Line 108144: 20 09:20:39.279 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () ---------> PersistentVariable.GetComputerName
	Line 108145: 20 09:20:39.281 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () ComputerName: SWYX07
	Line 108146: 20 09:20:39.281 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () <--------- PersistentVariable.GetComputerName
	Line 108147: 20 09:20:39.281 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () sServerName: SWYX07
	Line 108148: 20 09:20:39.281 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () sDatabaseName: IpPbxExtensions
	Line 108149: 20 09:20:39.281 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () ConnectString: Provider=sqloledb;Data Source=SWYX07;Initial Catalog=IpPbxExtensions;Integrated Security=SSPI
	Line 108150: 20 09:20:39.281 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () ConnectStringExpress: Provider=sqloledb;Data Source=SWYX07\SQLEXPRESS;Initial Catalog=IpPbxExtensions;Integrated Security=SSPI
	Line 108151: 20 09:20:39.281 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () <--------- PersistentVariable.CalcConnectString
	Line 108152: 20 09:20:39.281 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () ---------> PersistentVariable.IsLocalSQLExpress
	Line 108153: 20 09:20:39.282 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () Locally installed SQL Express instance found.
	Line 108154: 20 09:20:39.282 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () bReturn = True
	Line 108155: 20 09:20:39.282 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () <--------- PersistentVariable.IsLocalSQLExpress
	Line 108156: 20 09:20:39.282 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () Using connect string to local SQL Express.
	Line 108157: 20 09:20:39.282 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () Opening database...
	Line 108158: 20 09:20:39.290 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () Database successfully opened.
	Line 108159: 20 09:20:39.291 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () bReturn = True
	Line 108160: 20 09:20:39.291 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () <--------- PersistentVariable.OpenDatabase
	Line 108161: 20 09:20:39.291 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () ---------> PersistentVariable.GetSelectSQL
	Line 108162: 20 09:20:39.291 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () sReturn: SELECT * FROM [dbo].[PersistentVariables] WHERE [Name] = 'Mailaddress' AND [UserID] = 1141
	Line 108163: 20 09:20:39.291 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () <--------- PersistentVariable.GetSelectSQL
	Line 108164: 20 09:20:39.292 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () Variable 'Mailaddress' exists.
	Line 108165: 20 09:20:39.292 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () Value: cbey@plusnet.de
	Line 108166: 20 09:20:39.292 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () ---------> PersistentVariable.CloseDatabase
	Line 108167: 20 09:20:39.292 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () <--------- PersistentVariable.CloseDatabase
	Line 108168: 20 09:20:39.292 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () bReturn: True
	Line 108169: 20 09:20:39.292 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () <--------- PersistentVariable.Retrieve
	Line 108170: 20 09:20:39.292 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () Value: cbey@plusnet.de
	Line 108171: 20 09:20:39.292 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () bReturn: True
	Line 108172: 20 09:20:39.292 0024cc Info SrvScript  06B7FDF0 00000006 SPBXScript::OutputTrace                 () <--------- PersistentVariable.GetVariable

Hat jemand eine Ahnung, was hier den Aufbau der SQL-Verbindung auf dem Master-Standby System unterbindet?

 

Egal was als ConnectString verwendet wird, auf einem Master-Standby System will der Datenbank-Zugriff nicht funktionieren.

 

Grüße

 

beychr

Share this post


Link to post
Share on other sites

Hallo,

 

wie es scheint funktioniert das Ganze auf einem Master nur, wenn in der GSE-Aktion der Servername getragen wird.

Die automatische Erkennung und Erstellung des ConnectStrings funktioniert hier scheinbar nicht.

 

Warum das jetzt aber auf einem Standalone-Server mit der automatischen Erkennung klappt, erschließt sich uns nicht.

 

Sehr seltsam.

 

Grüße

 

beychr

Share this post


Link to post
Share on other sites

Moin,

 

ergänzend möchte ich noch sagen, dass die beiden Connect-Strings (der erfolgreiche sowie der unerfolgreiche) im Output Trace absolut identisch aussehen.

 

Grüße

 

Thorsten H.

 

 

Share this post


Link to post
Share on other sites

Der Unterschied liegt darin, dass der Master ein vollwertiger SQL Server ist, der Standalone ist ein SQL Express.

 

Ich kann im Augenblick nicht sagen, warum sich im ersten Fall die PVs dennoch für den SQL Express Connect String entscheiden, aber das ist die Ursache für den Fehler bei der Anmeldung.

 

Trage einfach den Connect String für die SQL Server Anmeldung in die PV Parameter im "Run GSE Action" Block ein. Dann sollte es gehen.

 

Provider=sqloledb;Data Source=xxx;Initial Catalog=IpPbxExtensions;Integrated Security=SSPI

 

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   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.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and have taken note of our Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.