1

尝试修改 EntityFramework_CodeFirst 和 EntityFramework_CodeFirst2 项目时出现此错误:

打开连接 [U2][UCINET-UO] [U2][UCINET-UO]WIN32 API 错误:10053 已建立的连接被主机中的软件中止[Rocket U2][UCINET - UNIRPC][ErrorCode=81009]套接字发送和数据长度中的 RPC 失败错误:36

内部异常:无法将数据写入传输连接:已建立的连接被主机中的软件中止。内部异常:WIN32 API 错误:10053 已建立的连接被主机中的软件中止[Rocket U2][UCINET - UNIRPC][ErrorCode=81009] 套接字发送中的 RPC 失败错误和数据长度:36

我已将连接字符串设置为:

<add name="CustomerContext" connectionString="Database=dbPath;UserID=userId;Password=password;Server=serverIp;Pooling=false;ServerType=universe;ConnectTimeout=500;PersistSecurityInfo=true" providerName="U2.Data.Client" />

使用相同的凭据,我可以在 ADO.NET 和 UniObjects 连接上使用 U2 DB Provider for .NET 测试连接程序成功连接。我只是无法让它为 EntityFramework_CodeFirst 项目工作。

UNIRPC 正在主机上运行。端口 31438 正在侦听。防火墙已关闭。

编辑: 我已经设置了环境变量 UCINETTRACE 和 UCINETTRACESWITCH 并且有 DataAdapter 示例的跟踪日志。这是有趣部分的片段。完整的跟踪在这里

2012 年 5 月 30 日上午 10:56:53:线程 ID:线程 ID:11 线程名称:光标 #1--UciStatement::OpenServerCursor() 和 SQL String::call *HS.OLEDBINFO('ACCTS', '', ' ', '', '', '1', '', 0, 1) 2012 年 5 月 30 日上午 10:56:53:线程 ID:退出:线程 ID:11 线程名称:UciStatement::OpenServerCursor() 5/30 /2012 上午 10:56:53:线程 ID:输入:线程 ID:11 线程名称:UciStatement::AssociateServerCursor() 2012 年 5 月 30 日上午 10:56:53:线程 ID:退出:线程 ID:11 线程名称:UciStatement:: AssociateServerCursor() 2012 年 5 月 30 日上午 10:56:53:线程 ID:输入:线程 ID:11 线程名称:UciStatement::()ServerExecute 2012 年 5 月 30 日上午 10:56:53:线程 ID:输入:线程 ID:11线程名称:UciStatement::ServerExecuteSql() 2012 年 5 月 30 日上午 10:56:53:线程 ID:线程 ID:11 线程名称:[U2][UCINET][UNIVERSE]:错误:CAN'T 从@TMP 中直接选择

编辑 2: 我有 HS.SALES 示例工作,我在 UniVerse 11.4(当前)上。我与 Rocket Support 进行了交谈,但我不知道我需要使用 HS.ADMIN 授权个人 UV 帐户,这可能是问题所在。我认为与数据库的牢固连接会切断它,特别是因为 HS.SALES 正在工作。我仍然需要“SQLize”我的 DICT 文件以允许它们在 ADO.NET (& EF) 上工作,但我现在几乎拥有它。

4

2 回答 2

0

您是否尝试过使用相同连接字符串的 DataAdapter Sample?这管用吗?你能提供TRACE LOG吗?您需要设置以下内容:

跟踪和调试 要为 .NET 应用程序调试 U2 数据库提供程序,您可以使用 U2 跟踪工具。要激活跟踪工具,请设置以下环境变量:

设置 UCINETTRACE=c:\temp

设置 UCINETTRACESWITCH=4

于 2012-05-25T22:47:21.450 回答
0

可以试试 U2NETDK v1.2.0 吗?我希望它能解决上面提到的问题。

U2NETDK v1.2.0 BETA 包含用于 Visual Studio 2010 的 U2 数据库插件。现在您可以使用 VS2010 服务器资源管理器来填充 U2 表、视图和子例程。

它将允许您创建数据集和实体数据模型。

于 2012-11-30T18:45:37.333 回答