ApexSQL.Log.Api Send comments on this topic.
Database Class
See Also  Members   Example 



Class describing objects providing access to a database being auditing by Log library.

Object Model






Syntax

Visual Basic (Declaration) 
Public NotInheritable Class Database 
   Inherits DataSource
Visual Basic (Usage)Copy Code
Dim instance As Database
C# 
public sealed class Database : DataSource 
C++/CLI 
public ref class Database sealed : public DataSource 

Example

Show Database Information
C#Copy Code
static void ShowDatabaseInfo(Database db)
{
    Console.WriteLine(
"Applications:");
    
foreach (string str in db.Applications)
    {
        Console.WriteLine(
"\t{0}", str);
    }
    Console.WriteLine(
"ClientHosts:");
    
foreach (string str in db.ClientHosts)
    {
        Console.WriteLine(
"\t{0}", str);
    }
    Console.WriteLine(
"KnownTransactionDescriptions:");
    
foreach (string str in db.KnownTransactionDescriptions)
    {
        Console.WriteLine(
"\t{0}", str);
    }
    Console.WriteLine(
"ServerDatabases:");
    
foreach (string str in db.ServerDatabases)
    {
        Console.WriteLine(
"\t{0}", str);
    }
    Console.WriteLine(
"TableMappings:");
    
foreach (Database.TableMapping map in db.TableMappings)
    {
        Console.WriteLine(
"\toldTableId:\t{0}", map.oldTableId);
        Console.WriteLine(
"\tnewTableId:\t{0}", map.newTableId);
    }
    Console.WriteLine(
"TransactionLogs:");
    
foreach (string str in db.TransactionLogs)
    {
        Console.WriteLine(
"\t{0}", str);
    }
    Console.WriteLine(
"UserNames:");
    
foreach (string str in db.UserNames)
    {
        Console.WriteLine(
"\t{0}", str);
    }
    Console.WriteLine(
"SystemTableNames:");
    
foreach (Database.TableName tbl in db.SystemTableNames)
    {
        Console.WriteLine(
"\tId:\t{0}", tbl.id);
        Console.WriteLine(
"\tName:\t{0}", tbl.name);
        Console.WriteLine(
"\tSchema:\t{0}", tbl.schema);
    }
    Console.WriteLine(
"UserTableNames:");
    
foreach (Database.TableName tbl in db.UserTableNames)
    {
        Console.WriteLine(
"\tId:\t{0}", tbl.id);
        Console.WriteLine(
"\tName:\t{0}", tbl.name);
        Console.WriteLine(
"\tSchema:\t{0}", tbl.schema);
        
string tableName = string.Format("[{0}].[{1}]", tbl.schema, tbl.name);
        Console.WriteLine(
"\tIs application's table:\t{0}", db.IsApplicationTable(tableName));
    }

    Console.WriteLine(
"Properties:");
    Database.ConnectionProperties connProperties = db.Properties;
    Console.WriteLine(
"\tadditionalOptions:\t{0}", connProperties.additionalOptions);
    Console.WriteLine(
"\tapplication:\t{0}", connProperties.application);
    Console.WriteLine(
"\tdatabase:\t{0}", connProperties.database);
    Console.WriteLine(
"\tntAuthentication:\t{0}", connProperties.ntAuthentication);
    Console.WriteLine(
"\tpassword:\t{0}", connProperties.password);
    Console.WriteLine(
"\tserver:\t{0}", connProperties.server);
    Console.WriteLine(
"\tuser:\t{0}", connProperties.user);

    Console.WriteLine(
"TransactionLogBackupDevicesInformation:");
    
foreach (Database.BackupDeviceInformation bdi in db.TransactionLogBackupDevicesInformation)
    {
        Console.WriteLine(
"\tlatestBackupDescription:\t{0}", bdi.latestBackupDescription);
        Console.WriteLine(
"\tlatestBackupName:\t{0}", bdi.latestBackupName);
        Console.WriteLine(
"\tlatestBackupStartDate:\t{0}", bdi.latestBackupStartDate);
        Console.WriteLine(
"\tlatestBackupUserName:\t{0}", bdi.latestBackupUserName);
        Console.WriteLine(
"\tlogicalDeviceName:\t{0}", bdi.logicalDeviceName);
        Console.WriteLine(
"\tphysicalDeviceName:\t{0}", bdi.physicalDeviceName);
    }
}
Create Database object
C#Copy Code
static Database CreateDatabase(string serverName, string databaseName)
{
    
//  Create connection properties for this database.
    Database.ConnectionProperties connProperties = 
new Database.ConnectionProperties();
    connProperties.server = serverName;
    connProperties.database = databaseName;
    
// for NT authetication
    connProperties.ntAuthentication = 
true;
    
// for SQL Server authentication
    connProperties.ntAuthentication = 
false;
    connProperties.user = 
"test_user";
    connProperties.password = 
"test_password";
    
// optional information for connection:
    
// application name
    connProperties.application = 
"ApexSQL Log Api Demo";
    
// additional properties
    connProperties.additionalOptions = 
"connection_parameter=value";

    
//  Connect to the database and create database object. If we cannot connect to the
    
//  database in question an exception is thrown here (but in this case it is handled
    
//  in an upper level)
    
return Engine.CreateDatabase(connProperties);
}

Inheritance Hierarchy

System.Object
   ApexSql.Log.DataSource
      ApexSql.Log.Database

See Also