With SQL Anywhere 17 we need to autenticate after connecting, I set this up as a InitString and this works well when i do SAConnection.Connect
<add key="connectionString" value="UID=dba;PWD=***;Host=10.10.10.10:2638;InitString='SET TEMPORARY OPTION CONNECTION_AUTHENTICATION="Company=Quick Systems AS;Application=EQ Timing;Signature=xxxx...xxx"'"/>
But when using Entity Framework this string is already encoded once:
<add name="TimingConnection" connectionString="metadata=res://*/Timing.csdl|res://*/Timing.ssdl|res://*/Timing.msl;provider=Sap.Data.SQLAnywhere;provider connection string="UserID=dba;Password=sql;Host=10.10.10.10"" providerName="System.Data.EntityClient"/>
How can i add the authentication InitString
<add name="TimingConnection" connectionString="metadata=res://*/Timing.csdl|res://*/Timing.ssdl|res://*/Timing.msl;provider=Sap.Data.SQLAnywhere;provider connection string="UserID=dba;Password=sql;Host=10.10.10.10;InitString='SET TEMPORARY OPTION CONNECTION_AUTHENTICATION="Company=Quick Systems AS;Application=EQ Timing;Signature=xxx...xxx"'"" providerName="System.Data.EntityClient"/>
The error i get is Format of the initialization string does not conform to specification starting at index 98.
To escape internally in the connectionstring I needed to double the "
so it was ""
<add name="TimingConnection" connectionString="metadata=res://*/Timing.csdl|res://*/Timing.ssdl|res://*/Timing.msl;provider=Sap.Data.SQLAnywhere;provider connection string="";UserID=dba;Password=sql;Host=10.10.10.10;InitString='SET TEMPORARY OPTION CONNECTION_AUTHENTICATION="Company=Quick Systems AS;Application=EQ Timing;Signature=xxx...xxx""'"" providerName="System.Data.EntityClient"/>