0

ASP.NET を独学するために本を読んでいます。これまでのところ、SQL DeveloperのSQLでも問題ありませんが、外部アプリから接続できません。

IIS 7.5 を使用して、Visual Studio 2010 Pro SP1、SQL Server 2008 R2 Standard、および Windows 7 Professional SP1 を使用しています。私が ASP.NET で使用している言語はVB.NETですが、 C#の回答には満足しています。

接続文字列を機能させることができません

connectionString="Server=ASUS-P5Q\MSSQLSERVER;Database=Dorknozzle; User Id=xxxxxxxxx; Password=xxxxxxxxx;"

私はいつも次のエラーを受け取ります

「/」アプリケーションでサーバー エラーが発生しました。
ユーザー「ASUS-P5Q\xxxxxx」のログインに失敗しました。

説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

例外の詳細: System.Data.SqlClient.SqlException: ユーザー 'ASUS-P5Q\xxxxxxx' のログインに失敗しました。

ソース エラー:

17行目: conn.Open()**

ユーザーアカウント制御、ウイルス対策、ファイアウォールをオフにしましたが、何も機能しません:-(

4

5 に答える 5

0

@MTAdminが指摘したように、統合認証を使用しているようです..

この方法を使用する場合は、ログイン情報としてのみ使用できるため、アプリケーション プールがそのユーザー (この場合は「ASUS-P5Q\xxxxxx」) として実行されていることを確認し、次の接続文字列を使用してください。

Server=ASUS-P5Q\MSSQLSERVER;Database=Dorknozzle;Integrated Security=SSPI;

今後の参考のために、いつものように卑劣な接続文字列を忘れた場合は、 ConnectionStrings.comを使用することをお勧めします。

于 2013-03-31T01:03:49.390 に答える
0
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;

namespace User_Management
{
    class DatabaseConnection
    {
        public string GetConnectionString()
        {
            return @"server=AFORE\MSSQLSERVER; Integrated Security=SSPI; Database = prictice;";
        }

        public SqlConnection GetConnectionObj()
        {
            SqlConnection connectionObj=new SqlConnection(GetConnectionString());
            connectionObj.Open();
            return connectionObj;
        }
        public void ExecuteSqlCommandAndCloseConnection(string insertQueryString, SqlConnection connectionObj)
        {
            SqlCommand sqlCommandObj = new SqlCommand(insertQueryString, connectionObj);
            sqlCommandObj.ExecuteNonQuery();
            connectionObj.Close();
        }
        public void ExecuteSqlCommandOnly(string insertQueryString, SqlConnection connectionObj)
        {
            SqlCommand sqlCommandObj = new SqlCommand(insertQueryString, connectionObj);
            sqlCommandObj.ExecuteNonQuery();

        }
    }
}
于 2013-10-10T01:16:30.973 に答える
0

統合認証 (Windows のユーザー名とパスワード) を使用していることを示すエラー メッセージが表示されます。これが失敗する理由はいくつかあります。

簡単にするために、Sql 認証を使用することもできます。Sql でユーザーを作成し、接続文字列でそのユーザー名とパスワードを指定します。私は通常、Sql のユーザー名とパスワードから始めて、展開前に最終的な認証方法を決定します。

于 2013-03-31T00:34:54.503 に答える
0

ローカル データベース エンジンに接続するには、.\sql2008 のように .\ 構文を使用できます。

connectionString="Server=.\MSSQLSERVER;Database=Dorknozzle; User Id=xxxxxxxxx; Password=xxxxxxxxx;Integrated Security=false;"
于 2013-03-31T00:35:05.347 に答える
0

問題を修正した方法は、SQL Management Studio でユーザーを作成し、SQL Server ユーザー認証を使用したことでした。これは最終的に私のために働いた文字列です...

connectionString="Data Source=ASUS-P5Q\MSSQLSERVER,1433;Initial Catalog=Dorknozzle;Integrated Security=False;User ID=SQLDT;Password=####" providerName="System.Data.SqlClient" />

助けてくれてありがとう:)

于 2013-10-10T01:03:10.327 に答える