• 締切済み

ASP.NETからSQL Expressに接続できない??

VS 2005 Beta1 と SQL Express を使っていますが、 SQL ExpressのGUIツールにユーザアカウントを 作成するようなものが見つからなくて・・・・ VS上の Windows NT の統合~にて接続する と 特定のユーザで接続する の2つの選択肢のうち、 「特定のユーザで接続する」 がどうしてもうまくできないので、 「Windows NT の統合~にて接続する」 のほうでなんとかWindowsアプリケーションに ついては、DB接続できるようになりました。 ところが、ASP.NETで同じ方法でやると なぜか、ASPNETユーザで接続しにいってしまって うまくDB接続できないです。 プログラムのソース上では ConnectionStringとして、 Integrity = true の方の記述でとくにUID=とかPWD=とかの 記述のされ方がないのに、 デバッガで例外の内容をみると ASPNETユーザで接続しにいって失敗しています。 そこで、特定のユーザによる接続の方法に 切り替えたいのですが。 SQL Expressにユーザ登録のGUIがないので、 コマンドをじかにたたいてみました。 EXEC spxxx @loginame=xxxxx @passwd=xxx とかそういう構文です このやり方でASPNETのloginameを作ってみました。 ソース上のConnectionStringのほうも UID=ASPNETの記述を施しましたが・・・。 うまくいかないです。 ちなみに今、出先で文章を書いています。 家にちゃんとした構文があるのですが、 完全におぼえてないのですいません。 とにかく、↑のような構文だった記憶があります。 普通のOracleとかのCreate userがつかえて 調べたら、そういう構文が見つかりました。 以上。

みんなの回答

  • noezou
  • ベストアンサー率60% (27/45)
回答No.1

SQL Expressはまだ使っていないので自信ないのですが、MSDE2000での操作方法です。 osql コマンドから 「sp_addlogin ユーザー名  パスワード  データベース名」でまずユーザーを追加して、 「USE  データベース名」でカレントデータベースを移動してから 「sp_grantdbaccess  ユーザー名」とデータベースで操作する権限を与えるのが手順だと思うんですが…

関連するQ&A

  • ASP.NETでSQL-SERVERへの接続方法

    最近、ASP.NETの勉強をはじめました。テキストを見ながらサンプルプログラムを作成しているのですが、SQL-SERVERへのDB接続方法がうまくいきません。 Dim conn As String = "data source=????;user id=sa;password=;initial catalog=SampleDb" Try   Dim objConn As New SqlClient.SqlConnection   objConn.ConnectionString() = conn   Dim comm As New SqlClient.SqlCommand(sql, objConn)   objConn.Open() ソース一番上の????の部分に何と記述すればいいかわかりません。テキストには localhost と記述されています。コンパネの「ODBCデータソース」のDSNやサーバ名を記述しても無理でした。 ASP開発で使用していたDB接続 Conn = "PROVIDER=SQLOLEDB;SERVER=サーバ名;DATABASE=YUSODB;UID=sa;PWD=;" を試したりしたのですが、無理でした。 どなたかご教授お願いします。

  • ASPからSQLサーバへの接続について

    しばらくASPから離れておりましたので、ご教授願います。 データベースにSQLサーバ6.5を使っています。 ASPからSQLサーバに接続してデータの登録、変更、削除をしています。 その際に、ASPのソースコードに接続ユーザ名とパスワードを記述しているのですが、 これを記述しないで接続することは可能でしょうか? 可能であれば、その設定方法をお教え願います。 開発環境は以下の通りです。 Windows2000 Prof + IIS + SQL Server6.5

  • SQLサーバーへの接続が どうしてもウマくいきません

    SQLサーバーを始めたばかり です。 ASPで SQLサーバーのデータを表示しようとしています。 環境: WinXP (Pro)     IIS設定済み     SQL Server 2005 Express Edition 近くに2003サーバーがあるので 最終的にはそちらで動作させる予定です。 サーバーが現用機なので 自PCで動作確認してからと思っています。 色々ネットを調べて まず接続しようとしましたが そこでつまづいています。 この方法以外も沢山試しましたが全てうまく行きません。 2005 ExpressでDBとテスト用のテーブルが作成してあります。 そのデータを読み出せれば 第一段階とトライしますが、 IEから接続にいくと「objCon.Open」がエラーになってしまいます。 ASPファイルの内容は 以下です なお DB名は 「PC名¥SQLEXPRESS」といれています よろしく お願いします ---------------------------------------------------- <%@ LANGUAGE="VBScript" %> <% option explicit %> <% Dim objCon ' DB接続コネクション Dim objRS ' DB結果レコードセット Dim sql ' SQL文 Dim errflg ' エラーフラグ 'DataSource名 Const DS = "111.111.0.1" ←IPアドレス。正しいものをいれてます Const IC = "DB名"      'ユーザ名 Const User = "sa" 'パスワード Const Pwd = "sa" Set objCon = Server.CreateObject("ADODB.Connection") Set objRS = Server.CreateObject("ADODB.Recordset") objCon.ConnectionString = "Provider=SQLOLEDB;" & _ "User ID=" & User & ";" & _ "Password=" & Pwd & ";" & _ "Data Source=" & DS & ";" & _ "Initial Catalog=" & IC objCon.Open sql = "select * from Aテーブル" objRS.Open sql,objCon,adOpenStatic,adLockReadOnly %> レコード件数 <%=objRS.RecordCount%> <% ' DBclose objCon.Close() Set objCon = Nothing objRS.Close() Set objRS = Nothing %>

  • ASPからSQLサーバーへ接続できない

    色々な質問を見たのですが 環境などの違いもあり解決できず 困っています。 環境は1台のPC(W2000)にIIS+SQLサーバー2005デベロッパーエディションとか言うテスト用のバージョンをインストールしています。 また SQLサーバーはWindows認証を使っています。 SQLサーバーにマネジメントエキスプレスで接続して システムデータベースにPLEMIAというデータベース名を作り テーブルのシステムテーブルにpure_kihonというテーブルを作っています。 ASPにて試験的につないでみようと思い Dim objCon Set objCon = Server.CreateObject("ADODB.Connection") objCon.ConnectionString = "Provider=SQLOLEDB;" & _ "Data Source=(local);" & _ "Initial Catalog=PLEMIA;" & _ "Integrated Security=SSPI;" objCon.Open strSQL = "SELECT * FROM [pure_kihon]" objRS.Open strSQL, objCon, 3 こうした場合  objCon.Open のところで引っかかり Microsoft OLE DB Provider for SQL Server (0x80004005) [DBNETLIB][ConnectionOpen (Connect()).]SQL Server が存在しないか、アクセスが拒否されました。 と出てしまいます。 SQLサーバー自体は稼働しているようなんですが 何がいけないのか よく分かりません。 どなたか解決策などご教授頂けると幸いです。 よろしくお願いします。

  • SQLサーバーへの接続に 接続したいのですが・・・

    質問する場所が 違ったかもしれないので 再度質問させていただきます。 SQLサーバーを始めたばかり です。 ASPで SQLサーバーのデータを表示しようとしています。 環境: WinXP (Pro)     IIS設定済み     SQL Server 2005 Express Edition 近くに2003サーバーがあるので 最終的にはそちらで動作させる予定です。 サーバーが現用機なので 自PCで動作確認してからと思っています。 色々ネットや本を調べて まず接続しようとしましたが そこでつまづいています。 この方法以外も沢山試しましたが全てうまく行きません。 2005 ExpressでDBとテスト用のテーブルが作成してあります。 そのデータを読み出せれば 第一段階とトライしますが、 IEから接続にいくと「objCon.Open」がエラーになってしまいます。 ASPファイルの内容は 以下です なお DB名は 「作成した名前」と入れています よろしく お願いします ---------------------------------------------------- <%@ LANGUAGE="VBScript" %> <% option explicit %> <% Dim objCon ' DB接続コネクション Dim objRS ' DB結果レコードセット Dim sql ' SQL文 Dim errflg ' エラーフラグ 'DataSource名 Const DS = "111.111.0.1" ←IPアドレス。正しいものをいれてます Const IC = "DB名"      'ユーザ名 Const User = "sa" 'パスワード Const Pwd = "sa" Set objCon = Server.CreateObject("ADODB.Connection") Set objRS = Server.CreateObject("ADODB.Recordset") objCon.ConnectionString = "Provider=SQLOLEDB;" & _ "User ID=" & User & ";" & _ "Password=" & Pwd & ";" & _ "Data Source=" & DS & ";" & _ "Initial Catalog=" & IC objCon.Open'ここで エラーになります sql = "select * from Aテーブル" objRS.Open sql,objCon,adOpenStatic,adLockReadOnly %> レコード件数 <%=objRS.RecordCount%> <% ' DBclose objCon.Close() Set objCon = Nothing objRS.Close() Set objRS = Nothing %> なお エラー内容は 以下です ----------------------------- HTTP 500.100 - 内部サーバー エラー - ASP エラー インターネット インフォメーション サービス エラー タイプ Microsoft OLE DB Provider for SQL Server (0x80004005) [DBNETLIB][ConnectionOpen (Invalid Instance()).]接続が正しくありません ----------------------------- また  1.IPアドレスは Const DS = "127.0.0.1"でも 同様なエラーです 2.表示できるASPファイルを置き、他のPCから 表示できる環境です

  • WindowsCE5.0マシンでSQLサーバに接続

    WinXP、VS2005(VB)においてデバイスアプリケーションを作成しています。そこで、サーバー側のSQLServer2005Expressに接続したいのですがうまくいきません。ちなみに実行は、PocketPC2003のエミュレーターを使用しています。[SqlClient]を使用してConnectionStringに、 "Data Source=PC名\sqlexpress;Initial Catalog=DB名;Persist Security Info=True;User ID=sa;Password=パスワード;Connection Timeout=10" を入れてOpenしようとしているのですができません。ポイントは(1)そもそも[SqlClient]を使用してSQLサーバーにアクセスできるか?(2)エミュレータに設定が必要(IEでHPの観覧が出来るのは確認できた)(3)接続文字列が不備?(ただし通常のWindowsアプリでは動作確認できている) いろいろと要因はあるかと思いますが、まず何か思い当たるところがありましたらご教授ください。(SQLサーバーはF/Wは無効にしていますし外部からの接続は確認できています)

  • VC++からSQL Server 2008への接続

    現在ODBCを使用してSQL Serverと接続しています。 ODBCだとそれを使用するマシン全てにODBCの設定をしないといけないため、ODBCの使用を避けようと思っております。 そこで、ODBC以外を使用して、マシンへの設定等も必要がない、SQL Serverと接続するものを探しております。 開発言語はVS2010のVC++です。 DBはSQL Server 2008です。 ADOとODBCであれば、providerに直接指定することで、ODBCの接続なしにSQLに接続できると耳にしたのですが、 やり方がわかりません(VBのページがやたら出てくる) いい接続方法はありますでしょうか? また、その構文例、参考ページがありましたらご教授頂けたらと思います。 よろしくお願い致します。

  • MFC ADOでSQL Serverに接続するには

    初心者の初めての質問です。ご教授よろしくお願いします。 開発環境は Microsoft Visual Studio Term System 2008 OS XP SP3 Microsoft SQL Server 2005 です。 VC++ MFC、SQL Serverでプログラムを組んでいるのですが、 今DB接続に困っています。 「Provider=MSDASQL;DSN=DB名;UID=ID;PWD=PassWord」の文字列を使ってDBとの接続ができますが、 一回目のトランザクションが失敗します。 エラー内容は 「 DbConnection::Transaction COM Error:80004005 Source:Microsoft OLE DB Provider for ODBC Drivers エラーを特定できません 」 です。 解決方法を教えて頂ければ幸いです。

  • ASP.NETからのデータベースの作成

    こんにちは。 SQL SERVER 2005 ExpressとIIS5.0とASP.NET2.0+C#で使っています。 一台のサーバーマシンに、SQL SERVER 2005 ExpressとIIS5.0をインストールした状態なのですが、Webページ上のC#のプログラムよりデータベースを作成しようとすると、 CREATE DATABASE 権限がデータベース 'master' で拒否されました。 と、メッセージが出ます。 要するに権限がないというのはわかるのですが、このようにWebからログインしてきたユーザーに権限を付加することはできるのでしょうか? あるいは、接続文字列かなんかで権限のあるユーザーでログインする、といったことが可能なものでしょうか? 現在は以下のようにして接続、作成を行おうとしています。 SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Server=.\\SQLEXPRESS;Integrated security=SSPI"; String strDatabase = "CREATE DATABASE newdatabase"; SqlCommand cmdDatabase = new SqlCommand(strDatabase, conn); conn.Open(); cmdDatabase.ExecuteNonQuery(); conn.Close(); エラーの内容から、SQL SERVERそのものへのアクセスは成功しているように思えます。 よろしくお願いします。

  • VWD エラー 「ユーザー 'NT AUTHORITY\NETWORK SERVICE' はログインできませんでした。」

    Vista, VWD2008 express edition, SQL Server 2008を使っています。 SQL Server 2008をインストール時に色々失敗し、DBのインスタンスはSQLEXPRESS3という名前になっています。web.configに <remove name="LocalSqlServer"/><add name="LocalSqlServer" connectionString="data source=(CP名)\SQLEXPRESS3;user id=sa;password=;Integrated Security=SSPI;Initial Catalog=aspnetdb" providerName="System.Data.SqlClient"/> として、DB接続しているのですが、タイトルのエラーがでます。 「NT AUTHORITY」に接続権限を与えても同じでした。どうしたらログインできる様になるか教えて頂けませんでしょうか。