独立程序读取E3D数据库
E3D(Everything3D)提供了 Aveva.E3D.Standalone.dll,可以同这个来打开数据库,并遍历数据库。
下面是示例代码,需要在项目中引入 Aveva.E3D.Standalone.dll、Aveva.Core.Utilities.dll 和 Aveva.Core.Database.dll。启动程序是需要先在命令提示符中执行 "%E3D安装目录%\evars.bat" "%E3D安装目录%"
来初始化 E3D 有关环境变量,再执行程序。
using System; using Aveva.E3D.Standalone; using Aveva.Core.Utilities.Messaging; using Aveva.Core.Database; namespace open_cata_test { class Program { static void Main(string[] args) { try { Standalone.Start(); PdmsMessage msg; if (!Standalone.Open("APS", "SYSTEM", "XXXXXX", "ALL", out msg)) { Console.Error.WriteLine(msg.MessageText()); return; } var mdb = MDB.CurrentMDB; Console.WriteLine(String.Format("mdb = {0}", mdb.Name)); var dbArr = mdb.GetDBArray(); foreach(var db in dbArr) { if (db.Type != DbType.Catalogue) { continue; } Console.WriteLine(String.Format(" db = {0}", db.Name)); } Standalone.Finish(); } catch (Exception ex) { Console.Error.WriteLine(ex.StackTrace); } } } }