私はこの問題の原因に困惑していますが、SqlConnection オブジェクトを完全に作成して接続を開くことでデータベースに接続できますが、何らかの理由で、テーブル スキーマのスキーマ情報を取得するのと同じくらい簡単なことをしようとすると、何も返されません。
connectionstrings.com からのアドバイスに従って、次のように app.config に接続文字列を設定しました。
<connectionStrings>
<add name="pqual_db" connectionString="Server=10.xx.xx.xx;Database=pqual_db;Trusted_Connection=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
Helper.cs に次のメソッドがあり、構成ファイルから接続文字列を設定しています。
public static string CnnVal(string name)
{
return ConfigurationManager.ConnectionStrings[name].ConnectionString;
}
最後に、独自のクラス DbConnect.cs に次のメソッドがあり、フォームのボタンをクリックするとこのメソッドが呼び出されます。
public void GetOs(string osName)
{
using (SqlConnection connection = new SqlConnection(Helper.CnnVal("pqual_db")))
{
connection.Open();
DataTable t = connection.GetSchema("Tables");
string breakpoint = "where i put my breakpoint";
}
}
SQL Server Management Studio を見ると、このデータベースには 15 個のテーブルがありますが、t の値が null になっています。ここで何が間違っている可能性があるかについて誰にもアイデアがありますか?
編集: これは、Sql Server 管理スタジオのオブジェクト エクスプローラーの画像です。また、このデータベースはもともと Sql サーバー移行アシスタントを使用して mysql から移行されたことにも注意してください。