• 締切済み

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」に接続権限を与えても同じでした。どうしたらログインできる様になるか教えて頂けませんでしょうか。

みんなの回答

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.2

思うに「状態が変わらない」というのはおかしいと思いますが。。 SQL Server認証にしているならば、最低でも「ユーザー 'sa' はログインできませんでした。」 になるはずですからね。そう出ていませんか?

vwd-ken
質問者

お礼

ありがとうございます。 それが変わらないのです。私も不思議でしょうがありません。 色々設定を変えたりしてもかならず、'NT AUTHORITY\NETWORK SERVICE' でログインしてしまう様なのです。おっしゃる通りにエラーを出してくれれば、もう少し考えようもあるのですが。 Management Stdio では、ID = sa; Password = .. で問題無くSQL認証できます。

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

>Integrated Security=SSPI SQL Server認証なのに、これを切っているのはなぜですか?

vwd-ken
質問者

お礼

ご回答頂きありがとうございます。正直言うと詳しい事を理解しておらず手探りしながらやっていますので、無知な質問等していましたらお許し下さい。 Windows認証+SQL認証の混合モードを使用しているので必要かなと思い残しておきました。確かにuser id=sa;Pas...とした時点でSQL認証を使っているのですが、この一文を消しても状態は変わらないです。Web管理ツールからデータベースへの接続テストをしても、その他の接続テストをしても正常に動きます。ただ、実行してログインをした時だけ標題のエラーがでます。ローカルIISではなく、ローカルファイルシステム上で何の設定もしない場合は正常に動きます。 上記の他に何かおかしい事をやっていますでしょうか?

関連するQ&A

  • VB2005のデータソースの切り替えについて

    VB2005を使用して社内の業務ソフトウェアの開発をしています。 本番環境ではデータベースソフトとしてSQL Server 2005を使用する予定になっているのですが、開発環境ではAccessのmdbファイルを使用したいと考えています。 この場合、Accessのファイルをデータソースとして開発したプロジェクトに含まれる、app.configの <connectionStrings> <add name="テストDB.My.MySettings.テストDBConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\テストDB.mdb" providerName="System.Data.OleDb" /> </connectionStrings> の部分を、 <connectionStrings> <add name="テストDB.My.MySettings.テストDBConnectionString" connectionString="Data Source=[サーバー名];Initial Catalog=テストDB;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings> と書き換えても、うまく動作しません。 データベースに接続するのがOleDbConnectionになっているため、データソースをSQL Serverに変えても動かないのはわかるのですが、開発時にAccessを使用して、本番環境ではSQL Serverを使用する、といった切り替えを簡単にできる方法というのはあるのでしょうか? SQL Server同士であればapp.configの接続文字列を変えるだけで簡単に変更することができたのですが...

  • 他のPCのSQLサーバーに接続したい

    2台のPCはLANに繋がれていて、同じワークグループです。 PC1をサーバーとして PC2からPC1のSQLサーバーへ接続したいのですが どうすればいいのでしょうか? (エクセル→SQLサーバーです。) PC1は Dim cn As New ADODB.Connection cn.Open "Provider=SQLOLEDB;Data Source=○○○○\SQLEXPRESS; " & _ "Initial Catalog=" & サーバー名 & ";" & _ "Integrated Security=SSPI" rs.Open "Tテーブル", cn, adOpenStatic, adLockOptimistic と言うように接続しています。 PC2から同じようにコードを書いてみましたがやはりエラーになってしまいました。 多分、 「cn.Open "Provider=SQLOLEDB;Data Source=○○○○\SQLEXPRESS;」 の部分だと思うのですが どうすればPC2からPC1のSQLサーバーへ接続することができるのでしょうか? どちらも環境は OS:2000、オフィス:2003、 PC1のみSQLサーバー2005がインストールされています。 IPアドレスは固定です。 ご教授よろしくお願い致します。

  • SQL Serverへの接続で困っています

    お世話になります。大変困っているので助けてください。 VB 2008EXPRESS EditionとSQL Server EXPRESS Edition(共に無償)をネットからダウンロードしてインストールしました。 VBからSQL Serverに接続したく以下のようなコードを記述しました。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' 接続文字列を生成する Dim stConnectionString As String = String.Empty ' stConnectionString &= "Data Source = ABSAN\SQLEXPRESS;" ' stConnectionString &= "Initial Catalog = ABSAN;" ' stConnectionString &= "Integrated Security = SSPI;" stConnectionString = "Server=ABSAN\SQLEXPRESS;Initial Catalog=ABSAN;Integrated Security = SSPI;" ' SqlConnection の新しいインスタンスを生成する (接続文字列を指定) Dim cSqlConnection As New System.Data.SqlClient.SqlConnection(stConnectionString) ' データベース接続を開く cSqlConnection.Open() ' 接続に成功した旨を表示する MessageBox.Show("Microsoft SQL Server に接続されました") ' データベース接続を閉じる (正しくは オブジェクトの破棄を保証する を参照) cSqlConnection.Close() cSqlConnection.Dispose() End Sub 結果として、「SqlEXceptionはハンドルされませんでした」旨のメッセージが帰ってきます。 但し、自分でもData SourceとInitial Catalogの設定のところがこれでいいのかと思っています。 何らかの形で正しい設定をしたいのですが、サーバのインストール時にこのような設定があったように記憶がありません。 また他にも原因があるようでしたら教えてください。 何分急いで下ります。よろしくお願いいたします。

  • エクセルからSQLサーバー 時間切れになるようになった

    cn.Open "Provider=SQLOLEDB;Data Source=NASTUN-PC\SQLEXPRESS; " & _ "Initial Catalog=" & サーバー名 & ";" & _ "Integrated Security=SSPI" cn.Execute "UPDATE Tbl SET チェック = 0" エクセルからSQLサーバーへ更新クエリを実行しています。 今までこのコードで問題なく作業できていたのですが 昨日から エラーNo:-2147217871 「時間切れになりました。」 というエラーになります。 cn.CommandTimeout = 120 と長くしても同じです。 何もいじってないのにできなくなるなんてあるのでしょうか? SQLサーバーにはテーブルのみおいています。 よろしくお願いします。

  • エラーを発生させたい(SQLサーバーへの接続)

    ネットのサンプルコードでSQLサーバーの接続テストをしましたが、 存在しないSQL文でもエラーになりません。(vb2005です) Sub sqlサーバーへ接続() ' 接続文字列を生成する Dim Cn As New System.Data.SqlClient.SqlConnection Dim SQL As System.Data.SqlClient.SqlCommand Dim stConnectionString As String = String.Empty stConnectionString &= "Data Source = ××××\SQLEXPRESS;" stConnectionString &= "Initial Catalog = ×××;" stConnectionString &= "Integrated Security = SSPI;" ' SqlConnection の新しいインスタンスを生成する (接続文字列を指定) Dim cSqlConnection As New System.Data.SqlClient.SqlConnection(stConnectionString) ' データベース接続を開く cSqlConnection.Open() SQL = Cn.CreateCommand SQL.CommandText = "SELECT テーブル1.あああフィールド1 FROM テーブル1" '間違ってても進んでしまう。 ' 接続に成功した旨を表示する MessageBox.Show("Microsoft SQL Server に接続されました") ' データベース接続を閉じる (正しくは オブジェクトの破棄を保証する を参照) cSqlConnection.Close() cSqlConnection.Dispose() End Sub 「あああフィールド1」なんて存在しないのに、先に進んでしまいます。 エラー処理の仕方を教えてください。 よろしくお願いします。

  • 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は無効にしていますし外部からの接続は確認できています)

  • ASP.Net Web.Config 接続文字列が

    お世話になります。 Web.Config から 接続文字列を取得しようと下記のようなコードをサイトから学んだのですが、 Dim conStr As String = ConfigurationManager.ConnectionStrings("ConnectionStringSQL").ConnectionString Dim conn As SqlConnection = New SqlConnection(conStr) これを実行すると、エラーになってしまいます。 "Provider=SQLOLEDB;Data Source=SERVER01;Integrated Security=SSPI;Initial Catalog=TESTSQL" 上記が接続文字列なのですが、Provider=SQLOLEDB この部分を取り除き、 "Data Source=SERVER01;Integrated Security=SSPI;Initial Catalog=TESTSQL" このように直接、接続文字列を上記のようにすると、問題なく動くのですが、何かおかしいと思うのですが、わたくしの方にミスや足りない個所があれば、是非、ご指摘いただければと存じます。 Dim conStr As String = ConfigurationManager.ConnectionStrings("ConnectionStringSQL").ConnectionString Dim conn As SqlConnection = New SqlConnection(conStr) 上記のように記述して接続文字列を取得設定できればスマートだと思うのですが・・・・ よろしくお願いいたします。

  • VB.NetでSQLServer2005に接続できません。教えてください。

    はじめまして。初めて投稿します。 かなり困っているので、誰か助けてください。 内容はVB.Net2003を使用して、SQLServer2005に接続するときに 「SSPI コンテキストを生成できません」のエラーが発生してしまいます。 SQLServer2005をインストールしているのがサーバーではなく クライアント(プログラムを実行している端末)なので、 それが原因だと思うのですが、どうしてもその環境でしなくてはいけないので 何かご存知の方がおられるのなら、ご教示お願いします。 ソースは以下のとおりです。 ↓ Dim Scn As SqlClient.SqlConnection = New SqlClient.SqlConnection '接続文字列セット Scn.ConnectionString = _ "Server=""(local)"";Integrated Security=SSPI;database=" & データベース名 'dbオープン Scn.Open() ←このタイミングでエラーが発生

  • プログラムから別サーバのSQLServerに接続したい

    タイトルのとおりなのですが、C#のプログラムから 別サーバ上のSQLServerに接続したいのですがつながりません。 ConnectionStringは以下のようになっています。 Data Source=192.168.0.1;Initial Catalog=DbTest;Integrated Security=True "192.168.0.1"の部分を"192.168.0.1\instanceName"にしましたが これもダメでした。 初心者なので、この辺りのことがよく分からないのですが、 これはDBサーバ側に何か設定が必要でしょうか。 また解決になるようなページなどありましたらお教えください。

  • エクセルからSQLServerのデータを操作したいのですが

    エクセルからSQLServerのデータを操作したいのですが 下記コードをエクセルに入力して実行すると conn.Open connstrの部分にて 実行時エラー"-2147217887(80040e21)' 複数ステップの OLE DB の操作エラーが発生しました。各OLE DBの状態の値を確認してください。 作業は終了しませんでした。 とでてしまいます。 どのようにしたらいいのでしょうか? 教えてください。 Const connstr ="Data Source=●●●\SWLEXPRESS;Initial Catalog = DBweb;Integrated Security=True" は Web.configで接続されている <add name ="webConnectionString" connectionString="Data Source=●●●\SWLEXPRESS;Initial Catalog = DBweb;Integrated Security=True"_ providerName = "System.Data SqlClient"/>からproviderNameを抜かしてとったのですがいいのでしょうか? ------------------------------------------- Sub SQL() Const connstr ="Data Source=●●●\SWLEXPRESS;Initial Catalog = DBweb;Integrated Security=True" Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim strSQL As String strSQL = "SELECT * FROM DBtable" conn.Open connstr rs.Open strSQL, conn Range("A2").CopyFromRecordset rs rs.Close conn.Close Set rs = Nothing Set conn = Nothing End Sub