1

EntityFramework_CodeFirst および EntityFramework_CodeFirst2 プロジェクトを変更しようとすると、次のエラーが発生します。

接続を開く [U2][UCINET-UO] [U2][UCINET-UO]WIN32 API エラー:10053 確立された接続は、ホスト マシンのソフトウェアによって中止されました[Rocket U2][UCINET - UNIRPC][ErrorCode=81009]ソケット送信および dataLength:36 での RPC 失敗エラー

内部例外: トランスポート接続にデータを書き込めません: 確立された接続が、ホスト マシンのソフトウェアによって中止されました。内部例外:WIN32 API エラー:10053確立された接続がホスト マシンのソフトウェアによって中止されました[Rocket U2][UCINET - UNIRPC][ErrorCode=81009] RPC に失敗しましたソケット送信エラーと dataLength: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 サンプルのトレース ログを取得しました。これは興味深い部分の抜粋です。完全なトレースはこちら

5/30/2012 10:56:53 AM:ThreadID: ThreadID: 11 スレッド名: カーソル #1--UciStatement::OpenServerCursor() および SQL 文字列::call *HS.OLEDBINFO('ACCTS', '', ' ', '', '', '1', '', 0, 1) 5/30/2012 10:56:53 AM:ThreadID: 終了:ThreadID: 11 スレッド名: UciStatement::OpenServerCursor() 5/30 /2012 10:56:53 AM:ThreadID: 入力:ThreadID: 11 スレッド名: UciStatement::AssociateServerCursor() 5/30/2012 10:56:53 AM:ThreadID: 終了:ThreadID: 11 スレッド名: UciStatement:: AssociateServerCursor() 5/30/2012 10:56:53 AM:ThreadID: Entering:ThreadID: 11 スレッド名: UciStatement::()ServerExecute 5/30/2012 10:56:53 AM:ThreadID: Entering:ThreadID: 11スレッド名: UciStatement::ServerExecuteSql() 5/30/2012 10:56:53 AM:ThreadID: ThreadID: 11 スレッド名: [U2][UCINET][UNIVERSE]:エラー: CAN'T EXECDIRECT SELECT FROM @TMP

編集 2: HS.SALES の例が動作しており、UniVerse 11.4 (現在) を使用しています。Rocket サポートと話をしましたが、HS.ADMIN で個々の UV アカウントを認証する必要があることを知りませんでした。これがおそらく問題でした。特にHS.SALESが機能していたので、データベースへの安定した接続がそれをカットするだろうと思いました. DICTファイルを「SQL化」して、ADO.NET(およびEF)で動作できるようにする必要がありますが、ほぼ完了しています。

4

2 に答える 2

0

同じ接続文字列で DataAdapter サンプルを試しましたか? これは稼働していますか?TRACE LOGを提供していただけますか?以下を設定する必要があります。

トレースとデバッグ U2 Database Provider for .NET アプリケーションをデバッグするには、U2 トレース機能を使用できます。トレース機能を有効にするには、次の環境変数を設定します。

SET 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 テーブル、ビュー、およびサブルーチンを作成できるようになりました。

DataSet と Entity Data Model を作成できます。

于 2012-11-30T18:45:37.333 に答える