【问题标题】:getting metadata from table sql server (php)从表 sql server (php) 获取元数据
【发布时间】:2014-05-05 18:22:17
【问题描述】:

我正在尝试从我的数据库(sql server)上的表中获取元数据。 我执行查询以在 Sql Management Studio 上获取该元数据,它可以工作,但在 php 脚本上显示错误,当我这样做时:$row=sqlsrv_fetch_array($res): "在 calc_string_size 中遇到意外的 SQL 类型。"

我怀疑问题出在 php 上查询字符串的构建上,但这不是因为我打印了该查询并且它是正确的。

当我在选择(列描述)上添加一个字段时出现问题。

有人知道这个问题吗?

【问题讨论】:

    标签: php sql-server


    【解决方案1】:

    你可能得到了

    sql_variant

    在您的查询中的某处。 这会引发错误 -> 您必须将特定列转换为

    VARCHAR

    【讨论】:

      【解决方案2】:

      首先感谢您的回答。

      我的代码:

      $res=sqlsrv_query($conn,$sql); /那部分正在工作/ while($row=sqlsrv_fetch_array($res)){ /* 发生错误的地方 (...) }

      在查询 sql 中,如果我删除选择时 100% 有效的字段(描述)

      有什么想法吗?

      【讨论】:

        【解决方案3】:

        问题解决了。 我对该描述字段进行了强制转换,并且它有效。 对于下一个将尝试从 sql server 上的表中获取元数据并需要描述字段的人,必须将该字段强制转换为 varchar。 谢谢!

        【讨论】:

          猜你喜欢
          • 2017-05-18
          • 2010-09-13
          • 1970-01-01
          • 2020-11-18
          • 1970-01-01
          • 2010-11-13
          • 1970-01-01
          • 1970-01-01
          • 2021-02-25
          相关资源
          最近更新 更多