API Docs for:
Show:

DatabaseSchemaReader Class

Extends Object
Module: database_schem_reader

数据库结构读取器,用来读取数据库的所有表和视图的元数据。

Constructor

DatabaseSchemaReader

(
  • providerName
  • connectionString
)

Parameters:

  • providerName String

    数据提供程序

  • connectionString String

    数据库连接字符串

Example:

   var reader = DatabaseSchemaReader.createSqlClientReader(
       'Data Source=(LocalDB)\\v11.0;AttachDbFilename=E:\\node\\happy_node\\demo\\database_schem_reader\\test_database\\Test.mdf;Integrated Security=True;Connect Timeout=30'
   );

   reader.readAll(function (error, schema) {
       console.log(util.inspect(schema, { depth: null }));
   });

   //schema 的结构如下:
   {
       tables: [
           {
               name: 'Table',
               owner: 'dbo',
               columns: [
                   {
                       dataType: {
                           isDateTime: false,
                           isFloat: false,
                           isInt: false,
                           isNumeric: false,
                           isString: false,
                           netDataType: 'System.Guid',
                           netDataTypeCSharpName: 'System.Guid',
                           typeName: 'uniqueidentifier'
                       },
                       dateTimePrecision: null,
                       dbDataType: 'uniqueidentifier',
                       defaultValue: null,
                       foreignKeyTableName: null,
                       identityIncrement: 1,
                       identitySeed: 1,
                       isForeignKey: false,
                       isIdentity: false,
                       isIndexed: false,
                       isIsPrimaryKey: true,
                       isUniqueKey: false,
                       length: null,
                       name: 'Id',
                       netName: null,
                       nullable: false,
                       nullableIndicator: '',
                       ordinal: 1,
                       precision: null,
                       scale: null,
                       tableName: 'Table'
                   }
               ]
           }
       ],
       views: [
           //和tables的内容一样
       ]
   };

Item Index

Methods

createSqlClientReader

(
  • connectionString
)
DatabaseSchemaReader static

用'System.Data.SqlClient'做为ProviderName,创建一个DatabaseSchemaReader。

Parameters:

  • connectionString String

    数据库连接字符串

Returns:

DatabaseSchemaReader: 数据库结构读取器

Example:

   var connectionString = 'Data Source=(LocalDB)\\v11.0;AttachDbFilename=E:\\Test.mdf;Integrated Security=True;Connect Timeout=30';
   var reader = DatabaseSchemaReader.createSqlClientReader(connectionString);

getOptions

() Object private

Returns:

Object:

readAll

(
  • callback
)
async

读取整个数据库的结构。

Parameters:

  • callback Function

    读取成功后的回调函数,函数签名如下:

    • error Error

      异常信息

    • schema Object

      数据库结构

    • return

Returns:

Example:

   reader.readAll(function (error, schema) {
       console.log(util.inspect(schema, { depth: null }));
   });

Properties

connectionString

String private

providerName

String private

SQL_CLIENT

String final static

用于 SQL Server 的 数据提供程序。

Default: 'System.Data.SqlClient'