in src/PDWScripter/PDWscripter.cs [75:141]
public PDWscripter(string system, string server, string sourceDb, string authentication, string userName, string pwd, string wrkMode, string ExcludeObjectSuffixList, string filterSpec, string scriptMode, int? CommandTimeout)
{
DatabaseName = sourceDb;
cols = new List<ColumnDef>();
clusteredCols = new List<IndexColumnDef>();
partitionBoundaries = new List<PartitionBoundary>();
nonclusteredIndexes = new List<NonclusteredIndexDef>();
stats = new List<StatDef>();
dbTables = new List<TableDef>();
dbstruct = new DBStruct();
this.filterSpec = filterSpec;
this.ExcludeObjectSuffixList = ExcludeObjectSuffixList;
this.wrkMode = wrkMode;
this.sourceDb = sourceDb;
this.destDb = sourceDb; // For future DB cloning
this.scriptMode = scriptMode;
this.CommandTimeout = CommandTimeout;
SqlConnectionStringBuilder constrbuilder = new SqlConnectionStringBuilder();
conn = new System.Data.SqlClient.SqlConnection();
if (system == "PDW")
{
constrbuilder.DataSource = server;
constrbuilder.InitialCatalog = sourceDb;
if (authentication == "SQL")
{
constrbuilder.UserID = userName;
constrbuilder.Password = pwd;
constrbuilder.IntegratedSecurity = false;
}
else
{
constrbuilder.IntegratedSecurity = true;
// constrbuilder.Encrypt = true;
// constrbuilder.TrustServerCertificate = true;
}
conn.ConnectionString = constrbuilder.ConnectionString;
}
else
{
conn.ConnectionString = "server=" + server + ";database=" + sourceDb + ";User ID=" + userName + ";Password=" + pwd;
}
cmd = new System.Data.SqlClient.SqlCommand();
//sets non default timeout
if(this.CommandTimeout.HasValue)
{
cmd.CommandTimeout = this.CommandTimeout.Value;
}
Console.WriteLine("Current Command Timeout: " + cmd.CommandTimeout);
try {
conn.Open();
cmd.Connection = conn;
}
catch (Exception ex)
{
Console.WriteLine(ex);
throw ex;
}
}