1

私は頭を悩ませてきましたが、この問題に対する答えを見つけることができないようです. 私は Informix についてほとんど知りません。getagentstateintervaldata という名前の Informix プロシージャを呼び出す必要があります。

プロシージャのパラメータとタイプは次のとおりです。

    p_eStartDate, DATETIME
    p_startTime, DATETIME
    p_endTime, DATETIME
    p_rgSelected, SMALLINT
    p_skillSelected, SMALLINT
    p_tmSelected, SMALLINT

IBM Informix ODBC Driver バージョン 3.70 Visual Studio 2010、VB.Net、.Net Framework 3.5 を使用しています

プロシージャを起動するために使用しているコードは次のとおりです。

まず、データベースに接続してデータを取得できることを確認するために使用しているテスト コードです。このコードは正常に動作し、dtData データ テーブルにデータが返されます。

    Dim dtData As Data.DataTable = New Data.DataTable
    Dim xQuery As String = ""

    xQuery = "Select *, (t2.EventDateTime + INTERVAL(-6) HOUR TO HOUR) as NewDatTime "
    xQuery += "From Resource as t1 "
    xQuery += "INNER JOIN AgentStateDetail AS t2 ON t2.agentID = t1.resourceID and t1.dateInactive is null  "
    xQuery += "Where t1.ResourceLoginId LIKE '51cserv%' "
    xQuery += "Order By t2.EventDateTime;"

    Dim conn As OdbcConnection = New Odbc.OdbcConnection(sysODBCConnStr)
    conn.ConnectionTimeout = 0

    Dim objCmd As New Odbc.OdbcDataAdapter(xQuery, conn)

    conn.Open()
    'Fill the dataset
    objCmd.Fill(dtData)

    'Close connection
    If conn.State = Data.ConnectionState.Open Then conn.Close()
    conn.Dispose()

次に、Informix プロシージャを起動するコードを示します。これは私にエラーを与え続けるものです。MS SQL の Management studio のような Informix データベースに接続する方法がありません。

    Dim dtData As Data.DataTable = New Data.DataTable
    Dim xQuery As String = ""

    xQuery = "execute procedure getagentstateintervaldata (date('11-01-13'),to_date('12:01:00.00', '%H:%M'),to_date('11:59:59.00', '%H:%M'),1,1,1)"

    Dim conn As OdbcConnection = New Odbc.OdbcConnection(sysODBCConnStr)
    conn.ConnectionTimeout = 0

    Dim objCmd As New Odbc.OdbcDataAdapter(xQuery, conn)

    conn.Open()
    'Fill the dataset
    objCmd.Fill(dtData)

    'Close connection
    If conn.State = Data.ConnectionState.Open Then conn.Close()
    conn.Dispose()

私が得ているエラーは次のとおりです。

エラー [22008] [Informix][Informix ODBC ドライバ][Informix] 日時または間隔の値のフィールドが正しくないか、日時フィールドに不正な操作が指定されています。

編集- ここで明確にするために、私の問題は Informix プロシージャ コールにあります。返されるエラーがわかりません。また、IBM Informix フォーラムのヘルプもほとんど見つかりません。

皆さんが私に与えることができるどんな助けにも感謝します.

4

1 に答える 1