2017-09-24 4 views
0

クラウドサーバーのIISにWebServiceをロードする際に問題が発生しました このWebServiceは、SQLサーバーDBのユーザー名とパスワードを確認し、XMLでTrueまたはFalseを返します。クラウドサーバーのIISでC#WebServiceが機能しない

WebServiceのコード:

public Result Login(string userName, string userPass) 
    { 
     SqlConnection conn = new SqlConnection(new DBConnection().ConnectionString); 

     Result result = new Result(); 

     try 
     { 
      SqlCommand cmd = new SqlCommand("select username,password from users where username = @username and password = @password"); 
      cmd.Parameters.AddWithValue("username", userName); 
      cmd.Parameters.AddWithValue("password", userPass); 
      cmd.Connection = conn; 

      if (conn.State == System.Data.ConnectionState.Closed) 
       conn.Open(); 
       SqlDataReader dr = cmd.ExecuteReader(); 

      if (dr.HasRows) 
      { 
       result.ValidUser = true; 
       return result; 
      } 
      else 
       result.ValidUser = false; 


     } 

     catch (Exception ex) 
     { 
      result.Error = ex.ToString(); 
     } 

     finally 
     { 
      conn.Close(); 

     } 

     return result; 
    } 
----------------------------------------------------------- 

接続文字列:

public string ConnectionString 
    { 
     get 
     { 
      return "Data Source=localhost;Integrated Security=True;Initial Catalog=test"; 

     } 
    } 

と私は私のサーバーの私のパブリックIPとローカルホストを交換したが

これは動作しません実行時にメッセージエラーが表示される

エラー:

<Error> 

System.Data.SqlClient.SqlException(0x80131904):SQL Serverへの接続を確立しながら、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからなかったか、アクセスできませんでした。インスタンス名が正しいこと、およびSQL Serverがリモート接続を許可するように構成されていることを確認します。 System.ComponentModel.Win32Exception(0x80004005):System.Data.SqlClient.SqlInternalConnectionTdsで指定されたファイルが見つかりません。 CTOR System.Data.SqlClient.SqlConnectionFactory.CreateConnectionで(DbConnectionOptions(DbConnectionPoolIdentityアイデンティティ、SqlConnectionString connectionOptions、SqlCredential資格は、providerInfo、文字列NEWPASSWORD、SecureString newSecurePassword、ブールredirectedUserInstance、userConnectionOptionsをSqlConnectionString、SessionDataにreconnectSessionData、DbConnectionPoolプール、文字列accessToken、ブールapplyTransientFaultHandlingオブジェクト) DbConnectionPoolプール、DbConnectionPoolKeyプール、DbConnectionPoolプール、DbConnectionPoolプール、DbConnectionOptionsオプション、DbConnectionOptionsオプション、DbConnectionOptionsオプション)。 tionPoolKey poolKey、DbConnectionOptions userOptions)System.DataでSystem.Data.ProviderBase.DbConnectionPool.UserCreateRequest(たDbConnection owningObject、DbConnectionOptions userOptions、DbConnectionInternal oldConnection)でSystem.Data.ProviderBase.DbConnectionPool.CreateObject(たDbConnection owningObject、DbConnectionOptionsのuserOptions、DbConnectionInternal oldConnection)でSystem.Data.ProviderBase.DbConnectionPool.TryGetConnection(たDbConnection owningObject、TaskCompletionSource 1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource 1回のリトライ、DbConnectionOptions userOptions、DbConnectionInternal oldConnectionで.ProviderBase.DbConnectionPool.TryGetConnection(たDbConnection owningObject、UInt32型waitForMultipleObjectsTimeout、ブールallowCreate、ブールonlyOneCheckConnection、DbConnectionOptionsのuserOptions、DbConnectionInternal &接続) 、DbConnectionInternal &接続)at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionIntern WebApplication.WebServiceのSystem.Data.SqlClient.SqlConnection.Open()でSystem.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)での(DbConnection outerConnection、DbConnectionFactory connectionFactory、TaskCompletionSource 1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource 1再試行)ログイン(文字列ユーザ名、文字列userPassは)ClientConnectionId:00000000-0000-0000-0000-000000000000エラー番号:2、状態:0、クラス:20


を私は

答えて

0

述べるまでもありません助けてください明らかに、しかし、あなたが言う上記のメッセージを、取得する場合は、チェックをしたいかもしれません

"The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections"

最初のものは、以下のとおりです。

  1. サーバアドレス
  2. データベースインスタンス名
  3. 最初の2ポイントの場合は、SQL Server

の設定は、この接続文字列は、のために

Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword; 

を入力してみたいと思うかもしれません最後の点は、this linkに従ってください。

Remote connection configuration

+0

こんにちは...あなたはネットワークライブラリをどういう意味ですか? –

+0

これはTCP/IPを使用していることを指定する単なる方法です。それは "リテラル"なので、それは修正されています。それでもあなたは上からコピーすることができます –

+0

はまだ動作しません。 –

関連する問題