Esempio n. 1
0
        public DbConnectionInfo GetConnectionInfo()
        {
            var info = new DbConnectionInfo
            {
                State = "Disconnected"
            };

            using (this)
            {
                try
                {
                    var connection = this.Database.GetDbConnection();
                    connection.Open();
                    if (connection.State == ConnectionState.Open)
                    {
                        info.State             = connection.State.ToString();
                        info.Database          = connection.Database;
                        info.DataSource        = connection.DataSource;
                        info.ServerVersion     = connection.ServerVersion;
                        info.ConnectionTimeout = connection.ConnectionTimeout;
                        connection.Close();
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }

            return(info);
        }
Esempio n. 2
0
        public ToolingFacade(
            string migrationsAssemblyName,
            string contextAssemblyName,
            string configurationTypeName,
            string workingDirectory,
            string configurationFilePath,
            string dataDirectory,
            DbConnectionInfo connectionStringInfo)
        {
            Check.NotEmpty(migrationsAssemblyName, nameof(migrationsAssemblyName));
            this._migrationsAssemblyName = migrationsAssemblyName;
            this._contextAssemblyName    = contextAssemblyName;
            this._configurationTypeName  = configurationTypeName;
            this._connectionStringInfo   = connectionStringInfo;
            AppDomainSetup info = new AppDomainSetup()
            {
                ShadowCopyFiles = "true"
            };

            if (!string.IsNullOrWhiteSpace(workingDirectory))
            {
                info.ApplicationBase = workingDirectory;
            }
            this._configurationFile = new ConfigurationFileUpdater().Update(configurationFilePath);
            info.ConfigurationFile  = this._configurationFile;
            this._appDomain         = AppDomain.CreateDomain("MigrationsToolingFacade" + Convert.ToBase64String(Guid.NewGuid().ToByteArray()), (Evidence)null, info);
            if (string.IsNullOrWhiteSpace(dataDirectory))
            {
                return;
            }
            this._appDomain.SetData("DataDirectory", (object)dataDirectory);
        }
        public LazyInternalConnection(DbConnectionInfo connectionInfo)
        {
            DebugCheck.NotNull(connectionInfo);

            _connectionInfo = connectionInfo;
            AppConfig       = AppConfig.DefaultInstance;
        }
Esempio n. 4
0
 /// <summary>
 /// 获取表索引信息集合
 /// </summary>
 /// <param name="tableName">表名</param>
 /// <returns>表索引信息集合</returns>
 public DBIndexInfoCollection GetTableIndexs(string tableName)
 {
     using (var connectionInfo = new DbConnectionInfo(this._dbid, Model.DBVisitType.R))
     {
         return(this.PrimitiveGetTableIndexs(connectionInfo.DbConnection, tableName));
     }
 }
Esempio n. 5
0
 private DbContext(string dbPassword)
 {
     _userDb     = new DbConnectionInfo("draughts_user", "draughts_user", "devapp");
     _authUserDb = new DbConnectionInfo("draughts_authuser", "draughts_authuser", "devapp");
     _gameDb     = new DbConnectionInfo("draughts_game", "draughts_game", "devapp");
     _miscDb     = new DbConnectionInfo("draughts_misc", "draughts_game", "devapp"); // All users can access the misc DB.
 }
Esempio n. 6
0
 /// <summary>
 /// ExecuteNonQuery执行SQL语句,返回受影响的行数
 /// </summary>
 /// <param name="sqlStr">sql语句</param>
 /// <param name="visitType">数据库访问类型</param>
 /// <param name="parameterNameValueDic">参数名名称及对应的值字典集合[key:参数名称,含参数符号;value:参数值]</param>
 /// <returns>返回执行结果</returns>
 public int ExecuteNonQuery(string sqlStr, DBVisitType visitType, Dictionary <string, object> parameterNameValueDic = null)
 {
     using (var connectionInfo = new DbConnectionInfo(this._dbid, Model.DBVisitType.R))
     {
         return(this.PrimitiveExecuteNonQuery(connectionInfo.DbConnection, sqlStr, parameterNameValueDic));
     }
 }
        public override void RegisterRealTasks(PhysicalServer site)
        {
            DbConnectionInfo connectionInfo;

            if (_connectionString.IsNotEmpty())
            {
                connectionInfo = new DbConnectionInfo(_connectionString);
            }
            else
            {
                connectionInfo = new DbConnectionInfo
                {
                    Server       = site.Name,
                    Instance     = _instanceName,
                    DatabaseName = _databaseName,
                    UserName     = _userName,
                    Password     = _password
                };
            }

            var task = new RoundhousETask(connectionInfo, _scriptsLocation,
                                          _environmentName, _roundhouseMode,
                                          _recoveryMode, _restorePath, _restoreTimeout, _restoreCustomOptions,
                                          _repositoryPath, _versionFile, _versionXPath, _commandTimeout, _commandTimeoutAdmin,
                                          _functionsFolderName, _sprocsFolderName, _viewsFolderName, _upFolderName,
                                          _versionTable, _scriptsRunTable, _scriptsRunErrorTable, _warnOnOneTimeScriptChanges, _outputPath);

            site.AddTask(task);
        }
Esempio n. 8
0
 public SchemaBrowserVM(ISchemaBrowserModel iSchemaBrowserModel, ICodeGenerator iCodeGenerator, DbConnectionInfo dbConnectionInfo)
 {
     model = iSchemaBrowserModel;
     codeGenerator = iCodeGenerator;
     currentDb = dbConnectionInfo;
     GeneratCodeCommand = new DelegateCommand<object>(GeneratCode);
 }
Esempio n. 9
0
        public Tableau9RepoConn(DbConnectionInfo db, int streamingTablesPollLimit)
        {
            if (db == null)
            {
                Log.Error("DB connection info is NULL while making Tableau repo connection!");
                return;
            }

            this.streamingTablesPollLimit = streamingTablesPollLimit;

            connectionStringBuilder =
                new NpgsqlConnectionStringBuilder()
            {
                // Always try to connect to the Tableau repository from the machine where the target
                // Tableau repository resides
                Host     = "localhost",
                Port     = db.Port,
                Username = db.Username,
                Password = db.Password,
                Database = db.DatabaseName,
                SslMode  = SslMode.Prefer,
                // Trust invalid certificates as well
                TrustServerCertificate = true
            };
        }
Esempio n. 10
0
        //public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            var dbInfo = new DbConnectionInfo();

            services.Configure <CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded    = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });
            services.AddSession(options =>
            {
                options.Cookie.Name        = ".makeMeLaugh";
                options.Cookie.HttpOnly    = true;
                options.Cookie.IsEssential = true;
            });
            services.AddHttpContextAccessor();
            services.AddHttpClient();
            services.AddDbContext <ImageStoreContext>(options =>
            {
                options.UseSqlServer($"Server=tcp:makemelaugh.database.windows.net,1433;Initial Catalog=MakeMeLaugh;Persist Security Info=False;User ID={dbInfo.Username};Password={dbInfo.Password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;");
                //options.UseSqlServer(Configuration.GetConnectionString("MakeMeLaugh"));
            });


            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
        }
Esempio n. 11
0
 public DataTable GetTableData(DbTable table, DbConnectionInfo connectionInfo)
 {
     var sql = $"Select * from {table.Name}";
     var qm = new QueryModel();
     var result = qm.Execute(sql, connectionInfo);
     return result.DataTable ;
 }
Esempio n. 12
0
        static async Task MainAsync()
        {
            var cnInfo = new DbConnectionInfo("http://*****:*****@127.0.0.1:5984/", "mydb")
            {
                Timeout = TimeSpan.FromMilliseconds(System.Threading.Timeout.Infinite)
            };

            using (var client = new MyCouchClient(cnInfo))
            {
                var getChangesRequest = new GetChangesRequest
                {
                    Feed  = ChangesFeed.Continuous,
                    Since = "now", //Optional: FROM WHAT SEQUENCE DO WE WANT TO START CONSUMING
                    // Heartbeat = 3000, //Optional: LET COUCHDB SEND A I AM ALIVE BLANK ROW EACH ms
                    Filter = "person/filter_person"
                };

                var cancellation = new CancellationTokenSource();
                await client.Changes.GetAsync(
                    getChangesRequest,
                    data => ChangeDo(data),
                    cancellation.Token);

                cancellation.Cancel();
            }
        }
Esempio n. 13
0
        public void LoadSchemaObjects(ICollection<SchemaObject> objectList, DbConnectionInfo connectionInfo)
        {
            var extractor = new SchemaExtractor();
            objectList.Clear();
            var tables = extractor.GetTables(connectionInfo);
            var columns = extractor.GetTableColumns(connectionInfo);
            AddColumns(tables, columns);
            var primaryKeyColumns = GetPrimaryKeyColumns(connectionInfo);
            AddPrimaryKeys(tables, primaryKeyColumns);
            var views = extractor.GetViews(connectionInfo);
            var viewColumns = extractor.GetViewColumns(connectionInfo);
            AddViewColumns(views, viewColumns);
            var fKeys = GetForeignKeys(connectionInfo);
            AddForeignKeysToTables(tables, fKeys);

            var procedures = extractor.GetStoredProcedures(connectionInfo);
            var parameters = extractor.GetStoredProcedureParameters(connectionInfo);
            AddParametersToStoredProcedures(procedures, parameters);

            foreach (var procedure in procedures.Values)
                objectList.Add(procedure);

            foreach (var view in views.Values)
                objectList.Add(view);

            var sortedTables = from t in tables.Values
                               orderby t.Name
                               select t;
            foreach (var t in sortedTables)
                objectList.Add(t);
        }
Esempio n. 14
0
        internal virtual IDictionary ScaffoldInitialCreateInternal(
            DbConnectionInfo connectionInfo,
            string contextTypeName,
            string contextAssemblyName,
            string migrationsNamespace,
            bool auto,
            string migrationsDir)
        {
            var contextAssembly = LoadAssembly(contextAssemblyName) ?? _assembly;
            var configuration   = new DbMigrationsConfiguration
            {
                ContextType                = contextAssembly.GetType(contextTypeName, throwOnError: true),
                MigrationsAssembly         = _assembly,
                MigrationsNamespace        = migrationsNamespace,
                AutomaticMigrationsEnabled = auto,
                MigrationsDirectory        = migrationsDir
            };

            OverrideConfiguration(configuration, connectionInfo);

            var scaffolder = CreateMigrationScaffolder(configuration);

            var result = scaffolder.ScaffoldInitialCreate();

            return(ToHashtable(result));
        }
 /// <summary>
 /// 执行SQL语句,返回查询结果
 /// </summary>
 /// <param name="sqlStr">sql语句</param>
 /// <param name="parameterNameValueDic">参数名名称及对应的值字典集合[key:参数名称,含参数符号;value:参数值]</param>
 /// <returns>返回执行结果</returns>
 protected DataTable PrimitiveQueryDataToDataTable(string sqlStr, Dictionary <string, object> parameterNameValueDic = null)
 {
     using (var connectionInfo = new DbConnectionInfo(this._dbid, Model.DBVisitType.R))
     {
         return(this.PrimitiveQueryDataToDataTable(connectionInfo.DbConnection, sqlStr, parameterNameValueDic));
     }
 }
Esempio n. 16
0
 public UserQueries(
     IMapper mapper,
     IOptions <DbConnectionInfo> dbConnectionInfo)
 {
     _mapper           = mapper;
     _dbConnectionInfo = dbConnectionInfo.Value;
 }
 public Configuration()
 {
     CodeGenerator = new MySqlMigrationCodeGenerator();
     AutomaticMigrationsEnabled = false;
     TargetDatabase             = new DbConnectionInfo(DbSettings.Deserialize().GetConnectionString(), "MySql.Data.MySqlClient");
     SetSqlGenerator("MySql.Data.MySqlClient", new MySqlMigrationSqlGenerator());
 }
        /// <param name="dbConnectionInfo">The database name and server (optional)</param>
        /// <param name="databaseEngine">The database engine that tests should be performed against</param>
        /// <remarks>
        /// If <paramref name="dbConnectionInfo"/> is <see langword="null" /> or returns <see langword="null" />
        /// or <see cref="string.Empty"/> for the <see cref="DbConnectionInfo.DatabaseName"/>, a database with a
        /// name derived from the other parameters supplied will be created. See
        /// <see cref="DeriveDatabaseNameFrom"/>
        /// <para>
        /// <paramref name="databaseEngine"/> largely determines the configuration of nhibernate. The argument
        /// supplied is used to pick from the predefined <see cref="NhCommonConfigurations"/>
        /// </para>
        /// </remarks>
        public NHibernateTestContextInitializer Using(DatabaseEngine databaseEngine, DbConnectionInfo dbConnectionInfo)
        {
            DatabaseEngine = databaseEngine;
            ConnectionInfo = dbConnectionInfo;

            return(this);
        }
Esempio n. 19
0
        public static async Task DoThings(string from, string to)
        {
            var fromInfo = new DbConnectionInfo("http://localhost:5984/", from)
            {
                Timeout = TimeSpan.FromMilliseconds(System.Threading.Timeout.Infinite)
            };
            var toInfo = new DbConnectionInfo("http://localhost:5984/", to);

            using (var client = new MyCouchClient(fromInfo))
            {
                var doc = await client.Documents.GetAsync("all");

                var getChangesRequest = new GetChangesRequest
                {
                    Feed        = ChangesFeed.Continuous,
                    IncludeDocs = true,
                    Since       = "now", //Optional: FROM WHAT SEQUENCE DO WE WANT TO START CONSUMING
                    Heartbeat   = 3000   //Optional: LET COUCHDB SEND A I AM ALIVE BLANK ROW EACH ms
                };

                var cancellation = new CancellationTokenSource();
                var response     = await client.Changes.GetAsync(
                    getChangesRequest,
                    data => ProcessData(data, toInfo),
                    cancellation.Token);
            }
        }
Esempio n. 20
0
        public virtual string GetMigrationScript(MigrationInfo migrationInfo)
        {
            var infos    = new StringBuilder();
            var warnings = new StringBuilder();
            var verbose  = new StringBuilder();

            //connection:connectionString, NameSpaceQualifiedConnectionType:for example :"System.Data.SqlClient"
            var connectionStringInfo = new DbConnectionInfo(migrationInfo.Connection,
                                                            migrationInfo.NameSpaceQualifiedConnectionType);

            var toolingFacade = new ToolingFacade(
                migrationInfo.ContextAssemblyName,   //"MyDll",   // MigrationAssemblyName. In this case dll should be located in "C:\\Temp\\MigrationTest" dir
                migrationInfo.ContextAssemblyName,   //"MyDll",  // ContextAssemblyName. Same as above
                migrationInfo.ConfigurationTypeName, //KS.ObjectiveDataAccess.ContentManagementDbContextMigrations.Configuration
                migrationInfo.ContextAssemblyPath,   //"C:\\Temp\\MigrationTest",   // Where the dlls are located
                migrationInfo.WebConfigPath,         //"C:\\Temp\\MigrationTest\\App.config", // Insert the right directory and change with Web.config if required
                migrationInfo.AppDataPath,           //"C:\\Temp\\App_Data",
                connectionStringInfo)
            {
                LogInfoDelegate    = s => { infos.AppendLine($"Infos : {s} . <br>"); },
                LogWarningDelegate = s => { warnings.AppendLine($"Warning : {s} . <br>"); },
                LogVerboseDelegate = s => { verbose.AppendLine($"Verbose : {s} . <br>"); }
            };

            if (migrationInfo.SourceName == "")
            {
                return(toolingFacade.ScriptUpdate(null, migrationInfo.TargetName,
                                                  migrationInfo.Force));
            }
            else
            {
                return(toolingFacade.ScriptUpdate(migrationInfo.SourceName,
                                                  migrationInfo.TargetName, migrationInfo.Force));
            }
        }
Esempio n. 21
0
 /// <summary>
 /// 获取当前用户有权限的所有表集合
 /// </summary>
 /// <param name="getFieldInfo">是否获取字段信息[true:获取字段信息;false:不获取;默认不获取]</param>
 /// <returns>当前用户有权限的所有表集合</returns>
 public List <DBTableInfo> GetTableInfoList(bool getFieldInfo = false)
 {
     using (var connectionInfo = new DbConnectionInfo(this._dbid, Model.DBVisitType.R))
     {
         return(this.PrimitiveGetTableInfoList(connectionInfo.DbConnection, getFieldInfo));
     }
 }
Esempio n. 22
0
        public Dictionary<string, DbStoredProc> GetStoredProcedures(DbConnectionInfo connectionInfo)
        {
            var sql = @" select SCHEMA_NAME(p.schema_id) + '.' +  p.name as fullname,p.name ,SCHEMA_NAME(p.schema_id) as schemaName, m.definition from sys.procedures p inner join
             sys.sql_modules m on p.object_id = m.object_id";

            var procedures = new Dictionary<string, DbStoredProc>();
            using (var conn = new SqlConnection(connectionInfo.ConnectionString))
            {
                conn.Open();
                using (var cmd = conn.CreateCommand())
                {
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = sql;
                    var reader = cmd.ExecuteReader();
                    var fullNamePos = reader.GetOrdinal("fullName");
                    var namePos = reader.GetOrdinal("name");
                    var schemaNamePos = reader.GetOrdinal("schemaName");
                    var definitionPos = reader.GetOrdinal("definition");

                    while (reader.Read())
                    {

                        procedures.Add(reader.GetString(fullNamePos), new DbStoredProc()
                        {
                            Name = reader.GetString(namePos),
                            SchemaName = reader.GetString(schemaNamePos),
                            Definition = reader.GetString(definitionPos).Trim()
                        });
                    }
                }
            }
            return procedures;
        }
 /// <summary>
 /// ExecuteScalar执行SQL语句,返回执行结果的第一行第一列;
 /// </summary>
 /// <param name="sqlStr">sql语句</param>
 /// <param name="visitType">数据库访问类型</param>
 /// <param name="parameterNameValueDic">参数名名称及对应的值字典集合[key:参数名称,含参数符号;value:参数值]</param>
 /// <returns>返回执行结果</returns>
 protected object PrimitiveExecuteScalar(string sqlStr, DBVisitType visitType, Dictionary <string, object> parameterNameValueDic = null)
 {
     using (var conInfo = new DbConnectionInfo(this._dbid, visitType))
     {
         return(this.PrimitiveExecuteScalar(conInfo.DbConnection, sqlStr, parameterNameValueDic));
     }
 }
Esempio n. 24
0
 public Configuration()
 {
     //Creates a new instance of DbConnectionInfo based on a connection string.
     TargetDatabase = new DbConnectionInfo(
         connectionString: "The connection string to use for the connection",
         providerInvariantName: "The name of the provider to use for the connection. Use 'System.Data.SqlClient' for SQL Server.");
 }
Esempio n. 25
0
 /// <summary>
 /// 获取数据库系统时间
 /// </summary>
 /// <returns>数据库系统时间</returns>
 public DateTime GetDataBaseSysTime()
 {
     using (var connectionInfo = new DbConnectionInfo(this._dbid, Model.DBVisitType.R))
     {
         return(this.PrimitiveGetDataBaseSysTime(connectionInfo.DbConnection));
     }
 }
Esempio n. 26
0
 public static NHibernateDbBuilder For(DatabaseEngine databaseEngine,
                                       DbConnectionInfo dbConnectionInfo,
                                       MappingInfo mappingInfo)
 {
     return(new NHibernateDbBuilder(DbMediaBuilder.For(databaseEngine, dbConnectionInfo),
                                    NHibernateConfigurator.Create(databaseEngine, dbConnectionInfo, mappingInfo)));
 }
        public void AssertEachPossibleDownwardMigration(string configurationType, DbConnectionInfo targetDatabase)
        {
            var migrator           = GetMigrator(configurationType, targetDatabase);
            var currentMigrationId = migrator
                                     .GetDatabaseMigrations()
                                     .OrderBy(migrationId => migrationId)
                                     .LastOrDefault();

            var migrationsToApply = migrator
                                    .GetLocalMigrations()
                                    .OrderByDescending(migrationId => migrationId)
                                    .SkipWhile(migrationId =>
                                               string.Compare(migrationId, currentMigrationId, StringComparison.OrdinalIgnoreCase) >= 0
                                               )
                                    .ToList();

            var expectedMigrations = new List <string>(migrationsToApply);

            // this will test migrating to before InitialCreate
            migrationsToApply.Add("0");

            foreach (var migrationId in migrationsToApply)
            {
                ApplyMigration(migrator, migrationId);

                var actualMigrations = migrator.GetDatabaseMigrations().OrderByDescending(actualId => actualId);

                AssertDatabaseMigrationsAreEqual(migrationId, expectedMigrations, actualMigrations);

                expectedMigrations.Remove(migrationId);
            }
        }
Esempio n. 28
0
 /// <summary>
 /// 查询分页信息
 /// </summary>
 /// <param name="pageSize">页大小</param>
 /// <param name="sqlStr">sql语句</param>
 /// <param name="parameterNameValueDic">参数名名称及对应的值字典集合[key:参数名称,含参数符号;value:参数值]</param>
 /// <returns>分页信息</returns>
 public DBPageInfo QueryPageInfo(long pageSize, string sqlStr, Dictionary <string, object> parameterNameValueDic = null)
 {
     using (var conInfo = new DbConnectionInfo(this._dbid, DBVisitType.R))
     {
         return(this.QueryPageInfo(conInfo.DbConnection, pageSize, sqlStr, parameterNameValueDic));
     }
 }
Esempio n. 29
0
        protected override void ProcessRecord()
        {
            base.ProcessRecord();

            DbConnectionInfo dbConnectionInfo = null;
            var cstr = "";

            if (!string.IsNullOrWhiteSpace(ConnectionString))
            {
                dbConnectionInfo = new DbConnectionInfo(ConnectionString, "System.Data.SqlClient");
                WriteVerbose(string.Format("Using database: {0}", ConnectionString));
                cstr = ConnectionString;
            }
            else if (!string.IsNullOrWhiteSpace(ConnectionName))
            {
                var config = TralusConfiguration.GetConfiguration();
                ConnectionStringSettings connectionString = config.ConnectionStrings.ConnectionStrings[ConnectionName];

                if (connectionString != null)
                {
                    WriteVerbose(string.Format("Using database: [{0}]: {1}", connectionString.Name, connectionString.ConnectionString));
                    dbConnectionInfo = new DbConnectionInfo(connectionString.ConnectionString, connectionString.ProviderName);
                    cstr             = connectionString.ConnectionString;
                }
                else
                {
                    WriteWarning(string.Format("Connection string not found: {0}", ConnectionName));
                }
            }

            if (!string.IsNullOrWhiteSpace(cstr))
            {
                foreach (var migrationAssembly in MigrationAssemblies)
                {
                    try
                    {
                        var assembly = Assembly.Load(migrationAssembly);

                        var configTypes = assembly.GetTypes()
                                          .Where(t => t.IsSubclassOf(typeof(DbMigrationsConfiguration)) && !t.IsAbstract);

                        var configs = configTypes.Select(Activator.CreateInstance);

                        foreach (var config in configs)
                        {
                            var type   = config.GetType();
                            var method = type.GetMethod("ApplySeed");
                            method.Invoke(config, new object[] { cstr });
                        }
                    }

                    catch (Exception exception)
                    {
                        WriteWarning(string.Format("Unable to load assembly: {0}", migrationAssembly));
                        WriteWarning(exception.ToString());
                    }
                }
            }
        }
Esempio n. 30
0
 public void Setup()
 {
     _prompt = new MockPromptService();
     _info   = new DbConnectionInfo(_prompt)
     {
         Server = "foo", DatabaseName = "bar"
     };
 }
        public LazyInternalConnection(DbContext context, DbConnectionInfo connectionInfo)
            : base(new DbInterceptionContext().WithDbContext(context))
        {
            DebugCheck.NotNull(connectionInfo);

            _connectionInfo = connectionInfo;
            AppConfig       = AppConfig.DefaultInstance;
        }
        public static NHibernateConfigurator Create(DatabaseEngine databaseEngine,
                                                    DbConnectionInfo dbConnectionInfo,
                                                    MappingInfo mappingInfo)
        {
            IDictionary <string, string> properties = NhCommonConfigurations.For(databaseEngine, dbConnectionInfo, true);

            return(new NHibernateConfigurator(mappingInfo, properties));
        }
Esempio n. 33
0
        public Configuration()
        {
            string connectionString = ConfigurationManager.ConnectionStrings["PrincipalDatabase"].ConnectionString;

            TargetDatabase                    = new DbConnectionInfo(connectionString, "System.Data.SqlClient");
            AutomaticMigrationsEnabled        = false;
            AutomaticMigrationDataLossAllowed = false;
        }
Esempio n. 34
0
 /// <summary>
 /// 查询分页数据
 /// </summary>
 /// <param name="sqlStr">查询SQL语句</param>
 /// <param name="orderInfos">排序列名集合[null为或空不排序]</param>
 /// <param name="pageSize">页大小</param>
 /// <param name="pageIndex">查询页索引</param>
 /// <param name="parameterNameValueDic">参数名名称及对应的值字典集合[key:参数名称,含参数符号;value:参数值]</param>
 /// <param name="dataBaseVersion">数据库版本信息</param>
 /// <returns>数据表</returns>
 public DataTable QueryPagingData(string sqlStr, IEnumerable <DBOrderInfo> orderInfos, long pageSize, long pageIndex,
                                  Dictionary <string, object> parameterNameValueDic = null, DataBaseVersionInfo dataBaseVersion = null)
 {
     using (var conInfo = new DbConnectionInfo(this._dbid, DBVisitType.R))
     {
         return(this.PrimitiveQueryPagingData(conInfo.DbConnection, sqlStr, orderInfos, pageSize, pageIndex, parameterNameValueDic, dataBaseVersion));
     }
 }
Esempio n. 35
0
 public ExportTableVm(DbConnectionInfo dbConnectionInfo, IExportTableModel iExportTableModel, ITableExportSettingsModel iTableExportSettingsModel)
 {
     model = iExportTableModel;
     settingsManager = iTableExportSettingsModel;
     CurrentDb = dbConnectionInfo;
     ExportCommand = new DelegateCommand(Export);
     settingsManager.LoadExportSettings(settings);
     settings.BaseExportPath = @"D:\Temp\DB";
 }
Esempio n. 36
0
        public void CopyOfDbConnectionInfoIsUsed()
        {
            var connectionInfo = new DbConnectionInfo {ConnectionString = "schema=schema", Provider = "System.Data.SqlClient"};
              var result = new DbDescription {ConnectionInfo = connectionInfo};

              connectionInfo.ConnectionString = "schema=other_schema";

              Assert.That(result.ConnectionInfo.ConnectionString, Is.EqualTo("schema=schema"));
        }
    public void CanCreateFromConnectionStringName()
    {
      var result = new DbConnectionInfo {ConnectionStringName = "Valid"};

      Assert.That(result, Is.Not.Null);
      Assert.That(result.ConnectionString, Is.EqualTo("server=server"));
      Assert.That(result.Provider, Is.EqualTo("System.Data.SqlClient"));
      Assert.That(result.ProviderFactory, Is.InstanceOf<System.Data.SqlClient.SqlClientFactory>());
    }
    public void CanCreateFromConnectionStringNameWithBlankProviderName()
    {
      var result = new DbConnectionInfo {ConnectionStringName = "BlankProviderName"};

      Assert.That(result, Is.Not.Null);
      Assert.That(result.ConnectionString, Is.EqualTo("server=server"));
      Assert.That(result.Provider, Is.Null);
      Assert.That(result.ProviderFactory, Is.Null);
    }
Esempio n. 39
0
      public ObservableCollection<DbTable> GetTables(DbConnectionInfo connectionInfo)
      {
            var extractor = new SchemaExtractor();
            var tabledict = extractor.GetTables(connectionInfo);

            var tables = from t in tabledict.Values
                         orderby t.Name
                         select t;
            return new ObservableCollection<DbTable>(tables);
        }
    public void GetProviderWithInvalidProviderNameThrows()
    {
      var connectionInfo = new DbConnectionInfo
                           {
                             Provider = "Invalid.Provider.Name"
                           };

      Assert.That(() => { var _ = connectionInfo.ProviderFactory; },
                  Throws.ArgumentException.With.Property("ParamName").EqualTo("Provider"));
    }
Esempio n. 41
0
 private IExportTableModel GetExportTableModel(DbConnectionInfo connection)
 {
     switch (connection.DatabaseType)
     {
         case "Sql Server":
             return new Models.SqlServer.ExportTableModel();
         case "MySQL":
             return new Models.MySql.ExportTableModel();
     }
     return null;
 }
Esempio n. 42
0
 private IQueryModel GetQueryModel(DbConnectionInfo connection)
 {
     switch (connection.DatabaseType)
     {
         case "Sql Server":
             return new Models.SqlServer.QueryModel();
         case "MySQL":
             return new Models.MySql.QueryModel();
     }
     return null;
 }
Esempio n. 43
0
 private ISchemaBrowserModel GetSchemaBrowserModel(DbConnectionInfo connection)
 {
     switch (connection.DatabaseType)
     {
         case "Sql Server":
             return new Models.SqlServer.SchemaBrowserModel();
         case "MySQL":
             return new Models.MySql.SchemaBrowserModel();
     }
     return null;
 }
    public void CanCreateWithConnectionString()
    {
      var result = new DbConnectionInfo
                   {
                     ConnectionString = "server=server"
                   };

      Assert.That(result, Is.Not.Null);
      Assert.That(result.ConnectionString, Is.EqualTo("server=server"));
      Assert.That(result.Provider, Is.Null);
      Assert.That(result.ProviderFactory, Is.Null);
    }
Esempio n. 45
0
        public static QueryResult Execute(string query, DbConnectionInfo connectionInfo)
        {
            var result = new QueryResult();
            Stopwatch swatch = new Stopwatch();
            swatch.Start();
            try
            {
                using (var conn = new SqlConnection(connectionInfo.ConnectionString))
                {
                    conn.Open();
                    using (var cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = query;
                        cmd.CommandType = CommandType.Text;
                        var reader = cmd.ExecuteReader();
                        var fieldCount = reader.FieldCount;
                        var dt = new DataTable();
                        for (int i = 0; i < fieldCount; i++)
                        {
                            var name = reader.GetName(i);
                            var ft = reader.GetFieldType(i);
                            dt.Columns.Add(new DataColumn(name, ft));

                        }
                        while (reader.Read())
                        {
                            var row = dt.NewRow();
                            for (int i = 0; i < fieldCount; i++)
                            {
                                row[i] = reader.GetValue(i);
                            }

                            dt.Rows.Add(row);
                        }
                        result.DataTable = dt;

                        //foreach (DataColumn  column in dt.Columns)
                        //{
                        //    Debug.WriteLine(string.Format("var {0}Pos = reader.GetOrdinal(\"{1}\");", Char.ToLowerInvariant(column.ColumnName[0]) + column.ColumnName.Substring(1), column.ColumnName));
                        //}
                    }

                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }
            result.QueryTimeSpan = swatch.Elapsed;
            swatch.Stop();
            return result;
        }
        public async void Execute_Works() {
            var connectionInfo = new DbConnectionInfo() {
                Uri = new Uri(BaseUri),
                Host = "",
                DatabaseName = "",
                UserName = "",
                Password = ""
            };
            var loginCommand = new LoginCommand(connectionInfo);

            var httpClient = new HttpClient();
            await loginCommand.Execute(httpClient);
        }
    public void CanCreateWithConnectionStringAndProviderType()
    {
      var result = new DbConnectionInfo
                   {
                     ConnectionString = "server=server",
                     Provider = "System.Data.SqlClient.SqlClientFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
                   };

      Assert.That(result, Is.Not.Null);
      Assert.That(result.ConnectionString, Is.EqualTo("server=server"));
      Assert.That(result.Provider, Is.EqualTo("System.Data.SqlClient.SqlClientFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"));
      Assert.That(result.ProviderFactory, Is.InstanceOf<System.Data.SqlClient.SqlClientFactory>());
    }
Esempio n. 48
0
        public void LoadSchemaObjects(ICollection<SchemaObject> objectList, DbConnectionInfo connectionInfo)
        {
            var extractor = new SchemaExtractor();
            objectList.Clear();
            var tables = extractor.GetTables(connectionInfo);
            var columns = extractor.GetTableColumns(connectionInfo);
            AddColumns(tables, columns);

            var sortedTables = from t in tables.Values
                               orderby t.Name
                               select t;
            foreach (var t in sortedTables)
                objectList.Add(t);
        }
Esempio n. 49
0
        public static QueryResult Execute(string query, DbConnectionInfo connectionInfo)
        {
            var result = new QueryResult();
            Stopwatch swatch = new Stopwatch();
            swatch.Start();
            try
            {
                using (var conn = new MySqlConnection(connectionInfo.ConnectionString))
                {
                    conn.Open();
                    using (var cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = query;
                        cmd.CommandType = CommandType.Text;
                        var reader = cmd.ExecuteReader();
                        var fieldCount = reader.FieldCount;
                        DataTable dt = new DataTable();
                        for (int i = 0; i < fieldCount; i++)
                        {
                            var name = reader.GetName(i);
                            var ft = reader.GetFieldType(i);
                            Debug.Assert(ft != null, "ft != null");
                            dt.Columns.Add(new DataColumn(name, ft));

                        }
                        while (reader.Read())
                        {
                            var row = dt.NewRow();
                            for (int i = 0; i < fieldCount; i++)
                            {
                                row[i] = reader.GetValue(i);
                            }

                            dt.Rows.Add(row);
                        }
                        result.DataTable = dt;
                    }

                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }
            result.QueryTimeSpan = swatch.Elapsed;
            swatch.Stop();
            return result;
        }
Esempio n. 50
0
        public Dictionary<string, List<DbColumn>> GetTableColumns(DbConnectionInfo connectionInfo)
        {
            var columns = new Dictionary<string, List<DbColumn>>();
            var sql = @"SELECT TABLE_NAME as fullTableName , c.COLUMN_NAME as columnName, c.ORDINAL_POSITION as ordinal , c.IS_NULLABLE as is_nullable,
            DATA_TYPE  as datatype,c.CHARACTER_MAXIMUM_LENGTH as  max_length
            , c.NUMERIC_PRECISION
            FROM INFORMATION_SCHEMA.COLUMNS c
            where TABLE_SCHEMA != 'information_schema'
            order by TABLE_NAME , ORDINAL_POSITION
            ";

            using (var conn = new MySqlConnection(connectionInfo.ConnectionString))
            {
                conn.Open();
                using (var cmd = conn.CreateCommand())
                {
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = sql;
                    var reader = cmd.ExecuteReader();
                    var fullTableNamePos = reader.GetOrdinal("fullTableName");
                    var columnNamePos = reader.GetOrdinal("columnName");
                    var is_nullablePos = reader.GetOrdinal("is_nullable");
                    //var is_identityPos = reader.GetOrdinal("is_identity");
                    var datatypePos = reader.GetOrdinal("datatype");
                    var max_lengthPos = reader.GetOrdinal("max_length");
                    while (reader.Read())
                    {
                        var fullTableName = reader.GetString(fullTableNamePos);

                        if (!columns.ContainsKey(fullTableName))
                            columns.Add(fullTableName, new List<DbColumn>());

                        var col = new DbColumn
                                  {
                                      Name = reader.GetString(columnNamePos),
                                      IsNullable = (reader.GetString(is_nullablePos) == "YES"),
                                      //IsIdentity = reader.GetBoolean(is_identityPos),
                                      DataType = reader.GetString(datatypePos),
                                      MaxLength = GetMaxLength(reader.GetValue(max_lengthPos))
                                  };
                        col.DisplayDataType = DisplayType(col);
                        columns[fullTableName].Add(col);
                    }
                }
            }
            return columns;
        }
Esempio n. 51
0
        private void DuplicateConnection()
        {
            if (SelectedConnections.Contains(SelectedConnection) == false && SelectedConnection != null)
                SelectedConnections.Add(SelectedConnection);

            foreach (var origConn in SelectedConnections  )
            {
                var newconn = new DbConnectionInfo
                              {
                                  ObjectKey = new Guid(),
                                  FriendlyName = origConn.FriendlyName + " copy",
                                  DatabaseType = origConn.DatabaseType,
                                  ConnectionString = origConn.ConnectionString,
                                  Status = origConn.Status
                              };
                Connections.Add(newconn);
            }
        }
        public async void Execute_Works() {
                var connectionInfo = new DbConnectionInfo() {
                Uri = new Uri(BaseUri),
                Host = "",
                DatabaseName = "",
                UserName = "",
                Password = ""
            };
            var loginCommand = new LoginCommand(connectionInfo);

            var httpClient = new HttpClient();
            await loginCommand.Execute(httpClient);

            using (var fileStream = File.Create("c:\\backup\\12345.bak")) {
                var backupCommand = new BackupCommand(connectionInfo);

                await backupCommand.Execute(httpClient, fileStream);
            }
        }
Esempio n. 53
0
        public MyCouchCloudantClient(DbConnectionInfo connectionInfo, MyCouchCloudantClientBootstrapper bootstrapper = null)
        {
            Ensure.That(connectionInfo, "connectionInfo").IsNotNull();

            IsDisposed = false;
            bootstrapper = bootstrapper ?? MyCouchCloudantClientBootstrappers.Default;

            Connection = bootstrapper.DbConnectionFn(connectionInfo);
            Serializer = bootstrapper.SerializerFn();
            DocumentSerializer = bootstrapper.DocumentSerializerFn();
            Changes = bootstrapper.ChangesFn(Connection);
            Attachments = bootstrapper.AttachmentsFn(Connection);
            Database = bootstrapper.DatabaseFn(Connection);
            Documents = bootstrapper.DocumentsFn(Connection);
            Entities = bootstrapper.EntitiesFn(Connection);
            Views = bootstrapper.ViewsFn(Connection);
            Searches = bootstrapper.SearchesFn(Connection);
            Queries = bootstrapper.QueriesFn(Connection);
        }
Esempio n. 54
0
        private static IMyCouchClient CreateDbClient(string dbName)
        {
            var config = Environment;
            var connectionInfo = new DbConnectionInfo(config.ServerUrl, dbName);

            if (config.HasCredentials())
                connectionInfo.BasicAuth = new BasicAuthString(config.User, config.Password);

            if (config.IsAgainstCloudant())
            {
                var bootstrapper = new MyCouchCloudantClientBootstrapper
                {
                    DbConnectionFn = cnInfo => new CustomCloudantDbConnection(cnInfo)
                };

                return new MyCouchCloudantClient(connectionInfo, bootstrapper);
            }

            return new MyCouchClient(connectionInfo);
        }
Esempio n. 55
0
        public Dictionary<string, List<DbParameter>> GetStoredProcedureParameters(DbConnectionInfo connectionInfo)
        {
            var parameters = new Dictionary<string, List<DbParameter>>();
            var sql = @"select Specific_Schema + '.' +  Specific_Name as Full_Procedure_Name,
            PARAMETER_NAME, ORDINAL_POSITION,   DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, PARAMETER_MODE
             from information_schema.parameters";

            using (var conn = new SqlConnection(connectionInfo.ConnectionString))
            {
                conn.Open();
                using (var cmd = conn.CreateCommand())
                {
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = sql;
                    var reader = cmd.ExecuteReader();
                    var fullProcedureNamePos = reader.GetOrdinal("Full_Procedure_Name");
                    var ordinalPos = reader.GetOrdinal("ORDINAL_POSITION");
                    var parameterName  = reader.GetOrdinal("PARAMETER_NAME");
                    var datatypePos = reader.GetOrdinal("DATA_TYPE");
                    var maxLengthPos = reader.GetOrdinal("CHARACTER_MAXIMUM_LENGTH");
                    while (reader.Read())
                    {
                        var fullName = reader.GetString(fullProcedureNamePos);

                        if (!parameters.ContainsKey(fullName))
                            parameters.Add(fullName, new List<DbParameter>());

                        parameters[fullName].Add(new DbParameter
                        {
                            Name = reader.GetString(parameterName),
                            Ordinal = reader.GetInt32( ordinalPos),
                            DataType = reader.GetString(datatypePos),
                            MaxLength = GetMaxLength(reader.GetValue(maxLengthPos))
                        });
                    }
                }
            }
            return parameters;
        }
Esempio n. 56
0
 public string Name(DbConnectionInfo connectionInfo)
 {
      Regex rx = new Regex(@"(?i)(database)\s*=\s*(?<Name>.*?)\s*;");
      var db = rx.GroupValue(connectionInfo.ConnectionString, "Name");
      return db;
  }
Esempio n. 57
0
 public DbConnection(DbConnectionInfo connectionInfo) : base(connectionInfo)
 {
     DbName = connectionInfo.DbName;
 }
Esempio n. 58
0
        private Dictionary<string, DbForeignKey> GetForeignKeys(DbConnectionInfo connectionInfo)
        {
            var fKeys = new Dictionary<string, DbForeignKey>();

            var sql = @"select	SCHEMA_NAME(sof.schema_id) + '.' + sof.name as ConstraintName ,
            SCHEMA_NAME(sop.schema_id) + '.' + sop.name as ForeignKeyTable,
            SCHEMA_NAME(sor.schema_id) + '.' +sor.name  as PrimaryKeyTable,
            scp.name as ForeignKeyColumn,
            scf.name as PrimaryKeyColumn
            from sys.foreign_key_columns  fk

            inner join Sys.objects sop on fk.parent_object_id = sop.object_id
            inner join Sys.objects sof on fk.constraint_object_id = sof.object_id
            inner join Sys.objects sor on fk.referenced_object_id = sor.object_id
            inner join Sys.Columns scp on fk.parent_column_id = scp.column_id and fk.parent_object_id = scp.object_id
            inner join Sys.Columns scf on fk.referenced_column_id = scf.column_id and fk.referenced_object_id = scf.object_id";

            using (var conn = new SqlConnection(connectionInfo.ConnectionString))
            {
                conn.Open();
                using (var cmd = conn.CreateCommand())
                {
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = sql;
                    var reader = cmd.ExecuteReader();
                    var constraintNamePos = reader.GetOrdinal("ConstraintName");
                    var foreignKeyTablePos = reader.GetOrdinal("ForeignKeyTable");
                    var primaryKeyTablePos = reader.GetOrdinal("PrimaryKeyTable");
                    var foreignKeyColumnPos = reader.GetOrdinal("ForeignKeyColumn");
                    var primaryKeyColumnPos = reader.GetOrdinal("PrimaryKeyColumn");
                    while (reader.Read())
                    {
                        var constraintName = reader.GetString(constraintNamePos);
                        DbForeignKey fKey;
                        if (!fKeys.ContainsKey(constraintName))
                        {
                            fKey = new DbForeignKey
                            {
                                ConstraintFullName = constraintName,
                                ForeignKeyTable = reader.GetString(foreignKeyTablePos),
                                PrimaryKeyTable = reader.GetString(primaryKeyTablePos)
                            };
                            fKeys.Add(constraintName, fKey);
                        }
                        fKeys[constraintName].Columns.Add(new DbForeignKeyColumn
                        {
                            PrimaryKeyColumn = reader.GetString(primaryKeyColumnPos),
                            ForeignKeyColumn = reader.GetString(foreignKeyColumnPos),
                        });
                    }
                }
            }
            return fKeys;
        }
Esempio n. 59
0
        private Dictionary<string, List<string>> GetPrimaryKeyColumns(DbConnectionInfo connectionInfo)
        {
            var sql = @"SELECT
            SCHEMA_NAME(t.schema_id)  + '.' +    t.name     as tableFullName,
            col_name(c.object_id, c.column_id)	AS columnName,
            c.key_ordinal				AS ORDINAL_POSITION
            FROM
            sys.key_constraints k JOIN sys.index_columns c
            ON c.object_id = k.parent_object_id
            AND c.index_id = k.unique_index_id
            JOIN sys.tables t ON t.object_id = k.parent_object_id";
            var primaryKeys = new Dictionary<string, List<string>>();

            using (var conn = new SqlConnection(connectionInfo.ConnectionString))
            {
                conn.Open();
                using (var cmd = conn.CreateCommand())
                {
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = sql;
                    var reader = cmd.ExecuteReader();
                    var tableFullNamePos = reader.GetOrdinal("tableFullName");
                    var columnNamePos = reader.GetOrdinal("columnName");
                    while (reader.Read())
                    {
                        var fullTableName = reader.GetString(tableFullNamePos);

                        if (!primaryKeys.ContainsKey(fullTableName))
                            primaryKeys.Add(fullTableName, new List<string>());

                        primaryKeys[fullTableName].Add(reader.GetString(columnNamePos));

                    }
                }
            }
            return primaryKeys;
        }
Esempio n. 60
0
        public override void RegisterRealTasks(PhysicalServer site)
        {
            var connectionInfo = new DbConnectionInfo{
                Server = site.Name,
                Instance = _instanceName,
                DatabaseName = _databaseName,
                UserName = _userName,
                Password = _password
            };
            // string scriptsLocation = PathConverter.Convert(site, _path.GetFullPath(_scriptsLocation));

            var task = new RoundhousETask(connectionInfo, _scriptsLocation,
                _environmentName, _roundhouseMode,
                _recoveryMode, _restorePath, _restoreTimeout, _restoreCustomOptions,
                _repositoryPath, _versionFile, _versionXPath, _commandTimeout, _commandTimeoutAdmin,
                _functionsFolderName, _sprocsFolderName, _viewsFolderName, _upFolderName, _runBeforeUpFolderName,
                _versionTable, _scriptsRunTable, _scriptsRunErrorTable, _warnOnOneTimeScriptChanges,
                _runAfterOtherAnytimeScriptsFolderName, _runAfterCreateDatabaseScriptsFolderName, _outputPath);

            site.AddTask(task);
        }