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(); } }
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(); }
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); }
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(); }