0

asp.mvsWebアプリケーションを実行しているiam。そのすでにホストされており、DBも同じホスティングプロバイダーによるものです。connection stringDBからデータを転送するために与えられたものを使用しようとしています(すでに3日) 。これが私の方法です。どこにあるのconnection string. でしょうか。見て、潜在的な間違いを見てください。私はこの単純なことをすることができないので、それは非常に迷惑です。

   /// <summary>
    /// Gets connection string of Database
    /// </summary>
    /// <returns>connection string of type const</returns>
    public static string GetConnectionStringOfDatabase()
    {
        try
        {
            string cnc = @"data source=OnlineVertrag.mssql.somee.com;workstation      id=OnlineVertrag.mssql.somee.com;packet size=4096;user id="xxx";pwd="xxx";persist security info=False;initial catalog=OnlineVertrag";
            return cnc;
        }
        catch (Exception ex)
        {
            bool rethrow = ExceptionHelper.Handle(ex, "Business Logic");
            if (rethrow)
            {
                throw;
            }
        }
        return null;
    }




 public bool CheckIfUserIsActive(string username)
        {
            SqlConnection connection = new SqlConnection(SQLDataHelper.GetConnectionStringOfDatabase());

            try
            {
                connection.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = connection;
                cmd.CommandType = System.Data.CommandType.Text;
                cmd.CommandText = @"SELECT IsActive "
                                + "FROM Users "
                                + "WHERE Username = @Username";
                cmd.Parameters.Add(new SqlParameter("@Username", UserName));

                SqlDataReader reader = cmd.ExecuteReader();

                bool isActiveValueFromDataBase = false;

                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        isActiveValueFromDataBase = Convert.ToBoolean(reader["IsActive"]);
                        if (isActiveValueFromDataBase == true)
                        {
                            return true;
                        }
                        return false;
                    }
                }

                reader.Close();
            }
4

2 に答える 2

1

間違い#1:公開フォーラムにログイン情報を投稿する。

真剣に-このページを表示し、質問の編集履歴を確認するすべての人が、データベースにログインできるようになりました。パスワードはできるだけ早く変更する必要があります。

間違い#2:接続文字列をコードに保存する。ご覧のとおり、パスワードの変更は予想外に発生する可能性があります。最も簡単な方法:web.configに保存し、ConfigurationManager.ConnectionStringsを使用してそれらにアクセスします。

http://pietschsoft.com/post/2005/12/28/ASPNET-20-How-to-get-a-specific-ConnectionString-from-the-WebConfig-by-name.aspx

考えられる間違い#3:「datasource = OnlineVertrag.mssql.somee.com; user id = xxx; pwd = xxx; initialcatalog=OnlineVertrag」を試してください。「ワークステーション」と「id」の間のスペースが問題なのかもしれません。

于 2012-05-08T09:55:16.713 に答える
0

デビッド・ティシュラーが言ったこと。

接続に接続文字列を使用できるSQLManagementStudioまたは別のインタラクティブSQLアプリケーションがありますか?少なくともMicrosoftSQLServer Management Studio for SQL Server 2008では、接続文字列を[追加の接続パラメーター]セクションに貼り付けるだけです。私はこれが以前のバージョンにあるとは思わない。

DBに接続しようとするページを作成し、ページの一部としてex.Messageを表示するのはどうでしょうか。おそらくこれは、SQLクライアントライブラリが間違っていると考えていることを示しています。

于 2012-05-08T10:51:39.807 に答える