【问题标题】:VB.Net falls over INTERVAL DAY(2) field typeVB.Net 超过 INTERVAL DAY(2) 字段类型
【发布时间】:2013-02-10 16:15:01
【问题描述】:

我有一个用 VB.NET 编写的应用程序,它通过 ODBC 驱动程序从 SQL/MX 数据库收集信息。除了一个包含两个 INTERVAL DAY(2) 字段的特定表外,一切正常。当我对此表运行查询时,我收到“未知 SQL 类型 - 103”错误。如果更改我的查询以排除这些字段,那么它可以正常工作。

Dim SQLQueryDataAdapter As New OdbcDataAdapter(MySQLQuery, MyNonStopConnection)
Dim SQLQueryOutputTable As New DataTable("SQLOutput")
SQLQueryDataAdapter.Fill(SQLQueryOutputTable)

我的 ODBC 连接字符串:

MyNonStopConnection = New OdbcConnection(
        "Driver=" & MyDriver & ";DSN=" & MyDSN & ";SERVER=TCP:" _
        & MyTCP & ";UID=" & MyUserName & ";PWD=" & MyPassword)

MyNonStopConnection.Open()

我做错了什么?

【问题讨论】:

    标签: sql vb.net odbc hp-nonstop


    【解决方案1】:

    您希望作为 INTERVAL 记录的最大天数是多少?

    在我看来,您的 SQL 间隔字段的精度或数据类型长度不​​正确?所以有人会想问你是如何定义字段类型的?在您的表格记录中。

    参考:http://msdn.microsoft.com/en-us/library/windows/desktop/ms716230(v=vs.85).aspx

    【讨论】:

    • 如果我调用表,则定义如下:,TOES_RESV_DGN_AANT INTERVAL DAY(2) NO DEFAULT
    【解决方案2】:

    并非所有数据类型都能正确通过 ODBC(取决于 SQL 和驱动程序的风格)。您可能需要CAST 有问题的字段作为更标准的类型。
    你用的是什么驱动?

    【讨论】:

    • 我怀疑这与 ODBC 有关。最初我使用 Excel(VBA) 和相同的 ODBC 驱动程序来收集信息。然后它就没有任何问题了。
    • 我正在使用 SQL/MX 3.1 驱动程序
    猜你喜欢
    • 2019-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-22
    • 1970-01-01
    • 1970-01-01
    • 2020-03-05
    相关资源
    最近更新 更多