2

C# 5.0 の VisualStudio 2012 内で OLEDB を使用して ConnectionString を確立する必要があるため、以下をコーディングします。

 SQLConn = new SqlConnection("Data Source=STX;Persist Security Info=False;
  UserID=JG0149;Password=MYPASS;Initial Catalog=LIBJG");

資格情報は、STX iSeries システムで非常にうまく機能します。

VS 2010 と C# 4.0 を使用した例は多数ありますが、www.connectionstring,com/as-400/ にあるものと同様に、C# 5.0 では機能しません。

SQLConn = new SqlConnection("Provider=IBMDA400;Data Source=STX;User Id=JG0149; Password=MYPASS;
Default Collection=LIBJG")

ただし、VS2012 は Provider パラメーターを受け入れず、他のパラメーターを要求します

iSeries に接続して共有するために VS2012 で動作する ConnectionString を誰かが持っているかもしれません。

4

2 に答える 2

3

SqlConnectionは、特に SQL Server で使用するためのものです。

他のプロバイダーには、 OleDbConnectionおよび関連するクラスを使用します。

using (var connection = new OleDbConnection(
        "Provider=IBMDA400;Data Source=STX;User Id=JG0149; Password=MYPASS;Default Collection=LIBJG"))
{
    var command = new OleDbCommand("SELECT NOW() FROM SYSIBM.SYSDUMMY1", connection);
    connection.Open();
    var reader = command.ExecuteReader();
    if (reader.HasRows)
    {
        while (reader.Read())
        {
            Console.WriteLine(reader.GetString(0));
        }
        reader.Close();
    }
    connection.Close();
}

上記を Visual Studio 2012 / .NET 4.5 で確認しました。


Microsoft は、ODBC への復帰と OLE DB の段階的廃止を推進しているようです。

SQL Server ブログ: Microsoft と ODBC の連携

市場は、PHP とマルチプラットフォーム ソリューションのサポートに目を向けて、OLE DB から ODBC に移行しています。

Microsoft SQLNCli チームのブログ: Microsoft は、ネイティブ リレーショナル データ アクセスのために ODBC と連携しています

アプリケーションの新しいバージョンおよび将来のバージョンの開発に ODBC を採用することをお勧めします。

于 2013-08-06T21:38:55.953 に答える