我有一些传统的ODBC连接编码,它使用SQLGetInfo函数在请求时收集各种连接细节。该代码目前正在重新考虑到.NET,但它仍然必须保持少量的向后兼容性,直到剩余的区域也被重新计算到.NET中
我需要能够使用c#OdbcConnection.GetSchema()
重现以下c ++代码char strInstanceName[200];
SQLSMALLINT lengthReturned;
SQLGetInfo(myhInstance, SQL_SERVER_NAME, strInstanceName, 200, &lengthReturned);
char strDSN[200];
SQLSMALLINT lengthReturned;
SQLGetInfo(myhInstance, SQL_DATA_SOURCE_NAME, strDSN, 200, &lengthReturned);
char strActiveStmts[200];
SQLSMALLINT lengthReturned;
SQLGetInfo(myhInstance, SQL_ACTIVE_STATEMENTS, strActiveStmts, 200, &lengthReturned);
char strActiveConns[200];
SQLSMALLINT lengthReturned;
SQLGetInfo(myhInstance, SQL_ACTIVE_CONNECTIONS, strActiveConns, 200, &lengthReturned);
我花了好几个小时查看文档并搜索网页,但我无法找到或理解等效使用OdbcConnection.GetSchema()的内容,即使文档和网站让我相信这是获取所有这些信息的功能。
示例代码会很好:)
此致 DIG的
答案 0 :(得分:2)
通过MSDN论坛回答。
基本上我需要的信息在.NET框架中是不可信的,我需要使用InteropServices和DllImport直接在c#中调用ODBC API。
DIG的