INFORMATION_SCHEMA에 해당하는 OleDb는 무엇입니까?
문제
SQL에서는 다음을 사용할 수 있습니다.
INFORMATION_SCHEMA.TABLES에서 * 선택
등을 사용하여 데이터베이스 구조에 대한 정보를 얻습니다.Access 데이터베이스에 대해 동일한 작업을 수행하는 방법을 알아야 합니다.
해결책
다음을 사용하여 동등한 작업을 수행할 수 있습니다.
OleDbConnection.GetOleDbSchemaTable() 메서드.
보다 http://support.microsoft.com/kb/309488 자세한 내용은
다른 팁
OLEDB에서는 DBSCHEMA_TABLES로 액세스할 수 있습니다.다음 C++ 코드는 OLEDB 공급자로부터 테이블 정보를 검색하는 방법을 보여줍니다.
#include <atldb.h>
...
// Standard way of obtaining table node info.
CAccessorRowset<CDynamicAccessor, CBulkRowset> pRS;
pRS.SetRows(100);
CSchemaTables<CSession>* pBogus;
hr = session.CreateSchemaRowset(NULL, 0, NULL, IID_IRowset, 0, NULL, (IUnknown**)&pRS.m_spRowset, pBogus);
if (FAILED(hr))
goto lblError;
hr = pRS.Bind();
if (FAILED(hr))
goto lblError;
hr = pRS.MoveFirst();
if (FAILED(hr))
goto lblError;
while (S_OK == hr)
{
wstring sTableSchema(pRS.GetWCharValue(L"TABLE_SCHEMA"));
wstring sTableName(pRS.GetWCharValue(L"TABLE_NAME"));
wstring sTableType(pRS.GetWCharValue(L"TABLE_TYPE"));
...
hr = pRS.MoveNext();
}
pRS.Close();
제휴하지 않습니다 StackOverflow