示例#1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="T:frmLogin"/> class.
        /// </summary>
        /// <param name="DatabaseType">Type of the database.</param>
        public frmLogin(DatabaseTypes DatabaseType)
        {
            InitializeComponent();
            oDatabaseType = DatabaseType;

            //Only display check box if type is Microsoft Sql Server
            if (oDatabaseType == DatabaseTypes.SqlServer)
            {
                optWindowsAuth.Visible = true;
                txtPort.Text = "";
            }
            else
            {
                optWindowsAuth.Visible = false;
                if (txtPort.Text == "")
                    txtPort.Text = "3306";
            }

            if (optWindowsAuth.Checked == true)
            {
                txtUsername.Enabled = false;
                txtPassword.Enabled = false;
            }
            else
            {
                txtUsername.Enabled = true;
                txtPassword.Enabled = true;
            }
        }
示例#2
0
 /// <summary>
 /// Constructor...
 /// </summary>
 public DatabaseConfig(string serverIp, string schema, string username, string password, DatabaseTypes dbType=DatabaseTypes.MySQL)
 {
     _serverIp = serverIp;
     _schema = schema;
     _username = username;
     _password = password;
     DatabaseType = dbType;
 }
 public ConnectionStringHelper(string serverName, string databaseName, string userName, string password, bool useIntegratedSecurity, bool useFilename, string filename, DatabaseTypes currentDbType)
 {
     ServerName = serverName;
     DatabaseName = databaseName;
     UserName = userName;
     Password = password;
     UseIntegratedSecurity = useIntegratedSecurity;
     UseFileName = useFilename;
     FileName = filename;
     CurrentDbType = currentDbType;
 }
示例#4
0
        //, Model.View.ViewPrefixes)
        public View(DatabaseTypes dalAssemblyName, ConnectionStringHelper connectionString)
            : base(dalAssemblyName, connectionString)
        {
            IView dal = DALFactory.DataAccess.CreateView(dalAssemblyName, ConnectionString);

            Model.View[] views = dal.GetViews();
            //InitiateAlias(views);
            InitialCreateFilters(views);

            _scriptObjects = new List<Model.View>(views);
        }
示例#5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="T:SqlLogin"/> class.
        /// </summary>
        /// <param name="DatabaseType">Type of the database.</param>
        /// <param name="Filename">The filename.</param>
        public MySqlLogin(DatabaseTypes DatabaseType, string Filename)
        {
            oDatabaseType = DatabaseType;

            sUserfile = Filename;

            sUsername = "";
            sHostname = "";
            sDatabase = "";
            sPassword = "";
            sPort = "3306";                 // TCP 3306 is MySQL Server Default Port
        }
示例#6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="T:SqlLogin"/> class.
        /// </summary>
        public MySqlLogin()
        {
            oDatabaseType = DatabaseTypes.MySql;

            sUsername = "";
            sHostname = "";
            sDatabase = "";
            sPassword = "";
            sPort = "3306";                 // TCP 3306 is MySQL Server Default Port

            sUserfile = "";
        }
示例#7
0
        public void AddDatabase(string name, DatabaseTypes databaseType, ConnectionStringHelper connectionString, string[] tablePrefixes, string[] viewPrefixes, string[] storedProcedurePredixes)
        {
            Model.Table.TablePrefixes = new List<string>(tablePrefixes);
            Model.View.ViewPrefixes = new List<string>(viewPrefixes);
            Model.StoredProcedure.StoredProcedurePrefixes = new List<string>(storedProcedurePredixes);

            Table bllTable = new Table(databaseType, connectionString);
            View bllView = new View(databaseType, connectionString);
            StoredProcedure bllStoredProcedure = new StoredProcedure(databaseType, connectionString);

            Model.Database database = new Model.Database(name, connectionString, databaseType, bllTable.Tables, bllView.Views, bllStoredProcedure.StoredProcedures);
            AddDatabase(database);
        }
示例#8
0
 public static IDAL.IHelper CreateHelper(DatabaseTypes dalAssemblyName)
 {
     switch (dalAssemblyName)
     {
         case DatabaseTypes.SQLServer2000:
             return new SQLServerDAL_2005.Helper();
         case DatabaseTypes.SQLServer2005:
             return new SQLServerDAL_2005.Helper();
         case DatabaseTypes.SQLServerExpress:
             return new SQLServerDAL_Express.Helper();
         default:
             throw new NotImplementedException("Not handled yet: " + dalAssemblyName);
     }
 }
示例#9
0
 public static IDAL.IView CreateView(DatabaseTypes dalAssemblyName, BLL.ConnectionStringHelper connectionString)
 {
     switch (dalAssemblyName)
     {
         case DatabaseTypes.SQLServer2000:
             return new SQLServerDAL_2005.View(connectionString);
         case DatabaseTypes.SQLServer2005:
             return new SQLServerDAL_2005.View(connectionString);
         case DatabaseTypes.SQLServerExpress:
             return new SQLServerDAL_Express.View(connectionString);
         default:
             throw new NotImplementedException("Not handled yet: " + dalAssemblyName);
     }
 }
示例#10
0
 public static void InitializeConnections(DatabaseTypes db)
 {
     if (db == DatabaseTypes.Sql)
     {
         // TODO - Set up the SQL Connector properly.
         SqlConnector sql = new SqlConnector();
         Connection = sql;
     }
     else if (db == DatabaseTypes.TextFile)
     {
         // TODO - Set up the Text connector properly.
         TextConnector text = new TextConnector();
         Connection = text;
     }
 }
        public DbConnection CreateConnection(string nameOrConnectionString, DatabaseTypes dbTypes)
        {
            var _dbConnection = default(DbConnection);

            if (InvalidUserOrPassConns.ContainsKey(nameOrConnectionString))
            {
                throw (Exception)InvalidUserOrPassConns[nameOrConnectionString];
            }

            try
            {
                var profile = new Profile
                {
                    ConnectionString = nameOrConnectionString,
                    DatabaseType     = dbTypes
                };

                //Creates DbConnection using the dbcontext type name
                _dbConnection = FrameworkAlcoaVault.GetConnectionByProfile(profile);

                //Validates and authorizes machines for specified database instances
                FrameworkAlcoaInstance.ValidateInstanceAuthorization(_dbConnection.DataSource);

                //Test connection before use
                _dbConnection.Open();
                _dbConnection.Close();
            }
            catch (OracleException ex)
            {
                //Only adds to invalid dictionary if error is for Invalid User or Password
                if (ex.ErrorCode == 1017)
                {
                    InvalidUserOrPassConns[nameOrConnectionString] = ex;
                }

                if (_dbConnection.State != ConnectionState.Closed)
                {
                    _dbConnection.Close();
                }

                _dbConnection.Dispose();
                _dbConnection = null;

                throw ex;
            }

            return(_dbConnection);
        }
示例#12
0
        /// <summary>
        /// 获取标准SQL字符串
        /// </summary>
        /// <param name="tp"></param>
        /// <param name="multiTable"></param>
        /// <returns></returns>
        public string ToSqlString(DatabaseTypes tp, bool multiTable = false)
        {
            string res = "INSERT INTO ";

            res += _table.ToSqlString(tp);

            string cols = "";
            string vals = "";

            foreach (var key in _row.Keys)
            {
                if (cols != "")
                {
                    cols += ",";
                }
                if (vals != "")
                {
                    vals += ",";
                }
                using (SqlUnits.TableField field = new SqlUnits.TableField(_table, key)) {
                    cols += field.ToSqlString(tp);
                }
                switch (tp)
                {
                case DatabaseTypes.MySQL:
                    vals += $"'{_row[key].Replace("'", "\'")}'";
                    break;

                //return $"'{_value.Replace("'", "\'")}'";
                case DatabaseTypes.Microsoft_Office_Access:
                case DatabaseTypes.Microsoft_Office_Access_v12:
                case DatabaseTypes.Microsoft_SQL_Server:
                case DatabaseTypes.SQLite:
                case DatabaseTypes.SQLite_3:
                case DatabaseTypes.PostgreSQL:
                    vals += $"'{_row[key].Replace("'", "''")}'";
                    break;

                //return $"'{_value.Replace("'", "''")}'";
                default:
                    throw new Exception($"尚未支持数据库 {tp.ToString()} 中的字符串转义。");
                }
            }

            res += $"({cols}) VALUES ({vals})";

            return(res);
        }
        public virtual void Init()
        {
            _databaseFilePath = Path.GetTempFileName();
            _sessionFactory   = DataUtility.CreateSessionFactory(_databaseFilePath, DatabaseTypes.ToArray());
            _session          = _sessionFactory.OpenSession();
            _clock            = new StubClock();

            var builder = new ContainerBuilder();

            //builder.RegisterModule(new ImplicitCollectionSupportModule());
            builder.RegisterInstance(new StubLocator(_session)).As <ISessionLocator>();
            builder.RegisterInstance(_clock).As <IClock>();
            builder.RegisterGeneric(typeof(Repository <>)).As(typeof(IRepository <>));
            Register(builder);
            _container = builder.Build();
        }
示例#14
0
文件: GXTypes.cs 项目: pngwei/TEST
 public UTDatabaseInfo(UTDatabaseInfo src)
 {
     this.dbType                = src.dbType;
     this.code                  = src.code;
     this.connectionChecked     = src.connectionChecked;
     this.databaseCatalog       = src.databaseCatalog;
     this.dbEnv                 = src.dbEnv;
     this.envDesc               = src.envDesc;
     this.exceptionMessage      = src.exceptionMessage;
     this.databaseInstanceName  = src.databaseInstanceName;
     this.trustedConnection     = src.trustedConnection;
     this.user                  = src.user;
     this.userPassword          = src.userPassword;
     this.dotNetProviderName    = src.dotNetProviderName;
     this.DataSourceDescription = src.DataSourceDescription;
 }
示例#15
0
        /// <summary>
        /// Khởi tạo tầng nghiệp vụ
        /// (Hàm này phải được gọi trước khi sử dụng các chức năng khác trong lớp)
        /// </summary>
        /// <param name="dbType"></param>
        /// <param name="connectionString"></param>
        public static void Init(DatabaseTypes dbType, string connectionString)
        {
            switch (dbType)
            {
            case DatabaseTypes.SQLServer:
                EmployeeDB = new LiteCommerce.DataLayers.SQLServer.EmployeeDAL(connectionString);
                break;

            case DatabaseTypes.FakeDB:

                break;

            default:
                throw new Exception("Database Type is not supported");
            }
        }
示例#16
0
        /// <summary>
        /// Get instance of <see cref="T"/> using connection string
        /// </summary>
        /// <param name="dbType">The type of the database (SQLite, SQLServer, ...)</param>
        /// <param name="connectionString">The connection string</param>
        /// <returns>Instance of <see cref="T"/></returns>
        public T Get <T>(DatabaseTypes dbType, string connectionString)
        {
            RepositoryCreator repoCreator;

            if (!_repositoryCreators.TryGetValue(typeof(T), out repoCreator))
            {
                throw new Exception("Interface not registered.");
            }

            if (repoCreator != null && repoCreator.CreatorByConnectionString != null)
            {
                return((T)repoCreator.CreatorByConnectionString(dbType, connectionString));
            }

            return(default(T));
        }
示例#17
0
        public static void InitializeConnections(DatabaseTypes db)
        {
            if (db == DatabaseTypes.Sql)
            {
                //  Set up sql connecter properly
                var sql = new SqlConnector();
                Connections = sql;
            }

            if (db == DatabaseTypes.TextFile)
            {
                //  Create the Text Connections
                var text = new TextConnector();
                Connections = text;
            }
        }
示例#18
0
        private static RequestDelegate GetHandler<T, TE>(
            Dictionary<string,List<AuthorizeAttribute>> restrictions,
            Dictionary<Type, EntityKeyDescribtion> entityKeys,
            DatabaseTypes dbType,
            string connString,
            InteractingType interactingType,
            bool allowAnonimus,
            string authentificationPath,
            string accessDeniedPath,
            Dictionary<string,RequestParamName> _requestParams,
            JsonSerializerOptions jsonSerializerOptions = null,
            Func<T> customDbContextFactory = null             ) where T : DbContext, IDisposable
                                                                where TE : class
        {
            return async (context) =>
            {
                bool authResult = Authorization<TE>(context, HttpMethod.Get, restrictions, allowAnonimus,authentificationPath,accessDeniedPath);
                if (!authResult)
                {
                    return;
                }
                var e = entityKeys;
                var QueryParams = RequestParams.RetriveQueryParam(context.Request.Query, _requestParams);
                IEnumerable<TE> queryResult;

                using (T dbcontext = CreateContext<T>(connString, dbType, customDbContextFactory))
                {
                    queryResult = GetDBQueryResult<T, TE>(dbcontext, QueryParams);
                }
                if (interactingType == InteractingType.JSON)
                {
                    byte[] jsonUtf8Bytes;
                    jsonUtf8Bytes = JsonSerializer.SerializeToUtf8Bytes(queryResult, jsonSerializerOptions);
                    await context.Response.WriteAsync(System.Text.Encoding.UTF8.GetString(jsonUtf8Bytes));
                }
                else if (interactingType == InteractingType.XML)
                {
                    XmlRootAttribute a = new XmlRootAttribute("result");
                    // XmlSerializer does not support IEnumerable<T>
                    XmlSerializer serializer = new XmlSerializer(typeof(List<TE>),a);
                    StringWriter textWriter = new StringWriter();
                    serializer.Serialize(textWriter,queryResult.ToList());
                    await context.Response.WriteAsync(textWriter.ToString());
                    await textWriter.DisposeAsync();
                }
            };
        }
示例#19
0
        public Database GetSchema(string connectionString, DatabaseTypes type)
        {
            Database database = new Database();

            database.ConnString = connectionString;
            database.Type       = type;

            //获取数据库结构
            DbHelper dbHelper = DbHelper.Create("SqlServer");

            dbHelper.ConnectionString = database.ConnString;

            string       sqlTable = GetSql(database.Type, SchemaHelper.SchemaType.Table);
            DataSet      ds       = dbHelper.ExecuteDataset(CommandType.Text, sqlTable, null);
            List <Table> tables   = GetSQLTableList(ds);


            //todo
            //var db = DataPoco.GetPoco(connectionString, type);
            //var dd = db.Query<FieldInfo>(sqlTable);

            //foreach (var item in dd)
            //{
            //    var SDSDS = item.DefaultValue;
            //}



            foreach (Table table in tables)
            {
                database.AddTable(table);
            }

            ds = dbHelper.ExecuteDataset(CommandType.Text,
                                         GetSql(database.Type, SchemaHelper.SchemaType.View), null);
            List <Table> views = GetSQLTableList(ds);

            foreach (Table view in views)
            {
                database.AddView(view);
            }

            ds = dbHelper.ExecuteDataset(CommandType.Text, SqlForGetStoreProcedures, null);
            database.StoreProcedures = GetSQLStoreProcedureList(ds);

            return(database);
        }
示例#20
0
        public static IDAL.IHelper CreateHelper(DatabaseTypes dalAssemblyName)
        {
            switch (dalAssemblyName)
            {
            case DatabaseTypes.SQLServer2000:
                return(new SQLServerDAL_2005.Helper());

            case DatabaseTypes.SQLServer2005:
                return(new SQLServerDAL_2005.Helper());

            case DatabaseTypes.SQLServerExpress:
                return(new SQLServerDAL_Express.Helper());

            default:
                throw new NotImplementedException("Not handled yet: " + dalAssemblyName);
            }
        }
示例#21
0
        public static IDAL.ITable CreateTable(DatabaseTypes dalAssemblyName, BLL.ConnectionStringHelper connectionString)
        {
            switch (dalAssemblyName)
            {
            case DatabaseTypes.SQLServer2000:
                return(new SQLServerDAL_2005.Table(connectionString));

            case DatabaseTypes.SQLServer2005:
                return(new SQLServerDAL_2005.Table(connectionString));

            case DatabaseTypes.SQLServerExpress:
                return(new SQLServerDAL_Express.Table(connectionString));

            default:
                throw new NotImplementedException("Not handled yet: " + dalAssemblyName);
            }
        }
示例#22
0
        public Table(DatabaseTypes dalAssemblyName, ConnectionStringHelper connectionString)
            : base(dalAssemblyName, connectionString)//, Model.Table.TablePrefixes)
        {
            ITable dal = DALFactory.DataAccess.CreateTable(dalAssemblyName, ConnectionString);

            Model.Table[] tables = dal.GetTables();
            //InitiateAlias(tables);
            InitialUpdateIndexes(tables);
            InitialUpdateKeys(tables);
            InitialCreateFilters(tables);
            InitialUpdateRelationships(tables);
            // GFH: I don't think that we should automatically add MapColumns, because we don't know what makes sense in the user's
            // schema. Users get very confused as to why Mapped columns suddenly appear - causes more confusion than anything else.
            //InitialUpdateMapColumns(tables);

            _scriptObjects = new List <Model.Table>(tables);
        }
示例#23
0
        //, Model.Table.TablePrefixes)
        public Table(DatabaseTypes dalAssemblyName, ConnectionStringHelper connectionString)
            : base(dalAssemblyName, connectionString)
        {
            ITable dal = DALFactory.DataAccess.CreateTable(dalAssemblyName, ConnectionString);

            Model.Table[] tables = dal.GetTables();
            //InitiateAlias(tables);
            InitialUpdateIndexes(tables);
            InitialUpdateKeys(tables);
            InitialCreateFilters(tables);
            InitialUpdateRelationships(tables);
            // GFH: I don't think that we should automatically add MapColumns, because we don't know what makes sense in the user's
            // schema. Users get very confused as to why Mapped columns suddenly appear - causes more confusion than anything else.
            //InitialUpdateMapColumns(tables);

            _scriptObjects = new List<Model.Table>(tables);
        }
示例#24
0
 /// <summary>
 /// Khởi tạo tính năng tác nghiệp (Hàm này phải được gọi nếu muốn sử dụng các tính năng của lớp)
 /// </summary>
 /// <param name="dbType"></param>
 /// <param name="connectionString"></param>
 public static void Init(DatabaseTypes dbType, string connectionString)
 {
     switch (dbType)
     {
         case DatabaseTypes.SQLServer:
             CountryDB = new DataLayers.SQLServer.CountryDAL(connectionString);
             CityDB = new DataLayers.SQLServer.CityDAL(connectionString);
             SupplierDB = new DataLayers.SQLServer.SupplierDAL(connectionString);
             CategoryDB = new DataLayers.SQLServer.CategoryDAL(connectionString);
             CustomerDB = new DataLayers.SQLServer.CustomerDAL(connectionString);
             EmployeeDB = new DataLayers.SQLServer.EmployeeDAL(connectionString);
             ShipperDB = new DataLayers.SQLServer.ShipperDAL(connectionString);
             break;
         default:
             throw new Exception("Database Type is not Supported");
     }
 }
        public string GetDefaultServiceName(DatabaseTypes databaseType)
        {
            return("");

            //switch (databaseType)
            //{
            //    case DatabaseTypes.MySQL:
            //        return "";
            //    case DatabaseTypes.Oracle:
            //        return 1521;
            //    case DatabaseTypes.SQLServer2000:
            //    case DatabaseTypes.SQLServer2005:
            //        return 1433;
            //    //case DatabaseTypes.PostgreSQL:
            //    //    return 5432;
            //}
        }
示例#26
0
        void ExecuteQuery(DataSource dataSource, IdpeKey connectionStringKey, string updateQuery)
        {
            //IdpeKey connectionStringKey = dataSource.Keys.GetKey(connectionStringKeyName);
            //if (connectionStringKey == null)
            //    throw new KeyNotFoundException(string.Format("The connection string '{0}' was not defined!", connectionStringKeyName));

            DatabaseTypes databaseType           = connectionStringKey.GetDatabaseType();
            string        actualConnectionString = connectionStringKey.Value;

            IDal          myDal = new DataAccessLayer(databaseType).Instance;
            IDbConnection conn  = myDal.CreateConnection(actualConnectionString);

            conn.Open();

            IDbTransaction transaction = myDal.CreateTransaction(conn);

            IDbCommand commandUpdate = myDal.CreateCommand();

            commandUpdate.Connection  = conn;
            commandUpdate.Transaction = transaction;
            commandUpdate.CommandText = new CommandParser(dataSource).Parse(updateQuery);


            try
            {
                commandUpdate.ExecuteNonQuery();
                transaction.Commit();
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                ExtensionMethods.TraceError(ex.ToString());
                throw new Exception(ex.Message, ex);
            }
            finally
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
                conn.Dispose();
                commandUpdate.Dispose();
            }
        }
示例#27
0
        /// <summary>
        /// Connection strings and database setup for the application
        /// </summary>
        /// <param name="services"></param>
        /// <param name="config"></param>
        public static void AddCustomDataStore(this IServiceCollection services, IConfiguration config)
        {
            string userConnectionString      = config.GetConnectionString("UserDbConnectionString");
            string webServerConnectionString = config.GetConnectionString("WebServerDbConnectionString");

            DatabaseTypes dbType = (DatabaseTypes)config.GetValue <int>("Options:DatabaseType");

            if (dbType == DatabaseTypes.MSSQLSERVER)
            {
                using (var client = new UserContext(new DbContextOptionsBuilder <UserContext>().UseSqlServer(userConnectionString, a => a.MigrationsAssembly("VueServer")).Options))
                {
                    client.Database.EnsureCreated();
                }

                using (var client = new WSContext(new DbContextOptionsBuilder <WSContext>().UseSqlServer(webServerConnectionString, a => a.MigrationsAssembly("VueServer")).Options))
                {
                    client.Database.Migrate();
                }

                services.AddEntityFrameworkSqlServer().AddDbContext <UserContext>
                    (options => options.UseSqlServer(userConnectionString, a => a.MigrationsAssembly("VueServer")), ServiceLifetime.Scoped);

                services.AddEntityFrameworkSqlServer().AddDbContext <WSContext>
                    (options => options.UseSqlServer(webServerConnectionString, a => a.MigrationsAssembly("VueServer")), ServiceLifetime.Scoped);
            }
            else if (dbType == DatabaseTypes.SQLITE)
            {
                using (var client = new UserContext(new DbContextOptionsBuilder <UserContext>().UseSqlite(userConnectionString, a => a.MigrationsAssembly("VueServer")).Options))
                {
                    client.Database.EnsureCreated();
                }

                using (var client = new WSContext(new DbContextOptionsBuilder <WSContext>().UseSqlite(webServerConnectionString, a => a.MigrationsAssembly("VueServer")).Options))
                {
                    client.Database.Migrate();
                }

                services.AddEntityFrameworkSqlite().AddDbContext <UserContext>
                    (options => options.UseSqlite(userConnectionString, a => a.MigrationsAssembly("VueServer")), ServiceLifetime.Scoped);

                services.AddEntityFrameworkSqlite().AddDbContext <WSContext>
                    (options => options.UseSqlite(webServerConnectionString, a => a.MigrationsAssembly("VueServer")), ServiceLifetime.Scoped);
            }
        }
示例#28
0
        private StringBuilder WriteOutputToDatabase(List <Row> row)
        {
            DatabaseTypes databaseType = ConnectionStringKey.GetDatabaseType();

            switch (databaseType)
            {
            case DatabaseTypes.SqlServer:
                return(WriteOutputToDatabaseSql(row));

            case DatabaseTypes.SqlCe:
                return(WriteOutputToDatabaseSqlCe(row));

            case DatabaseTypes.Oracle:
                return(WriteOutputToDatabaseOracle(row));

            default:
                throw new Exception(string.Format("The '{0}' type database output writer has not been implemented yet!", databaseType));
            }
        }
示例#29
0
        //, Model.StoredProcedure.StoredProcedurePrefixes)
        public StoredProcedure(DatabaseTypes dalAssemblyName, ConnectionStringHelper connectionString)
            : base(dalAssemblyName, connectionString)
        {
            IStoredProcedure dal = DALFactory.DataAccess.CreateStoredProcedure(DalAssemblyName, ConnectionString);

            Model.StoredProcedure[] storedProcedures = dal.GetStoredProcedures();
            //InitiateAlias(storedProcedures);
            //this.ErrorMessages.AddRange(dal.
            InitialCreateFilters(storedProcedures);

            foreach (Model.StoredProcedure sp in storedProcedures)
            {
                foreach (string error in sp.Errors)
                {
                    ErrorMessages.Add(error);
                }
            }
            _scriptObjects = new List<Model.StoredProcedure>(storedProcedures);
        }
        public StoredProcedure(DatabaseTypes dalAssemblyName, ConnectionStringHelper connectionString)
            : base(dalAssemblyName, connectionString)//, Model.StoredProcedure.StoredProcedurePrefixes)
        {
            IStoredProcedure dal = DALFactory.DataAccess.CreateStoredProcedure(DalAssemblyName, ConnectionString);

            Model.StoredProcedure[] storedProcedures = dal.GetStoredProcedures();
            //InitiateAlias(storedProcedures);
            //this.ErrorMessages.AddRange(dal.
            InitialCreateFilters(storedProcedures);

            foreach (Model.StoredProcedure sp in storedProcedures)
            {
                foreach (string error in sp.Errors)
                {
                    ErrorMessages.Add(error);
                }
            }
            _scriptObjects = new List <Model.StoredProcedure>(storedProcedures);
        }
示例#31
0
        /// <summary>
        /// Convert string to DatabaseTypes
        /// </summary>
        /// <param name="type">String type</param>
        /// <returns>DatabaseTypes</returns>
        private static DatabaseTypes ConvertDBType(string type)
        {
            type = type.Trim();

            DatabaseTypes dbType = DatabaseTypes.None;

            Object o = Enum.Parse(typeof(DatabaseTypes), type, true);

            if (o != null)
            {
                dbType = (DatabaseTypes)o;
            }
            else
            {
                throw new ArgumentException("Undefined type of database " + type + ".");
            }

            return(dbType);
        }
示例#32
0
        /// <summary>
        /// 取得表结构的SQL语句
        /// </summary>
        private string GetSql(DatabaseTypes type, SchemaHelper.SchemaType schemaType)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("SELECT d.name N'TableName',a.colorder N'FieldNumber',a.name N'FieldName', ");
            strSql.Append("(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '1'else '0' end) N'IsId',");
            strSql.Append("(case when (SELECT count(*) ");
            strSql.Append(" FROM sysobjects WHERE (name in (SELECT name FROM sysindexes ");
            strSql.Append(" WHERE (id = a.id) AND (indid in (SELECT indid FROM sysindexkeys");
            strSql.Append(" WHERE (id = a.id) AND (colid in (SELECT colid FROM syscolumns");
            strSql.Append(" WHERE (id = a.id) AND (name = a.name))))))) AND (xtype = 'PK'))>0 ");
            strSql.Append(" then '1' else '0' end) N'IsKey', b.name N'FieldType',a.length N'FieldSize', ");
            strSql.Append(" COLUMNPROPERTY(a.id,a.name,'PRECISION') as N'FieldLength', ");
            strSql.Append(" isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as N'DecimalDigits', ");
            strSql.Append(" (case when a.isnullable=1 then '1'else '0' end) N'AllowNull', isnull(e.text,'') N'DefaultValue', ");
            strSql.Append(" isnull(g.[value],'') AS N'FieldDescn' ");
            strSql.Append(" FROM syscolumns a left join systypes b on a.xtype=b.xusertype inner join sysobjects d  on a.id=d.id");

            switch (schemaType)
            {
            case SchemaHelper.SchemaType.View:
                strSql.Append(" and d.xtype='V'");
                break;

            case SchemaHelper.SchemaType.Table:
            default:
                strSql.Append(" and d.xtype='U'");
                break;
            }

            strSql.Append("and d.name<>'dtproperties' left join syscomments e on a.cdefault=e.id");

            if (type == DatabaseTypes.Sql2005)
            {
                strSql.Append(" left join sys.extended_properties g on a.id=g.major_id AND a.colid = g.minor_id order by object_name(a.id),a.colorder");
            }
            else
            {
                strSql.Append(" left join sysproperties g on a.id=g.id AND a.colid = g.smallid order by object_name(a.id),a.colorder ");
            }

            return(strSql.ToString());
        }
示例#33
0
        public static void Init(DatabaseTypes dbType, string connectionString, AccountTypes accountType)
        {
            switch (dbType)
            {
            case DatabaseTypes.SQLServer:
                if (accountType == AccountTypes.Employee)
                {
                    AccountDB = new DataLayers.SQLServer.EmployeeAccountDAL(connectionString);
                }
                else
                {
                    AccountDB = new DataLayers.SQLServer.CustomerAccountDAL(connectionString);
                }
                break;

            default:
                throw new Exception("Database Type is not Supported");
            }
        }
示例#34
0
        /// <summary>
        /// Gets the database schema and creats an object model.
        /// </summary>
        /// <param name="name"></param>
        /// <param name="databaseType"></param>
        /// <param name="connectionString"></param>
        /// <param name="tablePrefixes"></param>
        /// <param name="viewPrefixes"></param>
        /// <param name="storedProcedurePredixes"></param>
        /// <param name="fetchTables"></param>
        /// <param name="fetchViews"></param>
        /// <param name="fetchStroredProcedures"></param>
        /// <returns></returns>
        public static Database LoadNewDatabase(
            string name,
            DatabaseTypes databaseType,
            BLL.ConnectionStringHelper connectionString,
            List <string> tablePrefixes,
            List <string> viewPrefixes,
            List <string> storedProcedurePredixes,
            bool fetchTables,
            bool fetchViews,
            bool fetchStroredProcedures)
        {
            Utility.ResetAllConnections();

            Table.TablePrefixes = tablePrefixes ?? new List <string>();
            View.ViewPrefixes   = viewPrefixes ?? new List <string>();
            StoredProcedure.StoredProcedurePrefixes = storedProcedurePredixes ?? new List <string>();

            BLL.Table           bllTable;
            BLL.View            bllView;
            BLL.StoredProcedure bllStoredProcedure;

            Table[]           tables           = null;
            View[]            views            = null;
            StoredProcedure[] storedProcedures = null;

            if (fetchTables)
            {
                bllTable = new BLL.Table(databaseType, connectionString);
                tables   = bllTable.Tables;
            }
            if (fetchViews)
            {
                bllView = new BLL.View(databaseType, connectionString);
                views   = bllView.Views;
            }
            if (fetchStroredProcedures)
            {
                bllStoredProcedure = new BLL.StoredProcedure(databaseType, connectionString);
                storedProcedures   = bllStoredProcedure.StoredProcedures;
            }
            return(new Database(name, connectionString, databaseType, tables, views, storedProcedures));
        }
        public IDatabaseLoader DeserialiseConnectionInformation(XmlNode node, string databaseName)
        {
            if (node == null)
            {
                throw new ArgumentNullException("node");
            }

            NodeProcessor proc = new NodeProcessor(node);

            DatabaseTypes connectorType = proc.Attributes.GetEnum <DatabaseTypes>("DatabaseConnector");

            switch (connectorType)
            {
            //case DatabaseTypes.SQLServer2000:
            case DatabaseTypes.SQLServer2005:
                return(LoadSqlServer2005Connector(node));

            case DatabaseTypes.SQLServerExpress:
                return(LoadSqlServerExpressConnector(node, databaseName));

            case DatabaseTypes.SQLCE:
                return(LoadSqlCEConnector(node));

            case DatabaseTypes.MySQL:
                return(LoadMySQLConnector(node));

            case DatabaseTypes.Oracle:
                return(LoadOracleConnector(node));

            case DatabaseTypes.PostgreSQL:
                return(LoadPostgreSQLConnector(node));

            case DatabaseTypes.Firebird:
                return(LoadFirebirdConnector(node));

            case DatabaseTypes.SQLite:
                return(LoadSQLiteConnector(node));

            default:
                throw new NotImplementedException(string.Format("Have not implemented {0} in DeserialiseConnectionInformation().", connectorType));
            }
        }
示例#36
0
        public static IdpeKeyTypes GetSreType(this DatabaseTypes databaseType)
        {
            switch (databaseType)
            {
            case DatabaseTypes.SqlServer:
                return(IdpeKeyTypes.ConnectionStringSqlServer);

            case DatabaseTypes.Oracle:
                return(IdpeKeyTypes.ConnectionStringOracle);

            case DatabaseTypes.DB2iSeries:
                return(IdpeKeyTypes.ConnectionStringDB2iSeries);

            case DatabaseTypes.SqlCe:
                return(IdpeKeyTypes.ConnectionStringSqlCe);

            default:
                throw new Exception(databaseType.ToString() + " is not sretype key!");
            }
        }
示例#37
0
        private void PopulateDatabaseTypes()
        {
            comboBoxDatabaseTypes.Items.Clear();
            Array         enumValues = Enum.GetValues(typeof(DatabaseTypes));
            DatabaseTypes lastDbUsed = SettingsEngine.LastDatabaseTypeUsed;
            int           sqlIndex   = -1;

            if (lastDbUsed == DatabaseTypes.Unknown)
            {
                lastDbUsed = DatabaseTypes.SQLServer2005;
            }

            foreach (DatabaseTypes item in enumValues)
            {
                if (item == DatabaseTypes.Unknown)
                {
                    continue;
                }
                //if (item == DatabaseTypes.SQLite)
                //    // TODO: Remove this when SQLite dev is finished
                //    continue;

                var description = Slyce.Common.Utility.GetDescription(item);
                comboBoxDatabaseTypes.Items.Add(new Slyce.Common.ComboBoxItemEx <DatabaseTypes>(item, f => description));

                if (item == DatabaseTypes.SQLServer2005)
                {
                    sqlIndex = comboBoxDatabaseTypes.Items.Count - 1;
                }
                if (item == lastDbUsed)
                {
                    comboBoxDatabaseTypes.SelectedIndex = comboBoxDatabaseTypes.Items.Count - 1;
                }
            }
            if (comboBoxDatabaseTypes.SelectedIndex < 0)
            {
                comboBoxDatabaseTypes.SelectedIndex = sqlIndex;
            }

            //comboBoxDatabaseTypes.Sorted = true;
        }
示例#38
0
        public virtual void Init()
        {
            _databaseFilePath = Path.GetTempFileName();
            _sessionFactory   = DataUtility.CreateSessionFactory(_databaseFilePath, DatabaseTypes.ToArray());
            _session          = _sessionFactory.OpenSession();
            _transaction      = _session.BeginTransaction(IsolationLevel.ReadCommitted);

            _clock = new StubClock();

            var builder = new ContainerBuilder();

            //builder.RegisterModule(new ImplicitCollectionSupportModule());
            builder.RegisterInstance(new StubLocator(_session)).As <ISessionLocator>();
            builder.RegisterInstance(_clock).As <IClock>();
            builder.RegisterGeneric(typeof(Repository <>)).As(typeof(IRepository <>));
            builder.RegisterInstance(new ShellSettings {
                Name = ShellSettings.DefaultName, DataProvider = "SqlCe"
            });
            Register(builder);
            _container = builder.Build();
        }
示例#39
0
 public static ProviderBase CreateProvider(DatabaseTypes databaseType)
 {
     if (_type == null)
     {
         if (_providerTypes == null)
         {
             _providerTypes = Assembly.GetExecutingAssembly().GetTypes().Where(x => x.BaseType == typeof(ProviderBase)).ToDictionary(x => x.Name);
         }
         var typeName = string.Format("Provider.{0}.{0}Provider", databaseType.ToString());
         var types    = _providerTypes.Values.Where(x => x.FullName.EndsWith(typeName));
         if (types.Count() > 1)
         {
             throw new NotSupportedException("找到了多个包含" + typeName + "的提供者类");
         }
         _type = types.FirstOrDefault();
         if (_type == null)
         {
             throw new NotSupportedException("未找到提供者类:" + typeName);
         }
     }
     return((ProviderBase)ObjectCache <ProviderBase> .GetObjectFromCallContext(_type));
 }
示例#40
0
 public static ProviderBase CreateProvider(DatabaseTypes databaseType)
 {
     if (_type == null)
     {
         if (_providerTypes == null)
         {
             _providerTypes = Assembly.GetExecutingAssembly().GetTypes().Where(x => x.BaseType == typeof(ProviderBase)).ToDictionary(x => x.Name);
         }
         var typeName = string.Format("Provider.{0}.{0}Provider", databaseType.ToString());
         var types = _providerTypes.Values.Where(x => x.FullName.EndsWith(typeName));
         if (types.Count() > 1)
         {
             throw new NotSupportedException("找到了多个包含" + typeName + "的提供者类");
         }
         _type = types.FirstOrDefault();
         if (_type == null)
         {
             throw new NotSupportedException("未找到提供者类:" + typeName);
         }
     }
     return (ProviderBase)ObjectCache<ProviderBase>.GetObjectFromCallContext(_type);
 }
示例#41
0
        /// <summary>
        /// Initializes a new instance of the DataLayerBase class.
        /// </summary>
        /// <param name="databaseType">Data base type and create this class</param>
        /// <param name="dbConnection">Connection specific SQL server type</param>
        /// <param name="parameterPrefix">Paramether prefix specific SQL server</param>
        /// <param name="parameterNames">Parameter names</param>
        protected DataLayerBase(DatabaseTypes databaseType, IDbConnection dbConnection, string parameterPrefix, ConnectionParameterNames parameterNames)
        {
            if (databaseType == DatabaseTypes.None)
            {
                throw new ArgumentException("constructor DataLayerBase(). DatabaseType can not be 'None'!");
            }

            _dataBaseType = databaseType;

            if (dbConnection == null)
            {
                throw new ArgumentNullException("dbConnection", "Can not be Null!");
            }
            _connection = dbConnection;

            _propertyBindingFlag = BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance;

            // Create ConnectionString
            _connectionString          = new DBConnectionString(databaseType, parameterNames);
            _connectionString.Changed += new EventHandler(ConnectionString_Changed);

            _lastError = string.Empty;
            // This a default initialization
            //_reRaiseException = false;

            _keepConnection = true;

            _inNotReconnected = true;

            // Set specific Prameter prefix
            _paramPrefix = parameterPrefix;

            // Create command
            CreateCommand();
            // Set command type
            _command.CommandType = CommandType.Text;
            _defaultCommandType  = CommandType.Text;
        }
示例#42
0
        /// <summary>
        /// 获取标准SQL字符串
        /// </summary>
        /// <param name="tp"></param>
        /// <param name="multiTable"></param>
        /// <returns></returns>
        public string ToSqlString(DatabaseTypes tp, bool multiTable = false)
        {
            switch (tp)
            {
            case DatabaseTypes.Microsoft_Office_Access:
            case DatabaseTypes.Microsoft_Office_Access_v12:
                return("RND(ID)");

            case DatabaseTypes.Microsoft_SQL_Server:
                return("NEWID()");

            case DatabaseTypes.SQLite:
            case DatabaseTypes.SQLite_3:
            case DatabaseTypes.PostgreSQL:
                return("RANDOM()");

            case DatabaseTypes.MySQL:
                return("RAND()");

            default:
                throw new Exception($"尚未支持 {tp.ToString()} 类型数据库");
            }
        }
示例#43
0
        public static string[] GetDatabases(string serverName, string userName, string password, DatabaseTypes dbType, bool trustedConnection)
        {
            // SQL Server, Sybase: SELECT * FROM master..sysdatabases
            // MySQL: show databases;
            // Oracle: SELECT tablespace_name FROM dba_tablespaces
            List<string> arrDatabases = new List<string>();

            SqlConnection conn = null;
            System.Data.SqlClient.SqlDataReader dr = null;

            if (trustedConnection)
            {
                conn = new SqlConnection(string.Format("Server={0};Database=master;Trusted_Connection=True", serverName));
            }
            else
            {
                conn = new SqlConnection(string.Format("Server={0};Database=master;User ID={1};Password={2};Trusted_Connection=False", serverName, userName, password));
            }
            try
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand("SELECT * FROM master..sysdatabases", conn);
                dr = cmd.ExecuteReader();

                while (dr.Read())
                {
                    arrDatabases.Add(dr.GetString(0));
                }
            }
            finally
            {
                if (dr != null) { dr.Close(); }
                if (conn != null) { conn.Close(); }
            }

            return (string[])arrDatabases.ToArray();
        }
        private ConnectionStringHelper LoadGenericDatabaseData(XmlNode node, DatabaseTypes databaseType)
        {
            NodeProcessor proc = new NodeProcessor(node);

            var connectionHelper = new ConnectionStringHelper();

            if (string.IsNullOrEmpty(connectionHelper.ServerName))
            {
                switch (databaseType)
                {
                    case DatabaseTypes.SQLCE:
                    //case DatabaseTypes.SQLServer2000:
                    case DatabaseTypes.SQLServer2005:
                        connectionHelper.ServerName = Environment.MachineName;
                        break;
                    case DatabaseTypes.SQLServerExpress:
                        connectionHelper.ServerName = Environment.MachineName + "\\SQLEXPRESS";
                        break;
                    case DatabaseTypes.MySQL:
                        connectionHelper.ServerName = "localhost";
                        break;
                    case DatabaseTypes.Oracle:
                        connectionHelper.ServerName = "localhost";
                        break;
                    case DatabaseTypes.PostgreSQL:
                        connectionHelper.ServerName = "localhost";
                        break;
                    case DatabaseTypes.Firebird:
                        connectionHelper.ServerName = "localhost";
                        break;
                    case DatabaseTypes.SQLite:
                        connectionHelper.ServerName = Environment.MachineName;
                        break;
                    default:
                        throw new NotImplementedException("Database type not handled yet: " + databaseType.ToString());

                }
            }
            connectionHelper.CurrentDbType = databaseType;

            if (proc.Exists("ServerName"))
                connectionHelper.ServerName = proc.GetString("ServerName");

            if (proc.Exists("DatabaseName"))
            {
                connectionHelper.DatabaseName = proc.GetString("DatabaseName");
                connectionHelper.UseFileName = false;
            }
            if (proc.Exists("FileName"))
            {
                connectionHelper.FileName = proc.GetString("FileName");
                connectionHelper.UseFileName = true;
            }
            if (proc.Exists("UseIntegratedSecurity"))
                connectionHelper.UseIntegratedSecurity = proc.GetBool("UseIntegratedSecurity");

            if (proc.Exists("UserName"))
                connectionHelper.UserName = proc.GetString("UserName");

            if (proc.Exists("Password"))
            {
                string password = "";
                try
                {
                    password = proc.GetString("Password").Decrypt();
                }
                catch
                {
                    // Do nothing
                    password = "";
                }
                connectionHelper.Password = password;
            }
            if (proc.Exists("Port"))
                connectionHelper.Port = proc.GetInt("Port");

            if (proc.Exists("ServiceName"))
                connectionHelper.ServiceName = proc.GetString("ServiceName");

            if (proc.Exists("SchemaName"))
                connectionHelper.ServiceName = proc.GetString("SchemaName");

            if (proc.Exists("UseDirectConnection"))
                connectionHelper.UseDirectConnection = proc.GetBool("UseDirectConnection");
            else
                connectionHelper.UseDirectConnection = false;

            return connectionHelper;
        }
        public string GetConnectionStringSqlClient(DatabaseTypes databaseType)
        {
            switch (databaseType)
            {
                case DatabaseTypes.SQLServer2000:
                case DatabaseTypes.SQLServer2005:
                    if (UseIntegratedSecurity) { return string.Format("Server={0};Database={1};Trusted_Connection=True", ServerName, DatabaseName); }
                    return string.Format("Server={0};Database={1};User ID={2};Password={3};Trusted_Connection=False", ServerName, DatabaseName, UserName, Password);
                case DatabaseTypes.SQLServerExpress:
                    EnsureSqlExpressServiceIsRunning();

                    if (UseFileName)
                    {
                        if (!SqlExpressDbIsAlreadyAttached)
                        {
                            return string.Format(@"Server=.\SQLExpress;AttachDbFilename='{2}';Database='{1}';Trusted_Connection=Yes;User Instance=True", ServerName, DatabaseName.Replace("_Data", ""), FileName);
                        }
                        // Don't include the filename
                        return string.Format(@"Server=.\SQLExpress;Database='{1}';Trusted_Connection=Yes;User Instance=True", ServerName, DatabaseName.Replace("_Data", ""), FileName);
                    }
                    if (UseIntegratedSecurity)
                    {
                        return string.Format(@"Data Source=.\SQLEXPRESS;Initial Catalog={1};Integrated Security=True;Pooling=False", ServerName, DatabaseName.Replace("_Data", ""), FileName);
                    }
                    return string.Format(@"Server=.\SQLExpress;;Database='{1}';User ID={3};Password={4};Trusted_Connection=False;", ServerName, DatabaseName.Replace("_Data", ""), FileName, UserName, Password);
                default:
                    throw new NotImplementedException("Not coded yet.");
            }
        }
示例#46
0
 //, List<string> scriptObjectPrefixes)
 protected ScriptBLL(DatabaseTypes dalAssemblyName, ConnectionStringHelper connectionString)
 {
     DalAssemblyName = dalAssemblyName;
     ConnectionString = connectionString;
 }
示例#47
0
 public DatabaseUpdater(EntitySetting pSettings, DatabaseTypes pType)
 {
     this._setting = pSettings;
     this._type = pType;
 }
示例#48
0
        /// <summary>
        /// Initializes a new instance of the <see cref="T:SqlLogin"/> class.
        /// </summary>
        /// <param name="DatabaseType">Type of the database.</param>
        /// <param name="Hostname">The hostname.</param>
        /// <param name="Username">The username.</param>
        /// <param name="Password">The password.</param>
        /// <param name="Database">The database.</param>
        /// <param name="Port">The port.</param>
        public MySqlLogin(DatabaseTypes DatabaseType, string Hostname, string Username, string Password, string Database, string Port)
        {
            oDatabaseType = DatabaseType;

            sHostname = Hostname;
            sUsername = Username;
            sPassword = Password;
            sDatabase = Database;

            if (int.Parse(Port) > 0)
                sPort = Port;
            else
                sPort = "3306";             // TCP 3306 is MySQL Server Default Port

            sUserfile = "";

            BuildConnectionString();
        }
        private void FillFromConnectionString(string connectionString, DatabaseTypes databaseType)
        {
            var values = connectionString.Trim(' ', '"', ';').Split(';');

            foreach (var nameValuePair in values)
            {
                string nameValuePairValue = nameValuePair.Trim();

                if (string.IsNullOrEmpty(nameValuePairValue))
                    continue;

                var data = nameValuePairValue.Split('=');
                string name = data[0], value = data[1];

                switch (name.ToLower())
                {
                    case "server":
                        ServerName = value;
                        break;
                    case "data source":
                        if (databaseType == DatabaseTypes.SQLCE)
                        {
                            FileName = value;
                            UseFileName = true;

                            if (string.IsNullOrEmpty(value) || value.LastIndexOf(".") < 0)
                                DatabaseName = "";
                            else
                                DatabaseName = value.Substring(0, value.LastIndexOf(".") - 1);
                        }
                        else if (databaseType == DatabaseTypes.SQLServer2005)
                        {
                            UseFileName = false;
                            ServerName = value;
                        }
                        else if (databaseType == DatabaseTypes.MySQL)
                        {
                            UseFileName = false;
                            ServerName = value;
                        }
                        else if (databaseType == DatabaseTypes.Oracle)
                        {
                            UseFileName = false;
                            ServerName = value;
                        }
                        else if (databaseType == DatabaseTypes.SQLite)
                        {
                            FileName = value;
                        }
                        break;
                    case "initial catalog":
                        DatabaseName = value;
                        break;
                    case "database":
                        DatabaseName = value;
                        break;
                    case "integrated security":
                        UseIntegratedSecurity = value.Equals("SSPI", StringComparison.OrdinalIgnoreCase);
                        break;
                    case "trusted_connection":
                        UseIntegratedSecurity = ParseBoolean(value);
                        break;
                    case "user id":
                        UserName = value;
                        break;
                    case "password":
                        Password = value;
                        break;
                    case "user instance":
                        UseFileName = ParseBoolean(value);
                        break;
                }
            }
        }
示例#50
0
 public DBHelper(DatabaseTypes databaseType, string connectionString)
 {
     DatabaseType = databaseType;
     this._connectionString = connectionString;
 }
示例#51
0
文件: DBHelp.cs 项目: DesmondNgW/API
 public DbHelper(DatabaseTypes databaseType, string connectionString)
 {
     DatabaseType = databaseType;
     ConnectionString = connectionString;
 }
        public Project Connect(DatabaseTypes type,string userName,string password,string database,string serverName,bool winAuth)
        {
            Project project = null;

            try
            {
                project = new Project();
                project.DatabaseType = type;
                project.UserName = userName;
                project.Password = password;
                project.ServerName = serverName;
                project.IsWindowsAuthentication = winAuth;
                SetDatabaseReader(project);
                SetConnectionString(project, database);

                //System.Data.Common.DbConnection conn = null;
                //if (databaseSchemaReader is SQLServerDatabaseExtractor)
                //{
                //    conn = new System.Data.SqlClient.SqlConnection(connectionString);
                //}
                //conn.Open();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return project;
        }
示例#53
0
 public H31DBSQL(DatabaseTypes type, string connectionString)
 {
     this.databaseType = type;
     this.connectionString = connectionString;
 }
示例#54
0
        public void LoadNewDatabase(
			int index,
			string name,
			DatabaseTypes databaseType,
			ConnectionStringHelper connectionString,
			List<string> tablePrefixes,
			List<string> viewPrefixes,
			List<string> storedProcedurePredixes,
			bool fetchTables,
			bool fetchViews,
			bool fetchStroredProcedures)
        {
            Model.Database database = Model.Database.LoadNewDatabase(name, databaseType, connectionString, tablePrefixes, viewPrefixes, storedProcedurePredixes, fetchTables, fetchViews, fetchStroredProcedures);
            UpdateDatabase(database, index);
        }
 public string GetConnectionStringOleDb(DatabaseTypes databaseType)
 {
     switch (databaseType)
     {
         case DatabaseTypes.SQLServer2000:
             if (UseIntegratedSecurity) { return string.Format("Provider=sqloledb;Data Source={0};Initial Catalog={1};Integrated Security=SSPI;", ServerName, DatabaseName); }
             return string.Format("Provider=sqloledb;Data Source={0};Initial Catalog={1};User Id={2};Password={3};", ServerName, DatabaseName, UserName, Password);
         case DatabaseTypes.SQLServer2005:
             if (UseIntegratedSecurity) { return string.Format("Provider=SQLNCLI;Server={0};Database={1};Trusted_Connection=yes;", ServerName, DatabaseName); }
             return string.Format("Provider=SQLNCLI;Server={0};Database={1};UID={2};PWD={3};", ServerName, DatabaseName, UserName, Password);
         case DatabaseTypes.SQLServerExpress:
             if (FileName.Length == 0)
             {
                 throw new MissingFieldException("SQLServerExpress connectionstring requires FileName to be set.");
             }
             // Make sure the SQLEXPRESS Windows Service is running on the local machine
             EnsureSqlExpressServiceIsRunning();
             return string.Format(@"Provider=SQLNCLI;Server=.\SQLExpress;AttachDbFilename='{2}';Database={1};Trusted_Connection=Yes;", ServerName, DatabaseName.Replace("_Data", ""), FileName);
         default:
             throw new NotImplementedException("Not coded yet.");
     }
 }
示例#56
0
 public ProviderBase()
 {
     _databaseType = ConfigManager.DataBaseType;
 }
 /// <summary>
 /// Creates a new instance of the manager given a connection string
 /// </summary>
 /// <param name="dbType">The type of the database (SQLite, SQLServer, ...)</param>
 /// <param name="connectionString">The connection string</param>
 public MetadataCacheManagerSQL(DatabaseTypes dbType, string connectionString)
 {
     _db = new DbOperations(connectionString, dbType);
 }
示例#58
0
 public BuilderFactory(DatabaseTypes databaseType)
 {
     _databaseType = databaseType;
 }
示例#59
0
        public IEnumerable<string> GetServerNames(DatabaseTypes databaseType)
        {
            if (databaseType == DatabaseTypes.SQLServer2005)
                return SqlServer2005Helper.GetSqlServer2005Instances();

            if (databaseType == DatabaseTypes.MySQL)
                return MySQLHelper.GetMySQLInstances();

            if (databaseType == DatabaseTypes.Oracle)
                return OracleHelper.GetOracleInstances();

            if (databaseType == DatabaseTypes.PostgreSQL)
                return PostgreSQLHelper.GetPostgreSQLInstances();

            if (databaseType == DatabaseTypes.SQLServerExpress)
                return SqlServerExpressHelper.GetSqlServerExpressInstances();

            if (databaseType == DatabaseTypes.SQLite)
                return SQLiteHelper.GetSQLiteInstances();

            throw new NotImplementedException("This database type not handled yet in GetServerNames(): " + databaseType.ToString());

            //return new List<string>();
        }
示例#60
0
 public Helper(DatabaseTypes dalAssemblyName)
 {
     _dalAssemblyName = dalAssemblyName;
 }