Exemple #1
0
        public void Connect()
        {
            if (Charset.GetCharset(_options.Charset) == null)
            {
                throw new FbException("Invalid character set specified");
            }

            try
            {
                _db            = ClientFactory.CreateDatabase(_options);
                _db.Charset    = Charset.GetCharset(_options.Charset);
                _db.Dialect    = _options.Dialect;
                _db.PacketSize = _options.PacketSize;

                DatabaseParameterBuffer dpb = BuildDpb(_db, _options);

                if (_options.FallIntoTrustedAuth)
                {
                    _db.AttachWithTrustedAuth(dpb, _options.DataSource, _options.Port, _options.Database);
                }
                else
                {
                    _db.Attach(dpb, _options.DataSource, _options.Port, _options.Database);
                }
            }
            catch (IscException ex)
            {
                throw new FbException(ex.Message, ex);
            }
        }
        public void Connect()
        {
            if (Charset.GetCharset(_options.Charset) == null)
            {
                throw new FbException("Invalid character set specified");
            }

            try
            {
                _db            = ClientFactory.CreateDatabase(_options);
                _db.Charset    = Charset.GetCharset(_options.Charset);
                _db.Dialect    = _options.Dialect;
                _db.PacketSize = _options.PacketSize;

                var dpb = BuildDpb(_db, _options);

                if (string.IsNullOrEmpty(_options.UserID) && string.IsNullOrEmpty(_options.Password))
                {
                    _db.AttachWithTrustedAuth(dpb, _options.DataSource, _options.Port, _options.Database, _options.CryptKey);
                }
                else
                {
                    _db.Attach(dpb, _options.DataSource, _options.Port, _options.Database, _options.CryptKey);
                }
            }
            catch (IscException ex)
            {
                throw new FbException(ex.Message, ex);
            }
        }
 public void CreateDatabase(DatabaseParameterBuffer dpb)
 {
     using (var db = ClientFactory.CreateDatabase(_options))
     {
         db.CreateDatabase(dpb, _options.DataSource, _options.Port, _options.Database, _options.CryptKey);
     }
 }
Exemple #4
0
        public async Task Connect(AsyncWrappingCommonArgs async)
        {
            if (Charset.GetCharset(_options.Charset) == null)
            {
                throw new FbException("Invalid character set specified");
            }

            try
            {
                _db = await ClientFactory.CreateDatabase(_options, async).ConfigureAwait(false);

                _db.Charset    = Charset.GetCharset(_options.Charset);
                _db.Dialect    = _options.Dialect;
                _db.PacketSize = _options.PacketSize;

                var dpb = BuildDpb(_db, _options);

                if (string.IsNullOrEmpty(_options.UserID) && string.IsNullOrEmpty(_options.Password))
                {
                    await _db.AttachWithTrustedAuth(dpb, _options.DataSource, _options.Port, _options.Database, _options.CryptKey, async).ConfigureAwait(false);
                }
                else
                {
                    await _db.Attach(dpb, _options.DataSource, _options.Port, _options.Database, _options.CryptKey, async).ConfigureAwait(false);
                }
            }
            catch (IscException ex)
            {
                throw new FbException(ex.Message, ex);
            }
        }
Exemple #5
0
        public void DropDatabase()
        {
            IDatabase db = ClientFactory.CreateDatabase(_options);

            db.Attach(BuildDpb(db, _options), _options.DataSource, _options.Port, _options.Database);
            db.DropDatabase();
        }
 public void DropDatabase()
 {
     using (var db = ClientFactory.CreateDatabase(_options))
     {
         db.Attach(BuildDpb(db, _options), _options.DataSource, _options.Port, _options.Database, _options.CryptKey);
         db.DropDatabase();
     }
 }
Exemple #7
0
 public void CreateDatabase(DatabaseParameterBuffer dpb)
 {
     using (var db = ClientFactory.CreateDatabase(_options))
     {
         if (string.IsNullOrEmpty(_options.UserID) && string.IsNullOrEmpty(_options.Password))
         {
             db.CreateDatabaseWithTrustedAuth(dpb, _options.DataSource, _options.Port, _options.Database, _options.CryptKey);
         }
         else
         {
             db.CreateDatabase(dpb, _options.DataSource, _options.Port, _options.Database, _options.CryptKey);
         }
     }
 }
Exemple #8
0
 public void DropDatabase()
 {
     using (var db = ClientFactory.CreateDatabase(_options))
     {
         if (string.IsNullOrEmpty(_options.UserID) && string.IsNullOrEmpty(_options.Password))
         {
             db.AttachWithTrustedAuth(BuildDpb(db, _options), _options.DataSource, _options.Port, _options.Database, _options.CryptKey);
         }
         else
         {
             db.Attach(BuildDpb(db, _options), _options.DataSource, _options.Port, _options.Database, _options.CryptKey);
         }
         db.DropDatabase();
     }
 }
Exemple #9
0
        public void CreateDatabase(int pageSize, bool forcedWrites, bool overwrite)
        {
            var db = ClientFactory.CreateDatabase(_options);

            var dpb = db.CreateDatabaseParameterBuffer();

            dpb.Append(IscCodes.isc_dpb_dummy_packet_interval, new byte[] { 120, 10, 0, 0 });
            dpb.Append(IscCodes.isc_dpb_sql_dialect, new byte[] { _options.Dialect, 0, 0, 0 });
            if (!string.IsNullOrEmpty(_options.UserID))
            {
                dpb.Append(IscCodes.isc_dpb_user_name, _options.UserID);
            }
            if (_options.Charset.Length > 0)
            {
                var charset = Charset.GetCharset(_options.Charset);
                if (charset == null)
                {
                    throw new ArgumentException("Character set is not valid.");
                }
                else
                {
                    dpb.Append(IscCodes.isc_dpb_set_db_charset, charset.Name);
                }
            }
            dpb.Append(IscCodes.isc_dpb_force_write, (short)(forcedWrites ? 1 : 0));
            dpb.Append(IscCodes.isc_dpb_overwrite, (overwrite ? 1 : 0));
            if (pageSize > 0)
            {
                dpb.Append(IscCodes.isc_dpb_page_size, pageSize);
            }

            try
            {
                if (string.IsNullOrEmpty(_options.UserID) && string.IsNullOrEmpty(_options.Password))
                {
                    db.CreateDatabaseWithTrustedAuth(dpb, _options.Database, _options.CryptKey);
                }
                else
                {
                    db.CreateDatabase(dpb, _options.Database, _options.CryptKey);
                }
            }
            finally
            {
                db.Detach();
            }
        }
Exemple #10
0
        public async Task DropDatabase(AsyncWrappingCommonArgs async)
        {
            var db = await ClientFactory.CreateDatabase(_options, async).ConfigureAwait(false);

            try
            {
                if (string.IsNullOrEmpty(_options.UserID) && string.IsNullOrEmpty(_options.Password))
                {
                    await db.AttachWithTrustedAuth(BuildDpb(db, _options), _options.DataSource, _options.Port, _options.Database, _options.CryptKey, async).ConfigureAwait(false);
                }
                else
                {
                    await db.Attach(BuildDpb(db, _options), _options.DataSource, _options.Port, _options.Database, _options.CryptKey, async).ConfigureAwait(false);
                }
                await db.DropDatabase(async).ConfigureAwait(false);
            }
            finally
            {
                await db.Detach(async).ConfigureAwait(false);
            }
        }
Exemple #11
0
        public void CreateDatabase(DatabaseParameterBuffer dpb)
        {
            IDatabase db = ClientFactory.CreateDatabase(_options);

            db.CreateDatabase(dpb, _options.DataSource, _options.Port, _options.Database);
        }