程序类型超出范围连接到MS SQL

时间:2017-08-29 02:45:35

标签: c++ sql-server sql-server-2008 odbc

ALL,

我正在尝试执行以下查询:

SELECT cast(su.name AS varchar(128)) FROM sysobjects so, sysusers su, sys.tables t, sys.schemas s WHERE so.uid = su.uid AND t.object_id = so.id AND t.schema_id = s.schema_id AND s.name = ? AND so.name = ?;

针对SQL Server 10.0(从SELECT SERVERPROPERTY('productversion')返回)并且收到上述错误。

这个错误和MS SQL Server唯一的谷歌搜索结果是this link,但是做第二个解决方案的建议不起作用。

我使用的代码如下:

SQLSMALLINT nameBufLength, dataTypePtr, decimalDigitsPtr, isNullable;
SQLULEN columnSizePtr;
SQLLEN cbTableOwner;
retcode = SQLDescribeCol( stmt, 1, NULL, 0, &nameBufLength, &dataTypePtr, &columnSizePtr, &decimalDigitsPtr, &isNullable );
if( retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO )
{
    owner = new SQLWCHAR[columnSizePtr + 1];
    retcode = SQLBindCol( stmt, 1, dataTypePtr, &owner, columnSizePtr, &cbTableOwner );
    if( retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO )
    {
    }
}

有人知道我为什么会收到错误吗?它甚至没有提到here

TIA!

编辑:

我从2012年2月11日起使用SQL Server Native Client 11.0 ODBC驱动程序版本2011.110.2100.60。我还安装了SQL Server Native Client 10.0。我使用的驱动程序应该向后兼容。但是我明天会尝试使用10.0。

EDIT2:

尝试使用较旧的驱动程序也无法正常工作。我想我会尝试解决错误。

0 个答案:

没有答案