@@ -44,12 +44,15 @@ public SqlConnection CreateConnection(Session session)
4444 }
4545
4646 var sessionConfiguration = GetConfiguration ( session ) ;
47- if ( sessionConfiguration . ConnectionInfo != null )
48- connection . ConnectionInfo = sessionConfiguration . ConnectionInfo ;
4947 connection . CommandTimeout = sessionConfiguration . DefaultCommandTimeout ;
48+ var connectionInfo = GetConnectionInfo ( session ) ?? sessionConfiguration . ConnectionInfo ;
49+ if ( connectionInfo != null ) {
50+ connection . ConnectionInfo = connectionInfo ;
51+ }
5052
51- if ( ! string . IsNullOrEmpty ( configuration . ConnectionInitializationSql ) )
52- SetInitializationSql ( connection , configuration . ConnectionInitializationSql ) ;
53+ var connectionInitializationSql = GetInitializationSql ( session ) ?? configuration . ConnectionInitializationSql ;
54+ if ( ! string . IsNullOrEmpty ( connectionInitializationSql ) )
55+ SetInitializationSql ( connection , connectionInitializationSql ) ;
5356
5457 return connection ;
5558 }
@@ -339,7 +342,23 @@ private void SetInitializationSql(SqlConnection connection, string script)
339342
340343 private SessionConfiguration GetConfiguration ( Session session )
341344 {
342- return session != null ? session . Configuration : configuration . Sessions . System ;
345+ return session != null ? session . Configuration : configuration . Sessions . System ;
346+ }
347+
348+ private ConnectionInfo GetConnectionInfo ( Session session )
349+ {
350+ return session == null
351+ ? null
352+ : session . GetStorageNodeInternal ( ) ? . Configuration . ConnectionInfo
353+ ?? session . Configuration . ConnectionInfo ;
354+ }
355+
356+ private string GetInitializationSql ( Session session )
357+ {
358+ return session == null || session . GetStorageNodeInternal ( ) == null
359+ || string . IsNullOrEmpty ( session . GetStorageNodeInternal ( ) . Configuration . ConnectionInitializationSql )
360+ ? null
361+ : session . StorageNode . Configuration . ConnectionInitializationSql ;
343362 }
344363 }
345364}
0 commit comments