这里提下,引用了MyMeta.dll还是不够的,它会要求添加其余的几个引用:FirebirdSql.Data.FirebirdClient.dll,MySql.Data.dll,Npgsql.dll,System.Data.SQLite.DLL等。添加完这些后,就可以正常运行他的代码了。
贴上我的测试代码

using System;
using System.Collections.Generic;
using System.Text;
using MyMeta;
namespace MyMetaTest
{
class Program
{
static void Main(string[] args)
{
string connString = @"Provider=SQLOLEDB;server=;database=;uid=;pwd=;";
MyMeta.dbRoot root = new MyMeta.dbRoot();
root.Connect(MyMeta.dbDriver.SQL, connString);
foreach (MyMeta.Database db in root.Databases)
{
Console.WriteLine("数据库 {0} 有 {1} 个表,{2} 个视图。", db.Name, db.Tables.Count, db.Views.Count);
if (db.Name == "DB")
{
int i = 0;
foreach(MyMeta .Table t in db.Tables )
{
Console.WriteLine(string.Format("Table {0}--------------------------------------------------------",t.Name));
foreach (MyMeta.Column c in t.Columns)
{
Console.WriteLine(string.Format("name {0} IsComputed {1} IsAutoKey {2} DataTypeName {3}", c.Name, c.IsComputed, c.IsAutoKey, c.DataTypeName));
}
i++;
if (i > 10) break;
}
}
}
Console.ReadLine();
}
}
}
呵呵,是在他的代码的基础上修改的。
获取数据库信息是创建代码生成器的第一步,哎,慢慢来,慢慢来。
贴上我的测试代码

using System;
using System.Collections.Generic;
using System.Text;
using MyMeta;
namespace MyMetaTest
{
class Program
{
static void Main(string[] args)
{
string connString = @"Provider=SQLOLEDB;server=;database=;uid=;pwd=;";
MyMeta.dbRoot root = new MyMeta.dbRoot();
root.Connect(MyMeta.dbDriver.SQL, connString);
foreach (MyMeta.Database db in root.Databases)
{
Console.WriteLine("数据库 {0} 有 {1} 个表,{2} 个视图。", db.Name, db.Tables.Count, db.Views.Count);
if (db.Name == "DB")
{
int i = 0;
foreach(MyMeta .Table t in db.Tables )
{
Console.WriteLine(string.Format("Table {0}--------------------------------------------------------",t.Name));
foreach (MyMeta.Column c in t.Columns)
{
Console.WriteLine(string.Format("name {0} IsComputed {1} IsAutoKey {2} DataTypeName {3}", c.Name, c.IsComputed, c.IsAutoKey, c.DataTypeName));
}
i++;
if (i > 10) break;
}
}
}
Console.ReadLine();
}
}
}
呵呵,是在他的代码的基础上修改的。
获取数据库信息是创建代码生成器的第一步,哎,慢慢来,慢慢来。