public void Attach(DatabaseParameterBuffer dpb, string dataSource, int port, string database)
        {
            lock (this)
            {
                byte[] databaseBuffer = Encoding.Default.GetBytes(database);
                int    dbHandle       = 0;

                // Clear status vector
                ClearStatusVector();

                _fbClient.isc_attach_database(
                    _statusVector,
                    (short)databaseBuffer.Length,
                    databaseBuffer,
                    ref dbHandle,
                    (short)dpb.Length,
                    dpb.ToArray());

                ParseStatusVector(_statusVector);

                // Update the database handle
                _handle = dbHandle;

                // Get server version
                _serverVersion = GetServerVersion();
            }
        }
示例#2
0
    public override void Attach(DatabaseParameterBufferBase dpb, string database, byte[] cryptKey)
    {
        CheckCryptKeyForSupport(cryptKey);

        var databaseBuffer = Encoding2.Default.GetBytes(database);

        ClearStatusVector();

        _fbClient.isc_attach_database(
            _statusVector,
            (short)databaseBuffer.Length,
            databaseBuffer,
            ref _handle,
            dpb.Length,
            dpb.ToArray());

        ProcessStatusVector(_statusVector);

        ServerVersion = GetServerVersion();
    }
示例#3
0
        public void Attach(DatabaseParameterBuffer dpb, string dataSource, int port, string database)
        {
            byte[] databaseBuffer = Encoding.UTF8.GetBytes(database);

            ClearStatusVector();

            _fbClient.isc_attach_database(
                _statusVector,
                (short)databaseBuffer.Length,
                databaseBuffer,
                ref _handle,
                dpb.Length,
                dpb.ToArray());

            ProcessStatusVector(_statusVector);

            _serverVersion = GetServerVersion();
        }
        public override async Task Attach(DatabaseParameterBufferBase dpb, string dataSource, int port, string database, byte[] cryptKey, AsyncWrappingCommonArgs async)
        {
            CheckCryptKeyForSupport(cryptKey);

            var databaseBuffer = Encoding.Default.GetBytes(database);

            ClearStatusVector();

            _fbClient.isc_attach_database(
                _statusVector,
                (short)databaseBuffer.Length,
                databaseBuffer,
                ref _handle,
                dpb.Length,
                dpb.ToArray());

            ProcessStatusVector(_statusVector);

            ServerVersion = await GetServerVersion(async).ConfigureAwait(false);
        }
示例#5
0
        public void Attach(DatabaseParameterBuffer dpb, string dataSource, int port, string database, byte[] cryptKey)
        {
            // ICryptKeyCallbackImpl would have to be passed from C# for 'cryptKey' passing
            if (cryptKey?.Length > 0)
            {
                throw new NotSupportedException("Passing Encryption Key isn't, yet, supported on Firebird Embedded.");
            }

            byte[] databaseBuffer = Encoding2.Default.GetBytes(database);

            ClearStatusVector();

            _fbClient.isc_attach_database(
                _statusVector,
                (short)databaseBuffer.Length,
                databaseBuffer,
                ref _handle,
                dpb.Length,
                dpb.ToArray());

            ProcessStatusVector(_statusVector);

            _serverVersion = GetServerVersion();
        }