2

ClickOnce によってインストールされている winform アプリがあり、デフォルトで sqlexpress でリモート接続を有効にする必要があります。

また、ローカル ユーザーが SQL インスタンスにアクセスできることを確認する必要があります。マニフェスト ファイルを編集するにはどうすればよいですか?

私のアプリは、マージ レプリケーション トポロジの一部です。DAL を継承しましたが、変更するまで SProc の制限により SQL CE に切り替えることができません。

SQL Express は ClickOnce (可能) であり、前提条件として VS2008 のデフォルトです。

以下は、SQL Express Bootstrapper パッケージの Product.xml です。これを変更して必要なことを達成するにはどうすればよいですか? 他の誰かがこれを変更する必要がありましたか? この例を次に示します。

<Command PackageFile="sqlexpr32.exe" Arguments="-q /norebootchk /qn reboot=ReallySuppress addlocal=all instancename=SQLEXPRESS SQLAUTOSTART=1 ADDUSERASADMIN=1" EstimatedInstalledBytes="225000000" EstimatedInstallSeconds="420">
<InstallConditions>
 <BypassIf Property="SQLExpressInstalled" Compare="ValueEqualTo" Value="0"/>
 <BypassIf Property="VersionNT" Compare="VersionLessThan" Value="5.1"/>
 <FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired"/>
 <FailIf Property="Version9x" Compare="ValueExists" String="InvalidPlatformXP"/>
 <FailIf Property="VersionNT" Compare="VersionLessThan" Value="5.1.2" String="InvalidPlatformXP"/>
 <FailIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="Intel" String="InvalidPlatformArchitecture"/>
 </InstallConditions>
<ExitCodes>
 <ExitCode Value="0" Result="Success"/>
 <ExitCode Value="1641" Result="SuccessReboot"/>
 <ExitCode Value="3010" Result="SuccessReboot"/>
 <ExitCode Value="50037" Result="Fail" String="MissingMSXml"/>
 <ExitCode Value="50251" Result="Fail" String="MissingMSXml"/>
 <ExitCode Value="50198" Result="Fail" String="InsufficientHardware"/>
 <ExitCode Value="50236" Result="Fail" String="InsufficientHardware"/>
 <ExitCode Value="50222" Result="Fail" String="InvalidPlatformOSServicePacks"/>
 <ExitCode Value="70003" Result="Fail" String="InvalidPlatformOSServicePacks"/>
 <ExitCode Value="50247" Result="Fail" String="InvalidPlatformIE"/>
 <ExitCode Value="50248" Result="Fail" String="InvalidPlatformIE"/>
 <ExitCode Value="70004" Result="Fail" String="AnotherInstanceRunning"/>
 <ExitCode Value="70032" Result="Fail" String="BetaComponentsFailure"/>
 <ExitCode Value="70033" Result="Fail" String="InvalidPlatformArchitecture"/>
 <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure"/>
 </ExitCodes>
 </Command>

みんなに感謝します。

4

3 に答える 3

1

SQL Express Edition は、依然としてサーバー クラスのデータベースです。常にサービスとして実行され、他のサーバー クラスのデータベースと同様に、多くのリソースを必要とします。これは、ローカル デスクトップ アプリにはあまり適していません。

シングル ユーザー データベースが必要な場合は、SQL Server Compact Edition、Sqlite、さらには Access などを使用します。デスクトップ アプリをインストールしたのに、SQL Server の完全なインストールが一緒にドラッグされたことがわかった場合は、それがありがたいとは思いません。

于 2009-06-04T21:14:00.773 に答える
0

SQL Server はサービスです。1 回のクリックでサービスをインストールすることは理論的には可能のようです。ここここを参照してください。

SQL Express はサンドボックス化されたアプリケーションを展開するためのテクノロジであるため、クリック 1 回でインストールすることは不可能だと思います。SQL サーバーは金属の近くで実行され、サンドボックスでは機能しない可能性があります。

SQL Compact は別の話ですが、クリック ワンス アプリをそのデータベースと共に展開するためのより適切な方法です。

または、アプリが別のサーバー上のデータベースを参照できるようにします。

編集: そして、あなたの質問がすべて間違っている場合 (これは、SQL Express が既にインストールされているクライアント ワークステーション上のクリック ワンス アプリです)、この方法でリモート接続を有効にする必要があります。SAC ツールを使用してプログラムで実行できるという証拠の断片があります。

于 2009-06-04T21:14:27.777 に答える
0

あなたのpackage.xmlがうまくいかず、デスクトップ向けのはるかにシンプルなソリューションが必要な場合は、ファイアバードがオプションになる可能性があります。SQLサーバーからの変換時にPDFがあり、ストアドプロシージャはそのままです。すべての sprocs を Linq に変換すると、テストは言うまでもなく気が狂ってしまいます... 変換するときは、サーバーからデータを読み取る Crystal レポートやその他のサードパーティのユーティリティなどに注意してください。概念作業の証明が必要です。しかし、展開して、W7 の新しいセットアップでさえ失敗することがわかりました。私はここでの感情に同意します。周辺機器のユーティリティが .\ でハードコードされており、(localdb)\ が必要なため、ローカル DB も適切とは言えません。

于 2012-08-29T08:56:46.020 に答える