private void AddConnection(ConnectionConfiguration connectionConfiguration) { if (SsisPackage.CurrentPackage.DTSPackage.Connections.Contains(connectionConfiguration.Name)) { MessageEngine.Global.Trace(Severity.Alert, Resources.ConnectionNameConflicts, connectionConfiguration.Name); _connectionManager = SsisPackage.CurrentPackage.DTSPackage.Connections[connectionConfiguration.Name]; } else { _connectionManager = SsisPackage.CurrentPackage.DTSPackage.Connections.Add(connectionConfiguration.Type); _connectionManager.Name = connectionConfiguration.Name; switch (connectionConfiguration.Type) { case "OLEDB": string connectionString = connectionConfiguration.ConnectionString; SetProperty("RetainSameConnection", connectionConfiguration.RetainSameConnection); SetProperty("ConnectionString", connectionString); break; case "FILE": SetExpression("ConnectionString", connectionConfiguration.ConnectionString); break; default: MessageEngine.Global.Trace(Severity.Error, Resources.ConnectionTypeNotImplemented, connectionConfiguration.Type); break; } } }
private void Initialize(ExecutePackageTask execPackage) { string expression; if (Path.IsPathRooted(execPackage.RelativePath)) { expression = String.Format("\"{0}\"", execPackage.RelativePath); } else { expression = SSISExpressionPathBuilder.BuildExpressionPath ( Context.Package.PackageRelativeDirectory + Path.DirectorySeparatorChar + execPackage.RelativePath ); } string name = execPackage.RelativePath.Replace(Path.DirectorySeparatorChar, '_'); name = name.Replace('.', '_'); _execPackageTaskHost.Name = name + Guid.NewGuid().ToString(); ConnectionConfiguration config = new ConnectionConfiguration(); config.Name = name; config.Type = "FILE"; config.ConnectionString = expression; SsisConnection connection = new SsisConnection(config); SSISTask.Connection = connection.ConnectionManager.Name; }
public SSISEmitterContext Emit() { SetResultSetType(_logicalExecuteSQL.ResultSet); switch (_logicalExecuteSQL.Type.ToUpper(System.Globalization.CultureInfo.InvariantCulture)) { case "EXPRESSION": SSISTask.SqlStatementSource = Resources.Placeholder; SetExpression("SqlStatementSource", _logicalExecuteSQL.Body); break; default: // case "FILE": //TODO: solve the name conflicts if necessary. string sqlFilePath; string sqlFileRelativePath; ConnectionConfiguration config = new ConnectionConfiguration(); config.Name = Name; config.Type = "FILE"; WriteSQLToFile(_logicalExecuteSQL.Body, out sqlFilePath, out sqlFileRelativePath); config.ConnectionString = SSISExpressionPathBuilder.BuildExpressionPath(sqlFileRelativePath); SsisConnection connection = new SsisConnection(config); SSISTask.SqlStatementSource = connection.ConnectionManager.Name; Context.Package.ProjectManager.MiscFiles.Add(Name + Resources.ExtensionSQLFile); break; } int index = 0; foreach (ExecuteSQLParameter param in _logicalExecuteSQL.ParameterList) { BindParameter(new SsisVariable(param.Variable, Context).DTSVariable, param.Direction, index.ToString(), (int)param.OleDbType, 255); index++; } foreach (ExecuteSQLResult executeSQLResult in _logicalExecuteSQL.ResultList) { BindResult(executeSQLResult.Name, executeSQLResult.VariableName); } ExecuteSQLTask(_logicalExecuteSQL.ExecuteDuringDesignTime); return _context; }
// Create a new connection or get an existing connection public SsisConnection(ConnectionConfiguration connectionConfiguration) { AddConnection(connectionConfiguration); }
public static ConnectionConfiguration Lower(this AstConnection.AstConnectionNode astNode) { if (astNode.AsClassOnly) { return null; } try { ConnectionConfiguration physicalConnection = new ConnectionConfiguration(); physicalConnection.Name = astNode.Name; physicalConnection.ConnectionString = astNode.ConnectionString; physicalConnection.RetainSameConnection = astNode.RetainSameConnection; physicalConnection.Type = astNode.Type.ToString(); physicalConnection.Parent = _CurrentPackage; return physicalConnection; } catch (Exception e) { throw new SSISEmitterException(astNode, e); } }
private static void AddConnection(ConnectionConfiguration connectionConfiguration) { if (connectionConfiguration != null) { if (!_CurrentPackage.ConnectionConfigurationList.Contains(connectionConfiguration)) { _CurrentPackage.ConnectionConfigurationList.Add(connectionConfiguration); } } }
public bool Equals(ConnectionConfiguration connectionNode) { return(this.Name.Equals(connectionNode.Name)); }
public SsisConnectionConfiguration(ConnectionConfiguration connection, SSISEmitterContext context) { this._name = connection.Name; this._connectionString = connection.ConnectionString; this._context = context; }
public bool Equals(ConnectionConfiguration connectionNode) { return this.Name.Equals(connectionNode.Name); }