Most Valued User beychr Posted April 20, 2020 Most Valued User #1 Share Posted April 20, 2020 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 Link to comment Share on other sites More sharing options...
Most Valued User beychr Posted April 20, 2020 Author Most Valued User #2 Share Posted April 20, 2020 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 Link to comment Share on other sites More sharing options...
ThorstenH Posted April 20, 2020 #3 Share Posted April 20, 2020 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. Link to comment Share on other sites More sharing options...
Tom Wellige Posted April 21, 2020 #4 Share Posted April 21, 2020 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 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now