【问题标题】:U2 Toolkit for .NET - Entity Framework Sample "EntityFramework_CodeFirst2" not connectingU2 Toolkit for .NET - 实体框架示例“EntityFramework_CodeFirst2”未连接
【发布时间】:2012-05-25 22:10:14
【问题描述】:

我在尝试修改 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 Sample 的跟踪日志。这是有趣部分的 sn-p。 Full trace here

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() 2012 年 5 月 30 日上午 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]:错误:无法从 @TMP 执行直接选择

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

【问题讨论】:

    标签: .net entity-framework-4.1 u2 universe u2netdk


    【解决方案1】:

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

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

    设置 UCINETTRACE=c:\temp

    设置 UCINETTRACESWITCH=4

    【讨论】:

    • 对不起,我不熟悉在 Visual Studio 中以这种方式设置环境变量(我使用的是 2010 SP1)。我在网上搜索,发现this way of doing it。我不确定这是否正确,但是当我运行它时,我在日志文件中得到“'U2.Data.Client.Common.UniTrace' 的类型初始化程序引发异常” : "ImageFileMachine:ImageFileMachine.I386I386 U2.Data.Client, Version=1.1.0.0, Culture=neutral, PublicKeyToken=9ab9148678f4f448 Assembly 独立于平台。"
    • 您需要打开控制面板->系统->高级系统设置->环境变量->系统变量。但是您首先关闭了 Visual Studio 2010。当您运行代码时,将生成一个日志文件。例如:c:\temp\ucinet*****.txt。阅读windows7hacker.com/index.php/2010/05/…
    • 还有一个问题。您是否尝试过 DataAdapter 示例代码?
    • 是的,我现在转而尝试使用 DataAdapter,只是为了让连接正常工作。 DataAdapter 示例代码也失败了。
    • 感谢您为我提供日志/跟踪文件。我正在做。我会尽快更新你。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-29
      • 1970-01-01
      • 1970-01-01
      • 2018-11-03
      相关资源
      最近更新 更多