尝试修改 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) 上工作,但我现在几乎拥有它。