protected override DbConnection CreateDbConnection()
        {
            SqlConnectionStringBuilder cnStrBuilder = new SqlConnectionStringBuilder();

            cnStrBuilder.InitialCatalog = Database;
            cnStrBuilder.DataSource     = HostExePath;

            if (DbUsername.Equals(""))
            {
                cnStrBuilder.IntegratedSecurity = true;
            }
            else
            {
                cnStrBuilder.UserID   = DbUsername;
                cnStrBuilder.Password = DbPassword;
            }
            //cnStrBuilder.Pooling = false;

            string connectionString = cnStrBuilder.ConnectionString;

            //Log(connectionString);

            /*
             * string connectionString = string.Format("Data Source = {0}; Initial Catalog = {1}; Integrated Security = True;", HostExePath, Database);
             * if (!DbUsername.Equals("") && !DbPassword.Equals(""))
             * {
             *  connectionString = string.Format("Data Source = {0}; Initial Catalog = {1}; User Id = {2}; Password = {3};", HostExePath, Database, DbUsername, DbPassword);
             * }
             * else if (!DbUsername.Equals(""))
             * {
             *  connectionString = string.Format("Data Source = {0}; Initial Catalog = {1}; User Id = {2};", HostExePath, Database, DbUsername);
             * }*/

            SqlConnection conn = new SqlConnection(connectionString);

            try
            {
                conn.Open();
            }
            catch (SqlException ex)
            {
                Log(ex.Message);
                return(null);
            }
            catch (Exception ex)
            {
                Log(ex.Message);
                return(null);
            }

            return(conn);
        }
        public override bool TableExists(string selected_tablename)
        {
            string            _selected_tablename = FieldAlias(selected_tablename);
            DbSelectStatement clause = CreateSelectClause();

            clause
            .SelectCount()
            .From("SYSCAT.TABLES")
            .Criteria
            .IsEqual("SYSCAT.TABLES", "TABSCHEMA", DbUsername.ToUpper())
            .IsEqual("SYSCAT.TABLES", "TABNAME", _selected_tablename.ToUpper());
            return(ExecuteScalarInt(clause) != 0);
        }