protected override SQLConnection InternalCreateConnection() { // ConnectionClass: // ODBCConnection (default) // ConnectionStringBuilderClass // LinterADOConnectionStringBuilder (default) D4.ClassDefinition classDefinition = new D4.ClassDefinition ( Device.ConnectionClass == String.Empty ? "ODBCConnection.ODBCConnection" : Device.ConnectionClass ); D4.ClassDefinition builderClass = new D4.ClassDefinition ( Device.ConnectionStringBuilderClass == String.Empty ? "LinterDevice.LinterODBCConnectionStringBuilder" : Device.ConnectionStringBuilderClass ); ConnectionStringBuilder connectionStringBuilder = (ConnectionStringBuilder)ServerProcess.CreateObject(builderClass, new object[] {}); D4.Tags tags = new D4.Tags(); tags.AddOrUpdate("DataSource", Device.DataSource); tags.AddOrUpdate("UserName", DeviceSessionInfo.UserName); tags.AddOrUpdate("Password", DeviceSessionInfo.Password); tags = connectionStringBuilder.Map(tags); Device.GetConnectionParameters(tags, DeviceSessionInfo); string connectionString = SQLDevice.TagsToString(tags); return((SQLConnection)ServerProcess.CreateObject(classDefinition, new object[] { connectionString })); }
protected override SQLConnection InternalCreateConnection() { // ConnectionClass: // ODBCConnection // OLEDBConnection // ADOConnection (default) // SASConnection // ConnectionStringBuilderClass // SASADOConnectionStringBuilder (default) //can use others too D4.ClassDefinition LClassDefinition = new D4.ClassDefinition ( Device.ConnectionClass == String.Empty ? "ADOConnection.ADOConnection" : Device.ConnectionClass ); D4.ClassDefinition LBuilderClass = new D4.ClassDefinition ( Device.ConnectionStringBuilderClass == String.Empty ? "SASDevice.SASOLEDBConnectionStringBuilder" : Device.ConnectionStringBuilderClass ); ConnectionStringBuilder LConnectionStringBuilder = (ConnectionStringBuilder)ServerProcess.CreateObject(LBuilderClass, new object[] {}); D4.Tags LTags = new D4.Tags(); LTags.AddOrUpdate("ServerID", Device.ServerID); LTags.AddOrUpdate("Location", Device.Location); LTags.AddOrUpdate("UserName", DeviceSessionInfo.UserName); LTags.AddOrUpdate("Password", DeviceSessionInfo.Password); LTags = LConnectionStringBuilder.Map(LTags); Device.GetConnectionParameters(LTags, DeviceSessionInfo); string LConnectionString = SQLDevice.TagsToString(LTags); SQLConnection LConnection = (SQLConnection)ServerProcess.CreateObject(LClassDefinition, new object[] { LConnectionString }); LConnection.DefaultUseParametersForCursors = false; return(LConnection); }