Ejemplo n.º 1
0
        protected override DataSet TableSchema(DataAccessProviderFactory dataAccessProvider, IDbConnection connection)
        {
            DataSet    ds    = new DataSet();
            IDbCommand sqlSp = dataAccessProvider.CreateCommand("sp_tables", connection);

            sqlSp.CommandType = CommandType.StoredProcedure;
            IDbDataParameter param = dataAccessProvider.CreateParameter();

            param.ParameterName = "@table_type";
            param.Value         = "'TABLE'";
            sqlSp.Parameters.Add(param);
            IDbDataAdapter da = dataAccessProvider.CreateDataAdapter();

            da.SelectCommand = sqlSp;
            da.Fill(ds);
            return(ds);
        }
        protected override DataSet ColumnSchema(Table table, DataAccessProviderFactory dataProvider, IDbConnection connection)
        {
            DataSet    ds         = new DataSet();
            int        tableId    = GetTableId(table.Name, dataProvider, connection);
            IDbCommand sqlCommand = dataProvider.CreateCommand("SELECT a.attname,t.typname as atttype, " +
                                                               "(SELECT substring(d.adsrc for 128) FROM pg_catalog.pg_attrdef d " +
                                                               "WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef)as attdef, a.attlen, a.atttypmod,a.attnotnull, a.attnum " +
                                                               "FROM pg_catalog.pg_attribute a, pg_catalog.pg_type t " +
                                                               "WHERE a.attrelid = '" + tableId + "' AND a.attnum > 0 AND NOT a.attisdropped " +
                                                               "AND t.oid = a.atttypid " +
                                                               "ORDER BY a.attnum", connection);

            sqlCommand.CommandType = CommandType.Text;
            IDbDataAdapter da = dataProvider.CreateDataAdapter();

            da.SelectCommand = sqlCommand;
            da.Fill(ds);
            return(ds);
        }
        protected override DataSet ColumnSchema(Table table, DataAccessProviderFactory dataAccessProvider, IDbConnection connection)
        {
            DataSet    ds    = new DataSet();
            IDbCommand sqlSp = dataAccessProvider.CreateCommand("sp_columns", connection);

            sqlSp.CommandType = CommandType.StoredProcedure;
            IDbDataParameter param = dataAccessProvider.CreateParameter();

            param.Direction     = ParameterDirection.Input;
            param.DbType        = DbType.String;
            param.ParameterName = "@table_name";
            param.Value         = table.Name;
            sqlSp.Parameters.Add(param);
            IDbDataAdapter da = dataAccessProvider.CreateDataAdapter();

            da.SelectCommand = sqlSp;
            da.Fill(ds);
            return(ds);
        }
        protected override DataSet KeySchema(Table table, DataAccessProviderFactory dataAccessProvider, IDbConnection connection)
        {
            DataSet    dsPkeys = new DataSet();
            IDbCommand sqlSp   = dataAccessProvider.CreateCommand("sp_pkeys", connection);

            sqlSp.CommandType = CommandType.StoredProcedure;
            IDbDataParameter param = dataAccessProvider.CreateParameter();

            param.Direction     = ParameterDirection.Input;
            param.DbType        = DbType.String;
            param.ParameterName = "@table_name";
            param.Value         = table.Name;
            sqlSp.Parameters.Add(param);
            IDbDataAdapter da = dataAccessProvider.CreateDataAdapter();

            da.SelectCommand = sqlSp;
            da.Fill(dsPkeys);
            foreach (DataRow row in dsPkeys.Tables[0].Rows)
            {
                Key key = new Key();
                key.Name       = row["PK_NAME"].ToString();
                key.ColumnName = row["COLUMN_NAME"].ToString();
                key.IsPrimary  = true;
                _Keys.Add(key);
            }

            DataSet ds = new DataSet();

            sqlSp               = dataAccessProvider.CreateCommand("sp_fkeys", connection);
            sqlSp.CommandType   = CommandType.StoredProcedure;
            param               = dataAccessProvider.CreateParameter();
            param.Direction     = ParameterDirection.Input;
            param.DbType        = DbType.String;
            param.ParameterName = "@pktable_name";
            param.Value         = table.Name;
            sqlSp.Parameters.Add(param);
            da = dataAccessProvider.CreateDataAdapter();
            da.SelectCommand = sqlSp;
            da.Fill(ds);
            ds.Merge(dsPkeys);
            return(ds);
        }
        protected override DataSet KeySchema(Table table, DataAccessProviderFactory dataProvider, IDbConnection connection)
        {
            DataSet ds          = new DataSet();
            String  schemaQuery = "SELECT acc.COLUMN_NAME, " +
                                  "ac.CONSTRAINT_NAME, " +
                                  "ac.CONSTRAINT_TYPE " +
                                  "FROM ALL_CONS_COLUMNS acc " +
                                  "JOIN ALL_CONSTRAINTS ac " +
                                  "ON ac.OWNER = acc.OWNER " +
                                  "AND ac.TABLE_NAME = acc.TABLE_NAME " +
                                  "AND ac.CONSTRAINT_NAME = acc.CONSTRAINT_NAME " +
                                  "where acc.owner = '" + table.ParentDatabase.Name + "' " +
                                  "and acc.Table_NAME = '" + table.Name + "'";
            IDbCommand sqlCommand = dataProvider.CreateCommand(schemaQuery, connection);

            sqlCommand.CommandType = CommandType.Text;
            IDbDataAdapter da = dataProvider.CreateDataAdapter();

            da.SelectCommand = sqlCommand;
            da.Fill(ds);
            return(ds);
        }
Ejemplo n.º 6
0
        /* Add by Ferhat */
        protected internal TableCollection GetViews(Database database)
        {
            TableCollection           tables = new TableCollection();
            DataAccessProviderFactory dataAccessProviderFactory = new DataAccessProviderFactory(Server.ProviderType);
            IDbConnection             connection = dataAccessProviderFactory.CreateConnection(Server.ConnectionString);

            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }
            connection.ChangeDatabase(database.Name);
            DataSet ds = ViewSchema(dataAccessProviderFactory, connection);

            connection.Close();
            if (ds.Tables.Count > 0)
            {
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    tables.Add(CreateTable(database, row));
                }
            }
            return(tables);
        }
        protected override DataSet ColumnSchema(Table table, DataAccessProviderFactory dataProvider, IDbConnection connection)
        {
            DataSet ds          = new DataSet();
            String  schemaQuery = "SELECT atc.OWNER, " +
                                  "atc.TABLE_NAME, " +
                                  "atc.COLUMN_NAME, " +
                                  "atc.DATA_TYPE, " +
                                  "atc.DATA_LENGTH, " +
                                  "atc.DATA_PRECISION, " +
                                  "atc.DATA_SCALE, " +
                                  "atc.NULLABLE, " +
                                  "atc.COLUMN_ID, " +
                                  "acc.CONSTRAINT_NAME, " +
                                  "ac.CONSTRAINT_TYPE, " +
                                  "ac.R_CONSTRAINT_NAME, " +
                                  "ac.INDEX_NAME " +
                                  "FROM ALL_TAB_COLUMNS atc " +
                                  "LEFT OUTER JOIN ALL_CONS_COLUMNS acc " +
                                  "ON acc.OWNER = atc.OWNER " +
                                  "AND acc.TABLE_NAME = atc.TABLE_NAME " +
                                  "AND acc.COLUMN_NAME = atc.COLUMN_NAME " +
                                  "LEFT OUTER JOIN ALL_CONSTRAINTS ac " +
                                  "ON ac.OWNER = acc.OWNER " +
                                  "AND ac.CONSTRAINT_NAME = acc.CONSTRAINT_NAME " +
                                  "WHERE atc.OWNER = '" + table.ParentDatabase.Name + "' " +
                                  "AND atc.TABLE_NAME = '" + table.Name + "' " +
                                  "ORDER BY TABLE_NAME asc";

            IDbCommand sqlCommand = dataProvider.CreateCommand(schemaQuery, connection);

            sqlCommand.CommandType = CommandType.Text;
            IDbDataAdapter da = dataProvider.CreateDataAdapter();

            da.SelectCommand = sqlCommand;
            da.Fill(ds);
            return(ds);
        }
Ejemplo n.º 8
0
 private void uiTestConnectionButton_Click(object sender, EventArgs e)
 {
     if (uiProviderTypeSelection.SelectedIndex >= 0)
     {
         DataAccessProviderFactory dataAccessProvider = new DataAccessProviderFactory(((DataAccessProviderInfo)uiProviderTypeSelection.SelectedItem).ProviderType);
         IDbConnection             connection         = dataAccessProvider.CreateConnection(uiConnectionStringComboList.Text.Trim());
         try
         {
             connection.Open();
             MessageBox.Show("Connection Succesfull");
         }
         catch (Exception e1)
         {
             MessageBox.Show(e1.Message);
         }
         finally
         {
             if (connection.State != ConnectionState.Closed)
             {
                 connection.Close();
             }
         }
     }
 }
Ejemplo n.º 9
0
 protected override DataSet ViewSchema(DataAccessProviderFactory dataAccessProvider, IDbConnection connection)
 {
     return(new DataSet());
 }
Ejemplo n.º 10
0
 protected abstract DataSet DatabaseSchema(DataAccessProviderFactory dataAccessProviderFactory, IDbConnection connection);
Ejemplo n.º 11
0
 protected virtual DataSet TableSchema(DataAccessProviderFactory dataAccessProvider, IDbConnection connection, Database database)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 12
0
 protected abstract DataSet KeySchema(Table table, DataAccessProviderFactory dataAccessProvider, IDbConnection connection);