none
Visual Studio 2008のWeb管理ツールでSQL Server 2005 Standard Editionを使いたい RRS feed

  • 質問

  •  

    お世話になっております。

     

    既出かもしれませんが、検索してもわからなかった&Web上の検索内容を実行してもうまくいかなかったので質問します。

     

    Web管理ツールを使用する際、SQL Server 2005 Express Editionを使う時は普通にセキュリティの設定ができるのですが、

    Standard Editionを使用した場合、接続できない旨のエラーが出て使用することができません。

     

    aspnet_regsqlコマンドを使い、aspnetdbを作成しました。

    web.configへconnectionstringsを追加しました。

     

    しかし、SQL Serverに接続できません とでます。

     

    何かいい方法は無いのでしょうか。

     

    ご教示をお願いいたします。

     

    2008年8月1日 4:25

回答

  • 接続文字列、特にインスタンス名が違っているのかもしれません。とりあえず、以下のコマンドで接続できますか?

     

    sqlcmd -E -S .\インスタンス名

     

    もし既定のインスタンスであれば、

     

    sqlcmd

     

    で接続できるかどうか確かめて下さい。

    2008年8月1日 5:08
    モデレータ
  • SQL ServerとASP.NETは同一OS上で動いていて、SQL Serverのインスタンス名はデフォルトと仮定して書きます。

    aspnet_regsqlでDBを作成したとのことですが、作成されていることはManagement Studioで確認されましたか?

    まず、データベースが作成されていて、接続に使用するユーザでログインできることと、データベースに接続できることを確認されるのがよいかと。aspnet_regsqlではデフォルトで、aspnetdbというデータベースが作成されます。

     

    SQL Server認証の場合はDB,アプリサーバが同じOS上の場合、次のような文字列になると思います。

     

        <add name="ProviderConnection" connectionString="Data Source=(local)\;Initial Catalog=【aspnetdb】;User ID=【ユーザID】;Password=【パスワード】;" providerName="System.Data.SqlClient"/>

    Windows認証の場合は

      <add name="ProviderConnection"
          connectionString="Initial Catalog=【aspnetdb】;Data Source=(local)\;Integrated Security=SSPI;"/>

    【aspnetdb】はデータベース名,【ユーザID】はSQL ServerにログインするユーザID,【パスワード】はパスワードです。

    当然ですが、SQL Server認証の場合はユーザが作成されていなければなりません。

     

    ご存知かもしれませんが、役に立ちそうな参考リンクを載せて置きます

     

    -How To: ASP.NET 2.0 で SQL 認証を使用して SQL Server へ接続する方法

    http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000010.aspx

     

    -How To: ASP.NET 2.0 で Windows 認証を使用して SQL Server へ接続する方法

    http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000008.aspx

     

    -How To: ASP.NET 2.0 でロール マネージャを使用する方法

    http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000013.aspx

     

    -How To: ASP.NET 2.0 でメンバシップを使用する方法

    http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000022.aspx

    2008年8月4日 12:52

すべての返信

  • 接続文字列、特にインスタンス名が違っているのかもしれません。とりあえず、以下のコマンドで接続できますか?

     

    sqlcmd -E -S .\インスタンス名

     

    もし既定のインスタンスであれば、

     

    sqlcmd

     

    で接続できるかどうか確かめて下さい。

    2008年8月1日 5:08
    モデレータ
  • お返事ありがとうございます。

     

    sqlcmdのコマンドのみでは、「1>」というプロンプトが表示されました。

     

    Web.Configへ設定するのがうまくいってないのでしょうか?

     

    どうぞよろしくお願いします。

     

    2008年8月1日 6:56
  • こんにちは

     

    的外れな質問なら申し訳ないのですが、接続文字列はあっているのですが?

    たとえばプログラム上で接続文字列を使用してDBに接続ができるのでしょうか?

     

    またWebサイト管理ツールのプロバイダタブで接続テストができる見たいですが、

    そこではエラーが発生しないんですか?

    2008年8月1日 7:55
  •  

    お返事ありがとうございます。

     

    handclaft様

     

    Webサイト管理ツールのセキュリティ、及びプロバイダタブの両方で

    「SQLServerに接続できません」

    となります。

     

    aspnet_regsqlにてDBは作成しましたが、そこへつなぐためのConnectionStringがわからないといった状況です。

    ネットで検索したConnectionStringを書き込んでみても、やはりエラーで接続ができないといった状況です。

     

    ご教示よろしくお願いします。

     

    2008年8月4日 5:12
  • SQL ServerとASP.NETは同一OS上で動いていて、SQL Serverのインスタンス名はデフォルトと仮定して書きます。

    aspnet_regsqlでDBを作成したとのことですが、作成されていることはManagement Studioで確認されましたか?

    まず、データベースが作成されていて、接続に使用するユーザでログインできることと、データベースに接続できることを確認されるのがよいかと。aspnet_regsqlではデフォルトで、aspnetdbというデータベースが作成されます。

     

    SQL Server認証の場合はDB,アプリサーバが同じOS上の場合、次のような文字列になると思います。

     

        <add name="ProviderConnection" connectionString="Data Source=(local)\;Initial Catalog=【aspnetdb】;User ID=【ユーザID】;Password=【パスワード】;" providerName="System.Data.SqlClient"/>

    Windows認証の場合は

      <add name="ProviderConnection"
          connectionString="Initial Catalog=【aspnetdb】;Data Source=(local)\;Integrated Security=SSPI;"/>

    【aspnetdb】はデータベース名,【ユーザID】はSQL ServerにログインするユーザID,【パスワード】はパスワードです。

    当然ですが、SQL Server認証の場合はユーザが作成されていなければなりません。

     

    ご存知かもしれませんが、役に立ちそうな参考リンクを載せて置きます

     

    -How To: ASP.NET 2.0 で SQL 認証を使用して SQL Server へ接続する方法

    http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000010.aspx

     

    -How To: ASP.NET 2.0 で Windows 認証を使用して SQL Server へ接続する方法

    http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000008.aspx

     

    -How To: ASP.NET 2.0 でロール マネージャを使用する方法

    http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000013.aspx

     

    -How To: ASP.NET 2.0 でメンバシップを使用する方法

    http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000022.aspx

    2008年8月4日 12:52
  •  

    お返事ありがとうございます。

     

    handcraft様

     

    先の説明で教えていただいたとおり設定してみましたがやはりだめでした。

    DBに対してアクセス許可や権限などをユーザーに付与してみましたがそれでもだめでした。

     

    素直にExpress使えってことなんでしょうかね・・・

     

    今、別の問題に直面してますのでこちらは後ほど再開しようと思います。

    どうもありがとうございました。

     

    2008年8月7日 2:51