0

SQL Server 11 および 10 データベース サーバーでのデータベースの作成を含むプロセスがあります。dacpac を使用して、DacServices 経由で C# にこのデータをインポートしています。これは使用されているコードです:

var dac = new DacServices(masterConnString);
using (var bacPac = BacPackage.Load(templatePath))
{
    dac.ImportBacpac(bacPac, dealer.VSID.ToString(CultureInfo.InvariantCulture));
}

ローカル マシンからの初期テストのためにこれを実行すると、期待どおりに動作します。ただし、これをサーバーに投げると (WCF サービスの一部として実行されます)。次のエラーが表示されます。

'Microsoft.SqlServer.Dac.DacServices' の型初期化子が例外をスローしました。

サーバー スタック トレース: System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood (メッセージ応答、MessageFault フォールト、文字列アクション、MessageVersion バージョン、FaultConverter faultConverter) で System.ServiceModel.Channels.ServiceChannel.HandleReply (ProxyOperationRuntime 操作、ProxyRpc& rpc) で System. System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage メソッド呼び出し、ProxyOperationRuntime 操作) で System.ServiceModel.Channels.ServiceChannel.Call(文字列アクション、ブール一方向、ProxyOperationRuntime 操作、Object[] ins、Object[] outs、TimeSpan タイムアウト)。 ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage メッセージ)

[0] で例外が再スローされました: System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) でWcfServiceClient.Method(String string, Int32 integer) の String string, Int32 integer)

前もって感謝します。

4

1 に答える 1

1

私はついにこれを理解しました。問題の DLL は Microsoft.SqlServer.TransactSql.ScriptDom でした。それを参照すると、すべてが期待どおりに機能しました。しかし、その場所にたどり着くまでに多くの掘削が必要でした。

于 2015-08-25T14:51:48.403 に答える