我正在将一个相当大的解决方案的C#源代码导入到由SQL数据库支持的Enterprise Architect中,我正在反复为一个特定类型导入一个消息框说
用于SQL Server的Microsoft OLE DB提供程序[-2147217833]:字符串或二进制数据将被截断。
有一种简单的方法可以弄清楚究竟是什么让它失败了?
修改
正如Geert所指出的,我调查了DBError.txt
,其内容或多或少
Context:
Update t_connector SET
... DestElement='List<Some_Really_Very_Very_Long_Type_Name_With_Subclass>' ...
然后我查看了DB方案,在那里我搜索了相应列的声明,结果证明是
DestElement (nvarchar(50), null)
我可以简单地修改列定义,以便它可以说100个字符或者会破坏我的EA吗?
答案 0 :(得分:1)
要检查的第一件事是DBError.txt
文件。你可以在%appdata%\Sparx Systems\EA
通常你可以在那个文件中找到有问题的SQL语句,并用它来弄清楚出了什么问题。
如果这没有帮助,您可以在SQL Server上启动一个分析器,导入代码直到出现错误,然后检查最后一个插入/更新语句是什么。
如果我不得不猜测它可能是超过255个字符的类,属性,操作或参数的名称,或者是一些非常大的注释。
EA中的大多数名称字段限制为255个字符。注释字段通常(几乎)无限制。