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:
尝试使用较旧的驱动程序也无法正常工作。我想我会尝试解决错误。