Example #1
0
        public override IEnumerable <ITableSourceInfo> ListTableSources(IDatabaseInfo database, IsTableSourceToIgnore isTableSourceToIgnore)
        {
            IList <ITableSourceInfo> tables       = new List <ITableSourceInfo>();
            DB2LUWDatabaseInfo       databaseInfo = database as DB2LUWDatabaseInfo;

            if (databaseInfo == null)
            {
                return(null);
            }
            using (IDbConnection conn = DatabaseServices.TransactionService.CreateConnection()) {
                string sql = "SELECT TABNAME as TABLE_NAME "
                             + "FROM SYSCAT.TABLES  "
                             + "WHERE OWNERTYPE <> 'S' and TABSCHEMA = '" + database.Identifier + "'";

                IDbCommand cmd = DatabaseServices.ExecutionService.CreateCommand(conn, sql);
                cmd.CommandTimeout = QueryTimeout;
                using (IDataReader reader = cmd.ExecuteReader()) {
                    while (reader.Read())
                    {
                        string tableName = (string)reader["TABLE_NAME"];
                        if (!isTableSourceToIgnore(tableName) && DoesNotContainProblematicChars(tableName))
                        {
                            string qualifiedTableName = GetQualifiedIdentifier(databaseInfo.Database, tableName);
                            tables.Add(new DB2LUWTableSourceInfo(DatabaseServices, databaseInfo, tableName, qualifiedTableName));
                        }
                    }
                }
            }
            return(tables);
        }
Example #2
0
        private bool DatabaseExists(IDbConnection conn, DB2LUWDatabaseInfo databaseInfo)
        {
            string     query = "SELECT COUNT(*) FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = " + paramPrefix + "schema";
            IDbCommand cmd   = DatabaseServices.ExecutionService.CreateCommand(conn, query);

            cmd.CommandTimeout = QueryTimeout;
            DatabaseServices.ExecutionService.CreateParameter(cmd, paramPrefix + "schema", DbType.String, databaseInfo.Database);
            using (IDataReader reader = cmd.ExecuteReader()) {
                return(reader.Read());
            }
        }