修复数据库创建代码的过时字段,增强数据库初始化错误处理
This commit is contained in:
parent
d5cf6b2f8b
commit
b99d4e82b6
@ -490,14 +490,39 @@ namespace NavisworksTransport
|
||||
// 文档加载完成,初始化PathDatabase
|
||||
if (!string.IsNullOrEmpty(activeDoc?.FileName))
|
||||
{
|
||||
GlobalExceptionHandler.SafeExecute(() =>
|
||||
try
|
||||
{
|
||||
var pathManager = PathPlanningManager.GetActivePathManager();
|
||||
if (pathManager != null)
|
||||
{
|
||||
pathManager.DatabaseInitialize();
|
||||
}
|
||||
}, "初始化PathDatabase");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// 数据库初始化失败是严重错误,需要明确提示用户
|
||||
var errorMsg = $"数据库初始化失败:{ex.Message}\n\n";
|
||||
errorMsg += "可能的原因:\n";
|
||||
errorMsg += "1. 文件夹权限不足\n";
|
||||
errorMsg += "2. 磁盘空间不足\n";
|
||||
errorMsg += "3. 数据库文件被锁定\n";
|
||||
errorMsg += "4. SQLite 组件损坏\n\n";
|
||||
errorMsg += "详细信息请查看日志文件。";
|
||||
|
||||
LogManager.Error($"[文档管理] 数据库初始化失败: {ex.Message}", ex);
|
||||
LogManager.Error($"[文档管理] 文档路径: {activeDoc.FileName}");
|
||||
LogManager.Error($"[文档管理] 异常类型: {ex.GetType().Name}");
|
||||
LogManager.Error($"[文档管理] 堆栈信息: {ex.StackTrace}");
|
||||
|
||||
System.Windows.MessageBox.Show(
|
||||
errorMsg,
|
||||
"数据库初始化失败",
|
||||
System.Windows.MessageBoxButton.OK,
|
||||
System.Windows.MessageBoxImage.Error
|
||||
);
|
||||
|
||||
// 不重新抛出,避免插件崩溃,但批处理等功能将不可用
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (_hasModels && !currentHasModels)
|
||||
|
||||
@ -231,9 +231,6 @@ namespace NavisworksTransport
|
||||
VirtualVehicleLength REAL,
|
||||
VirtualVehicleWidth REAL,
|
||||
VirtualVehicleHeight REAL,
|
||||
VehicleModelIndex INTEGER,
|
||||
VehiclePathId TEXT,
|
||||
VehicleObjectName TEXT,
|
||||
DetectAllObjects INTEGER NOT NULL DEFAULT 1,
|
||||
ClashDetectiveTestName TEXT,
|
||||
CollisionCount INTEGER,
|
||||
|
||||
@ -191,6 +191,9 @@ namespace NavisworksTransport
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogManager.Error($"初始化路径分析数据库失败: {ex.Message}", ex);
|
||||
LogManager.Error($"数据库路径: {Application.ActiveDocument?.FileName}");
|
||||
LogManager.Error($"异常类型: {ex.GetType().Name}");
|
||||
throw; // 重新抛出异常,让调用者知道初始化失败
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user