1

誰かが私の接続文字列を修正するのを手伝ってくれますか? 私は MS SQL Management Studio を使用するまったくの初心者ですが、経験豊富な C# プログラマーです。PC のローカル データベースに接続する方法を見つけようとしています。今日、SQL Server 2012 Express をインストールし、1 行のデータを含むテーブルを作成しました。C# プログラムからそのテーブルにアクセスしようとしています。ストアド プロシージャ (パラメーターなし) を呼び出す方法を探していましたが、すべて正しく実行されているように見えますが、「ストアド プロシージャ 'GetCustomers' が見つかりませんでした」という例外エラーが表示されます。また、プロシージャ名を「dbo.GetCustomers」、「SqlTest.dbo.GetCustomers」、「SqlTest.GetCustomers」に変更しようとしましたが、何も機能していないようです。明らかに、データベースに正しく接続していません。私' これに4時間取り組んできたので、立ち止まって助けを求める時が来ました. 必要なのは、適切な接続文字列とプロシージャの適切な構文だけだと思います。

        Connect c = new Connect();
        if(c.MakeConnection())
        {
            try
            {
                DataSet data = new DataSet();
                SqlDataAdapter adaptor = new SqlDataAdapter();

                //changed to use stored procedure
                adaptor.SelectCommand = new SqlCommand("GetCustomers", c.MyConnect);
                adaptor.SelectCommand.CommandType = CommandType.StoredProcedure;
                //adaptor.SelectCommand.ExecuteNonQuery();//this throws an exception.
                adaptor.Fill(data);//this throws an exception.
            }
            catch (Exception e)
            {
                Logger.WriteMessage(e.Message);
            }
            finally
            {
                c.CloseConnection();
            }

私の接続クラスには次のものが含まれています。

string connection = Properties.Settings.Default.DatabaseConnectString;
sqlConnection = new SqlConnection(connection);
sqlConnection.Open();

私が試した接続文字列は、OKに接続しているようです:

Server=(localdb)\v11.0;Trusted_Connection=Yes;
Server=(localdb)\v11.0;Integrated Security=true;

私のデータベース名は SqlTest です。接続文字列でいくつかのバリエーションを試しましたが、ほとんどの場合、ログオン失敗例外エラーがスローされます。Windows ユーザー ID にデータベースの管理者権限があることを確認しました。

私が試した接続文字列は、ログオンエラーを引き起こします:

Server=(localdb)\v11.0;Initial Catalog=SqlTest;User ID=Raphael\couchpotato;Integrated Security=SSPI;Trusted_Connection=Yes;        
Server=(localdb)\v11.0;Initial Catalog=dbo;User ID=Raphael\couchpotato;Integrated Security=SSPI;Trusted_Connection=Yes;
Server=(localdb)\v11.0;Database=SqlTest;Trusted_Connection=Yes;
Server=(localdb)\v11.0;Database=SqlTest;Integrated Security=true;
4

1 に答える 1