Exemplo n.º 1
0
        private IList <SearchHit> GetViewSearchResults(Sql8rServer s, Sql8rDatabase db, string criteria, bool exactMatch, bool caseSensitive, bool includeSystemObjects)
        {
            var hits = new List <SearchHit>();

            if (db != null)
            {
                foreach (Sql8rView v in db.Views)
                {
                    if (!v.IsSystemObject || (v.IsSystemObject && includeSystemObjects))
                    {
                        IList <SearchHit> hit = checkForHit(s, db, v.IsSystemObject, SearchAreas.View, v, criteria, exactMatch, caseSensitive);
                        hits.AddRange(hit);
                    }
                }
            }
            else
            {
                foreach (Sql8rDatabase d in s.Databases)
                {
                    foreach (Sql8rView v in d.Views)
                    {
                        if (!v.IsSystemObject || (v.IsSystemObject && includeSystemObjects))
                        {
                            IList <SearchHit> hit = checkForHit(s, db, v.IsSystemObject, SearchAreas.View, v, criteria, exactMatch, caseSensitive);
                            hits.AddRange(hit);
                        }
                    }
                }
            }

            return(hits);
        }
Exemplo n.º 2
0
        public Query GetAlterColumnQuery(Sql8rServer server, Sql8rDatabase database, Sql8rTable table, Sql8rColumn column)
        {
            string sql   = string.Format(sqlAlterColumn, database.Name, table.GetFullObjectName(), column.Name);
            var    query = new Query(_settings, server.Name, database.Name, sql);

            return(query);
        }
Exemplo n.º 3
0
        public Sql8rServer GetServer()
        {
            var s = new Sql8rServer(_settings);


            string dbConn = ConnectionString;

            setServerInfo(ref s, dbConn);
            OdbcConnection cn = new OdbcConnection(dbConn);

            cn.Open();
            //            DataTable schema = cn.GetSchema();  // collectionName, nbrOfRestriction, nbrOfIden

            //            foreach (DataRow row in schema.Rows)
            //          {
            //            string collection = row["CollectionName"].ToString();

            // "MetaDataCollections" "DataSourceInformation"
            // "DataTypes" "Restrictions" "ReservedWords"
            // "Columns" "Indexes" "Procedures" "ProcedureColumns"
            // "ProcedureParameters" "Tables"
            //      }

            Sql8rDatabase db = new Sql8rDatabase("main", 0);

            s.Databases.Add(db);

            DataTable dtColumns = cn.GetSchema("Columns");
            DataTable dtTables  = cn.GetSchema("Tables"); // collectionName, nbrOfRestriction, nbrOfIden

            foreach (DataRow row in dtTables.Rows)
            {
                string tCategory = row["TABLE_CAT"].ToString();
                string tSchema   = row["TABLE_SCHEM"].ToString();
                string tName     = row["TABLE_NAME"].ToString();
                bool   tIsSystem = row["TABLE_TYPE"].ToString().ToString().Equals("SYSTEM TABLE", StringComparison.InvariantCultureIgnoreCase) ? true : false;
                string tRemarks  = row["REMARKS"].ToString();

                Sql8rTable t = new Sql8rTable(tName, tSchema, tIsSystem, 0);

                int id = 0;
                foreach (DataRow column in dtColumns.Select(string.Format("TABLE_NAME = '{0}'", t.Name)))
                {
                    string taSchema  = column["TABLE_SCHEM"].ToString();
                    string taName    = column["TABLE_NAME"].ToString();
                    string cName     = column["COLUMN_NAME"].ToString();
                    string cDataType = column["DATA_TYPE"].ToString();
                    string cTypeName = column["TYPE_NAME"].ToString();
                    int    cSize     = int.Parse(column["COLUMN_SIZE"].ToString());


                    Sql8rColumn c = new Sql8rColumn(cName, false, cTypeName, cSize, id++);
                    t.Columns.Add(c.ObjectId, c);
                }
                db.Tables.Add(t);
            }


            return(s);
        }
Exemplo n.º 4
0
        public Query GetTableContent(Sql8rServer server, Sql8rDatabase database, Sql8rTable table, bool editable)
        {
            string sql   = "SELECT * FROM {0};";
            string dbSQL = string.Format(sql, table.Name);

            string dbConn = ConnectionString;

            using (var conn = new SQLiteConnection(dbConn))
            {
                conn.Open();

                var cmd = new SQLiteCommand(dbSQL, conn);

                var sdaDatabases = new SQLiteDataAdapter(cmd);

                if (editable)
                {
                    var scb = new SQLiteCommandBuilder(sdaDatabases);
                    sdaDatabases.UpdateCommand = scb.GetUpdateCommand();
                    sdaDatabases.InsertCommand = scb.GetInsertCommand();
                    sdaDatabases.DeleteCommand = scb.GetDeleteCommand();
                }


                var dsDatabases = new DataTable("TableContent");
                sdaDatabases.Fill(dsDatabases);

                var query = new Query(_settings, server.Name, database.Name, dbSQL, dsDatabases);
                query.Adapter = sdaDatabases;
                return(query);
            }
        }
Exemplo n.º 5
0
        public Query GetTableContent(Sql8rServer server, Sql8rDatabase database, Sql8rTable table, bool editable)
        {
            string sql = ResourceReader.GetResourceSql("SQL8r.Logic.SqlServer.Queries.UI.OpenTable.sql");

            string dbSQL = string.Format(sql, database.Name, table.Schema, table.Name);

            var conn = new SqlConnection(ConnectionString);

            conn.Open();
            conn.ChangeDatabase(database.Name);
            var cmd = new SqlCommand(dbSQL, conn);

            var sdaDatabases = new SqlDataAdapter(cmd);

            if (editable)
            {
                var scb = new SqlCommandBuilder(sdaDatabases);
                sdaDatabases.UpdateCommand = scb.GetUpdateCommand();
                sdaDatabases.InsertCommand = scb.GetInsertCommand();
                sdaDatabases.DeleteCommand = scb.GetDeleteCommand();
            }


            var dsDatabases = new DataTable("TableContent");

            sdaDatabases.Fill(dsDatabases);

            var query = new Query(_settings, server.Name, database.Name, dbSQL, dsDatabases);

            query.Adapter = sdaDatabases;
            return(query);
        }
Exemplo n.º 6
0
        public Query GetAlterColumnQuery(Sql8rServer server, Sql8rDatabase database, Sql8rTable table, Sql8rColumn column)
        {
            //    throw new System.NotImplementedException();
            string sql   = string.Format(sqlAlterColumn, table.GetFullObjectName(), column.Name);
            var    query = new Query(_settings, server.Name, database.Name, sql);

            return(query);
        }
Exemplo n.º 7
0
 public void ShowUsage(Sql8rServer s, Sql8rDatabase db, Sql8rTable t, string fileName)
 {
     _s  = s;
     _db = db;
     _t  = t;
     bindData(t);
     _view.Text = string.Format("{0}: {1}", MainPresenter.MdiTabKeys.TableUsage, fileName);
 }
Exemplo n.º 8
0
        public Sql8rServer GetServer()
        {
            //            string sqlDatabases = "SELECT type, name, tbl_name, rootpage, sql FROM main.SQLITE_MASTER;";

            var    s      = new Sql8rServer(_settings);
            string dbConn = ConnectionString;

            setServerInfo(ref s, dbConn);
            var sdaTables = new SQLiteDataAdapter(sqlDatabases, dbConn);

            var dtTables = new DataTable("TablesEtc");

            sdaTables.Fill(dtTables);

            string dbName = _settings.DatabaseName;

            if (File.Exists(_settings.DatabaseName))
            {
                dbName = Path.GetFileName(_settings.DatabaseName);
            }
            var db = new Sql8rDatabase(dbName, 0);

            s.Databases.Add(db);

            var systable = new Sql8rTable("SQLITE_MASTER", "main", true, 0);

            addColumns(systable);
            db.Tables.Add(systable);

            foreach (DataRow drTable in dtTables.Select("type = 'table'"))
            {
                string t_name     = drTable.Field <string>("name");
                long   t_rootpage = drTable.Field <long>("rootpage");
                //   string sql = drTable.Field<string>("sql");

                var table = new Sql8rTable(t_name, "", false, t_rootpage);
                addColumns(table);

                foreach (DataRow drIndex in dtTables.Select("type = 'index' AND tbl_name = '" + t_name + "'"))
                {
                    string i_name     = drIndex.Field <string>("name");
                    long   i_rootpage = drIndex.Field <long>("rootpage");

                    var index = new Sql8rIndex(i_name, false, false, i_rootpage);
                    table.Indexes.Add(index.Name, index);
                }

                db.Tables.Add(table);

                //if (type.Equals("trigger", StringComparison.InvariantCultureIgnoreCase))
                //{
                //    var trigger = new Sql8rTrigger(name, "", false);

                //}
            }

            return(s);
        }
Exemplo n.º 9
0
        public new Query GetReorganizeIndexQuery(Sql8rServer server, Sql8rDatabase database, Sql8rTable table, Sql8rIndex index)
        {
            string sql = ResourceReader.GetResourceSql("SQL8r.Logic.SqlServer.Queries.UI.ReorganizeIndex.sql");

            string head = string.Format(sql, database.Name, index.Name, table.Schema, table.Name, index.ObjectId);


            var query = new Query(Settings, server.Name, database.Name, head);

            return(query);
        }
Exemplo n.º 10
0
        public Query GetExecuteProcedureQuery(Sql8rServer server, Sql8rDatabase database, Sql8rProcedure procedure)
        {
            var myConnection = new MySqlConnection();

            myConnection.ConnectionString = String.Format(
                "{0};database={1}",
                ConnectionString,
                database.Name);
            MySqlDataReader myReader = null;

            string paramsString = string.Empty;

            try
            {
                myConnection.Open();
                var myCommand = new MySqlCommand();
                myCommand.CommandText = string.Format(
                    "SHOW CREATE PROCEDURE `{0}`",
                    procedure.Name);
                myCommand.CommandType = CommandType.Text;
                myCommand.Connection  = myConnection;
                myReader = myCommand.ExecuteReader();
                if (myReader.Read())
                {
                    paramsString = myReader.GetString(2);
                }
            }
            finally
            {
                myReader.Close();
                myConnection.Close();
            }

            string head = string.Format("EXEC {0}", procedure.Name);

            var   reg   = new Regex(@"(?<=\x28)([^\n\r]+)(?=\x29)");
            Match match = reg.Match(paramsString);

            paramsString = match.Groups[1].Value;
            char[]   paramsSplitter = { ',' };
            string[] paramsSet      = paramsString.Split(paramsSplitter);

            foreach (string param in paramsSet)
            {
                char[]   paramPartSplitter = { ' ' };
                string[] paramPart         = param.TrimStart().Split(paramPartSplitter);
                head = string.Format("{0} {1} {2}=<{3}>", head, paramPart[0], paramPart[1], paramPart[2]);
            }

            var q = new Query(_settings, server.Name, database.Name, head);

            return(q);
        }
Exemplo n.º 11
0
        public Query GetExecuteFunctionQuery(Sql8rServer server, Sql8rDatabase database, Sql8rFunction function)
        {
            string head = string.Format("EXEC {0}.{1}", function.Schema, function.Name);
            string use  = string.Format("USE {0} ", database.Name);
            string vars = "";

            string dbSQL         = string.Format(sqlParameters, database.Name, function.ObjectId);
            var    sdaParameters = new SqlDataAdapter(dbSQL, ConnectionString);

            var dtParameters = new DataTable("Parameters")
            {
                Locale = CultureInfo.InvariantCulture
            };

            sdaParameters.Fill(dtParameters);

            string sep   = ",";
            int    count = dtParameters.Rows.Count;

            for (int i = 0; i < count; i++)
            {
                DataRow drDatabase = dtParameters.Rows[i];

                int    paramId   = int.Parse(drDatabase["parameterId"].ToString());
                string paramName = drDatabase["pName"].ToString();
                bool   isOutput  = bool.Parse(drDatabase["isOutput"].ToString());
                string typeName  = drDatabase["tName"].ToString();

                if (i == count - 1)
                {
                    sep = "";
                }
                if (!isOutput)
                {
                    head = string.Format("{0} {1}=<{2}>{3}", head, paramName, typeName, sep);
                }
                else if (paramId > 0)
                {
                    vars = string.Format("DECLARE {0} {1};{2}", paramName, typeName, Environment.NewLine);
                    head = string.Format("{0} {1} OUTPUT{2}", head, paramName, sep);
                }
                else
                {
                    vars = string.Format("DECLARE @result {0};{1}", typeName, Environment.NewLine);
                }
            }

            string sql   = string.Format("{0}{1}{2}{3}{4}", use, Environment.NewLine, vars, Environment.NewLine, head);
            var    query = new Query(_settings, server.Name, database.Name, sql);

            return(query);
        }
Exemplo n.º 12
0
        public Sql8rServer GetServer()
        {
            var s = new Sql8rServer(_settings);


            Sql8rDatabase db = new Sql8rDatabase("MYDB.FDB", 0);
            Sql8rTable    t  = new Sql8rTable("table1", "", false, 0);

            db.Tables.Add(t);
            s.Databases.Add(db);

            return(s);
        }
Exemplo n.º 13
0
        public Query GetTableQuery(Sql8rServer server, Sql8rDatabase database, Sql8rTable table)
        {
            var      s  = new Server(server.Name);
            Database db = s.Databases[database.Name];
            Table    v  = db.Tables[table.Name, table.Schema];

            StringCollection tableSqls = v.Script();
            string           viewSql   =
                string.Format("{0}{1}{2}{3}{4}{5}", tableSqls[0], Environment.NewLine, tableSqls[1], Environment.NewLine,
                              Environment.NewLine, tableSqls[2]);
            var query = new Query(_settings, server.Name, database.Name, viewSql);

            return(query);
        }
Exemplo n.º 14
0
        //    private ServerConnectionSettings _settings;

        #region IPerformanceManager Members

        //public ServerVersionId ManagerName
        //{
        //    get { return ServerVersionId.SqlServer_2008; }
        //}

        //       public ServerConnectionSettings Settings
        //    {
        //      set { _settings = value; }
        //}

        public new Query GetRebuildIndexQuery(Sql8rServer server, Sql8rDatabase database, Sql8rTable table, Sql8rIndex index)
        {
            string sql = ResourceReader.GetResourceSql("SQL8r.Logic.SqlServer.Queries.UI.RebuildIndex.sql");

            string head = string.Format(sql, database.Name, index.Name, table.Schema, table.Name);

            if (server.Edition == ServerEditions.EnterpriseEdition)
            {
                head += " WITH ONLINE = ON";
            }

            var query = new Query(Settings, server.Name, database.Name, head);

            return(query);
        }
Exemplo n.º 15
0
        public Query GetViewContent(Sql8rServer server, Sql8rDatabase database, Sql8rView view)
        {
            string sql = ResourceReader.GetResourceSql("SQL8r.Logic.SqlServer.Queries.UI.OpenView.sql");

            string dbSQL = string.Format(sql, database.Name, view.Schema, view.Name);

            var sdaDatabases = new SqlDataAdapter(dbSQL, ConnectionString);

            var dsDatabases = new DataTable("ViewContent");

            sdaDatabases.Fill(dsDatabases);

            var query = new Query(_settings, server.Name, database.Name, dbSQL, dsDatabases);

            return(query);
        }
Exemplo n.º 16
0
        //public MySqlDatabaseHandler()
        //{
        //}
        //public MySqlDatabaseHandler(ServerConnectionSettings si)
        //{
        //    _settings = si;
        //}

        #region IDatabaseManager Members

        public Query GetTableContent(Sql8rServer server, Sql8rDatabase database, Sql8rTable table, bool editable)
        {
            string sql = ResourceReader.GetResourceSql("SQL8r.Logic.MySQL.Queries.UI.OpenTable.sql");

            string dbConn = ConnectionString;
            string dbSQL  = string.Format(sql, database.Name, table.Name);

            var mdaDatabases = new MySqlDataAdapter(dbSQL, dbConn);

            var dsDatabases = new DataTable("TableContent");

            mdaDatabases.Fill(dsDatabases);

            var q = new Query(_settings, server.Name, database.Name, dbSQL, dsDatabases);

            return(q);
        }
Exemplo n.º 17
0
        public Query GetTableContent(Sql8rServer server, Sql8rDatabase database, Sql8rTable table, bool editable)
        {
            string dbConn = ConnectionString;
            string dbSQL  = string.Format("SELECT * FROM [{0}]", table.Name);


            var sdaDatabases = new OdbcDataAdapter(dbSQL, dbConn);

            var dsDatabases = new DataTable("TableContent");

            sdaDatabases.Fill(dsDatabases);

            var query = new Query(_settings, server.Name, database.Name, dbSQL, dsDatabases);

            return(query);
            //return dsDatabases;
        }
Exemplo n.º 18
0
        public Query GetViewQuery(Sql8rServer server, Sql8rDatabase database, Sql8rView view)
        {
            string sql = ResourceReader.GetResourceSql("SQL8r.Logic.SqlServer.Queries.UI.EditView.sql");

            string dbSQL = string.Format(sql, database.Name, view.ObjectId);

            var dtTables  = new DataTable("ViewQuery");
            var sdaTables = new SqlDataAdapter(dbSQL, ConnectionString);

            sdaTables.Fill(dtTables);

            DataRow drDatabase = dtTables.Rows[0];

            string def   = drDatabase["definition"].ToString();
            var    query = new Query(_settings, server.Name, database.Name, def);

            return(query);
        }
Exemplo n.º 19
0
        private void search()
        {
            string searchArea           = _view.cboSearchAreaType.Text;
            string searchCriteria       = _view.txtSearchArea.Text;
            bool   caseSensitive        = _view.chkCaseSensitive.Checked;
            bool   exactMatch           = _view.chkExactMatch.Checked;
            bool   includeSystemObjects = _view.chkIncludeSystemObjects.Checked;

            ServerNode   sn  = MainPresenter.Instance.GetServerNode();
            DatabaseNode dbn = MainPresenter.Instance.GetDatabaseNode();


            if (sn != null)
            {
                Sql8rServer   s  = sn.ServerObject;
                Sql8rDatabase db = null;
                if (dbn != null)
                {
                    db = dbn.DatabaseObject;
                }

                var            factory = SearchManagerFactory.Instance;
                ISearchManager man     = factory.GetDomainSearchManager();

                _view.grdResults.DataSource = null;
                if (searchArea == SearchAreas.Table)
                {
                    _view.grdResults.DataSource = man.SearchAllTables(s, db, searchCriteria, exactMatch, caseSensitive, includeSystemObjects);
                }
                else if (searchArea == SearchAreas.View)
                {
                    _view.grdResults.DataSource = man.SearchAllViews(s, db, searchCriteria, exactMatch, caseSensitive, includeSystemObjects);
                }

                if (_view.grdResults.DisplayLayout.Bands.Count > 0)
                {
                    autoSizeAllColumns(_view.grdResults.DisplayLayout.Bands[0]);
                }
            }
            else
            {
                MainPresenter.Instance.SetError("No active connection");
            }
        }
Exemplo n.º 20
0
        public Query GetTableQuery(Sql8rServer server, Sql8rDatabase database, Sql8rTable table)
        {
            string sql = ResourceReader.GetResourceSql("SQL8r.Logic.MySQL.Queries.UI.EditTable.sql");

            string dbConn = ConnectionString;
            string dbSQL  = string.Format(sql, database.Name, table.Name);

            var dtTables  = new DataTable("ViewTable");
            var mdaTables = new MySqlDataAdapter(dbSQL, dbConn);

            mdaTables.Fill(dtTables);

            DataRow drDatabase = dtTables.Rows[0];

            string def = drDatabase["Create Table"].ToString();
            var    q   = new Query(_settings, server.Name, database.Name, def);

            return(q);
        }
Exemplo n.º 21
0
        public Query GetTableContent(Sql8rServer server, Sql8rDatabase database, Sql8rTable table, bool editable)
        {
            //	const string inventoryDbName = @"C:\Users\niklas\Desktop\inventory.db";
            //	const string inventoryDbName = @"C:\Users\niklas\Desktop\mydb.fdb";

            //	string connectionString = "ServerType=1;User=SYSDBA;Password=masterkey;Dialect=3;Database=";

            //	FbDataAdapter da = new FbDataAdapter("SELECT * FROM table1", connectionString + this.textBox1.Text);

            string sql   = "SELECT * FROM {0};";
            string dbSQL = string.Format(sql, "table1");

            string dbConn = ConnectionString;

            dbConn = @"ServerType=1;User=SYSDBA;Password=masterkey;Dialect=3;Database=MYDB.FDB";
            FbConnection conn = new FbConnection(dbConn);


            conn.Open();
            //            conn.ChangeDatabase(database.Name);
            var cmd = new FbCommand(dbSQL, conn);

            var sdaDatabases = new FbDataAdapter(cmd);

            if (editable)
            {
                var scb = new FbCommandBuilder(sdaDatabases);
                sdaDatabases.UpdateCommand = scb.GetUpdateCommand();
                sdaDatabases.InsertCommand = scb.GetInsertCommand();
                sdaDatabases.DeleteCommand = scb.GetDeleteCommand();
            }


            var dsDatabases = new DataTable("TableContent");

            sdaDatabases.Fill(dsDatabases);

            var query = new Query(_settings, server.Name, database.Name, dbSQL, dsDatabases);

            query.Adapter = sdaDatabases;
            return(query);
        }
Exemplo n.º 22
0
        //public Query GetAddIndexQuery(Sql8rServer server, Sql8rDatabase database, Sql8rTable table)
        //{
        //    string sql = string.Format(sqlAddIndex, database.Name, table.GetFullObjectName());
        //    var query = new Query(_settings, server.Name, database.Name, sql);
        //    return query;

        //}

        public Sql8rServer GetServer()
        {
            const bool parallellize1 = true;

            log.Debug("Enter GetServer");

            var s = new Sql8rServer(_settings);

            setServerInfo(ref s, ConnectionString);
            var sdaDatabases = new SqlDataAdapter(sqlDatabases, ConnectionString);

            var dtDatabases = new DataTable("Databases");

            sdaDatabases.Fill(dtDatabases);

            log.Debug("Got Databases");

            if (parallellize1)
            {
                var arDatabases = new DataRow[dtDatabases.Rows.Count];
                dtDatabases.Rows.CopyTo(arDatabases, 0);

                Parallel.ForEach(arDatabases, drDatabase =>
                {
                    Sql8rDatabase db = createDb(ConnectionString, drDatabase);
                    s.Databases.Add(db);
                });
            }
            else
            {
                foreach (DataRow drDatabase in dtDatabases.Rows)
                {
                    Sql8rDatabase db = createDb(ConnectionString, drDatabase);
                    s.Databases.Add(db);
                }
            }

            log.Debug("Exit GetServer");

            return(s);
        }
Exemplo n.º 23
0
        public Query GetProcedureQuery(Sql8rServer server, Sql8rDatabase database, Sql8rProcedure procedure)
        {
            string sqlProcedureHeader = string.Empty;
            string sqlProcedureBody   = string.Empty;

            var myConnection = new MySqlConnection();

            myConnection.ConnectionString = String.Format(
                "{0};database={1}",
                ConnectionString,
                database.Name);
            MySqlDataReader myReader = null;

            string sql = ResourceReader.GetResourceSql("SQL8r.Logic.MySQL.Queries.UI.EditProcedure.sql");

            string dbSQL = string.Format(sql, procedure.Name);

            try
            {
                myConnection.Open();
                var myCommand = new MySqlCommand();
                myCommand.CommandText = dbSQL;
                myCommand.CommandType = CommandType.Text;
                myCommand.Connection  = myConnection;
                myReader = myCommand.ExecuteReader();
                if (myReader.Read())
                {
                    sqlProcedureBody = myReader.GetString(2);
                }
            }
            finally
            {
                myReader.Close();
                myConnection.Close();
            }

            string viewSql = string.Format("{0}{1}{2}", sqlProcedureHeader, Environment.NewLine, sqlProcedureBody);
            var    q       = new Query(_settings, server.Name, database.Name, viewSql);

            return(q);
        }
Exemplo n.º 24
0
        public Query GetProcedureQuery(Sql8rServer server, Sql8rDatabase database, Sql8rProcedure procedure)
        {
            string sql = ResourceReader.GetResourceSql("SQL8r.Logic.SqlServer.Queries.UI.EditProcedure.sql");

            string dbSQL = string.Format(sql, database.Name, procedure.ObjectId);

            var dtTables = new DataTable("Tables")
            {
                Locale = CultureInfo.InvariantCulture
            };
            var sdaTables = new SqlDataAdapter(dbSQL, ConnectionString);

            sdaTables.Fill(dtTables);

            DataRow drDatabase = dtTables.Rows[0];

            string def   = drDatabase["definition"].ToString();
            var    query = new Query(_settings, server.Name, database.Name, def);

            return(query);
        }
Exemplo n.º 25
0
        public void GetServerOtherStuff(Sql8rDatabase db)
        {
            string aSQL          = string.Format(sqlAssemblies, db.Name);
            var    dsAssemblies  = new DataSet("Assemblies");
            var    sdaAssemblies = new SqlDataAdapter(aSQL, ConnectionString);

            sdaAssemblies.Fill(dsAssemblies);

            db.Assemblies.Clear();
            foreach (DataRow drAssembly in dsAssemblies.Tables[0].Rows)
            {
                Sql8rAssembly a = addAssembly(drAssembly);

                DataRow[] types = dsAssemblies.Tables[1].Select(string.Format("assemblyId={0}", a.ObjectId));
                foreach (DataRow drType in types)
                {
                    Sql8rAssemblyType type = addAssembyType(drType);
                    a.Types.Add(type.Name, type);
                }

                db.Assemblies.Add(a.Name, a);
            }
        }
Exemplo n.º 26
0
        private IList <SearchHit> checkForHit(Sql8rServer s, Sql8rDatabase db, bool isSystemObject, string objectType, IColumnedObject o, string criteria, bool exactMatch, bool caseSensitive)
        {
            IList <SearchHit> hits  = new List <SearchHit>();
            StringComparison  cases = StringComparison.OrdinalIgnoreCase;

            if (caseSensitive)
            {
                cases = StringComparison.Ordinal;
            }


            foreach (Sql8rColumn c in o.Columns.Values)
            {
                bool IsMatch = false;
                if (exactMatch)
                {
                    if (c.Name.Equals(criteria, cases))
                    {
                        IsMatch = true;
                    }
                }
                else
                {
                    if (c.Name.IndexOf(criteria, cases) >= 0)
                    {
                        IsMatch = true;
                    }
                }

                if (IsMatch)
                {
                    var hit = new SearchHit(s.Name, db.Name, isSystemObject, objectType, o.Schema, o.Name, c.Name);
                    hits.Add(hit);
                }
            }
            return(hits);
        }
Exemplo n.º 27
0
 public void ShowObject(Sql8rDatabase db)
 {
     _view.pgGeneric.SelectedObject = db;
 }
Exemplo n.º 28
0
        public Sql8rServer GetServer()
        {
            var myConnection = new OracleConnection();

            myConnection.ConnectionString = @"USER ID=hr;PASSWORD=hr;DATA SOURCE=//localhost/xe";
            //_settings.GetConnectionString();

            var s = new Sql8rServer(_settings);

            OracleDataReader myReader = null;

            var db = new Sql8rDatabase("OracleTest", 0);

            try
            {
                myConnection.Open();

                var myCommand = new OracleCommand();
                myCommand.CommandText = "SELECT table_name, owner FROM all_tables";
                myCommand.CommandType = CommandType.Text;
                myCommand.Connection  = myConnection;
                myReader = myCommand.ExecuteReader();

                while (myReader.Read())
                {
                    var t = new Sql8rTable(myReader.GetString(0), "",
                                           myReader.GetString(1) == "SYSTEM" || myReader.GetString(1) == "SYS", 0);
                    db.Tables.Add(t);

                    var myColumnConnection = new OracleConnection();
                    //myColumnConnection.ConnectionString = _settings.GetConnectionString();
                    myColumnConnection.ConnectionString = @"USER ID=hr;PASSWORD=hr;DATA SOURCE=//localhost/xe";

                    OracleDataReader myColumnReader = null;

                    try
                    {
                        myColumnConnection.Open();

                        var myColumnCommand = new OracleCommand();
                        myColumnCommand.CommandText = string.Format(CultureInfo.InvariantCulture,
                                                                    "SELECT column_name FROM user_tab_cols WHERE table_name = '{0}'",
                                                                    t.Name);

                        myColumnCommand.CommandType = CommandType.Text;
                        myColumnCommand.Connection  = myColumnConnection;
                        myColumnReader = myColumnCommand.ExecuteReader();
                        while (myColumnReader.Read())
                        {
                            var c = new Sql8rColumn(myColumnReader.GetString(0), false, "", 0, 0);
                            t.Columns.Add(c.ObjectId, c);
                        }
                    }
                    finally
                    {
                        myColumnReader.Close();
                        myColumnConnection.Close();
                    }
                }
                myReader.Close();

                myCommand.CommandText = "SELECT view_name, owner FROM all_views";
                myCommand.CommandType = CommandType.Text;
                myCommand.Connection  = myConnection;
                myReader = myCommand.ExecuteReader();
                while (myReader.Read())
                {
                    var v = new Sql8rView(myReader.GetString(0), "",
                                          myReader.GetString(1) == "SYSTEM" || myReader.GetString(1) == "SYS", 0);
                    db.Views.Add(v);
                }
                myReader.Close();

                myCommand.CommandText = "SELECT UNIQUE(object_name) FROM all_procedures";
                myCommand.CommandType = CommandType.Text;
                myCommand.Connection  = myConnection;
                myReader = myCommand.ExecuteReader();
                while (myReader.Read())
                {
                    var sp = new Sql8rProcedure(myReader.GetString(0), "", false, 0);
                    db.Procedures.Add(sp.Name, sp);
                }
                myReader.Close();

                s.Databases.Add(db);
            }
            finally
            {
                myConnection.Close();
            }
            return(s);
        }
Exemplo n.º 29
0
 public Query GetAddIndexQuery(Sql8rServer server, Sql8rDatabase database, Sql8rTable table)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 30
0
 public Query GetAlterColumnQuery(Sql8rServer server, Sql8rDatabase database, Sql8rTable table, Sql8rColumn column)
 {
     throw new NotImplementedException();
 }