详细错误堆栈(示例):
Nectari.Common.DataService +++>> at Nectari.DataAccess.DataService.GetDBMetaData(DbConnection oleDbConn, Boolean resetCache) at Nectari.DataAccess.DataServiceBase.GetSQLInfo(DbConnection oleDbConn, String statementSelectlist, Dictionary`2 MappingAliasTableDictionary, DataTable requestSchemaTable) at Nectari.DataAccess.SqlDataService.GetSQLInfo(String statementSelectlist, Dictionary`2 MappingAliasTableDictionary, DataTable requestSchemaTable) at Nectari.DataAccess.DALBase`2.SetMetaData(String statementSelectlist, Dictionary`2 MappingAliasTableDictionary, IDataReader reader) at Nectari.DAL.RequestDAL.SQLGetInfoColumnsBySelectList() at Nectari.Services.NectariService.SQLGetInfoColumns(String statementToken, INectariTraceEvent& eventEntity)
原因
SEICube的数据源定义中数据库名称为SEICUBE,而在SQL中实际名称为SEICube。
大小写必须完全一致,否则会导致报错。
解决方法
1. 打开SEI
2. 路径:Administration, Manage Env. & D.S.
a. 选择Cube数据源
• 更正数据库模式名称
b. 保存
c. 在对应的环境(生产、试用、Seed)中
• 在屏幕的“环境”部分,点击环境名称右侧的“刷新”按钮。
d. 在“执行脚本”屏幕中,至少填写以下参数:
• X3 Database(X3数据库,仅限SQL服务器)
• Schema for Custom Objects(自定义对象模式)
• X3 Schema(账套)
e. 执行