2009-05-27 18 views
0

私はwinformアプリケーションを使用してSQLExpressをインストールする必要があります。どのようにしてSQLインスタンスが呼び出されるかを予測して、接続文字列がすべて動作するようにする方法はありますか。 ./SQLEXPRESS? username/SQLEXPRESS? または完全に他の何か?ClickOnce、SQLExpressおよび名前の予測

ありがとうございます!

答えて

4

まず、データベースをデータファイルとして展開します。 ApplicationDeployment.DataDirectory(デプロイ時)またはApplication.StartupPath(テスト中)で定義されたフォルダに配置されます。

次に、あなたのプログラムが実行されるコンテキストをチェックする必要があります。

string databaseLocation; 
if (ApplicationDeployment.IsNetworkDeployed) 
{ 
    databaseLocation = ApplicationDeployment.CurrentDeployment.DataDirectory; 
} 
else 
{ 
    databaseLocation = System.Windows.Forms.Application.StartupPath; 
} 
databaseLocation = System.IO.Path.Combine(databaseLocation, "databasename.mdf"); 
0

なぜ接続文字列がハードコードされていますか?エンドユーザーには、データベースの場所を変更するオプションが必要です。

+1

本当に、看護師やソーシャルワーカー、その他の様々な「コモン・フォーク」がデシベルは、コミュニティノルムで選択させますか?もし私がそうすれば、私のヘルプデスクが私を食いつぶすだろうと思う! また、1 dbから選択できるのは、ローカルには利用可能なすべてのものがあるからです。 私の接続文字列は現在設定ファイルにあります。 –

+0

次に、dbが正しい名前でないと心配していますか? –

+0

??? 接続文字列のローカルSQLインスタンスの名前を知る必要はありませんか?デフォルトはありますか?保証? A La: "データソース= WWCSTAGE;初期カタログ= CMO;セキュリティ情報を保持する= True; データソースポイントとは何ですか? –

関連する問題