如何抑制由于使用ODBC API的弃用方法而导致的警告c4996

时间:2014-02-11 07:30:00

标签: visual-c++ odbc

完整的警告信息是:

警告C4996:'SQLSetConnectOption':ODBC API:不推荐使用SQLSetConnectOption。请改用SQLSetConnectAttr。

1 个答案:

答案 0 :(得分:3)

快速回答是在对SQLConnectOption的调用周围使用#pragma warning(disable:4996):

#pragma warning(push)
#pragma warning(disable: 4996)

rc = SQLSetConnectOption(hdbc, SQL_AUTOCOMMIT, SQL_AUTOCOMMIT_OFF);

#pragma warning(pop)

更为复杂的方法是将对SQLSetConnectOption的来电替换为SQLSetConnectAttr的同等号码。

这里有一篇相当详细的msdn文章(MSDN Article on SQLSetConnectOption Mapping),解释了如何转换函数调用。在大多数情况下,它看起来相当微不足道;前三个参数是相同的,如果value参数是字符串,则新的第4个参数(StringLength)是SQL_NTS,如果是整数则是0,如果是驱动程序定义的参数,则是长度值。