Tuesday, March 27, 2012

Getting tables list in 64 bit platform

I tried to access Microsoft SQl database to get table list but i got the
followig error.
bf4.a30): Data misaligned - code 80000002 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
*** ERROR: Symbol file could not be found. Defaulted to export symbols for
C:\WINDOWS\system32\SQLSRV32.dll -
SQLSRV32!ConfigDriverW+0x62b18:
p[lease advise
You have a bug. You need to make sure that any pointers passed into ODBC
are 8-byte aligned.
Let me know if you need more information.
Brannon
"john" <john@.sakhr.com> wrote in message
news:uUyJLPvmEHA.3464@.tk2msftngp13.phx.gbl...
> I tried to access Microsoft SQl database to get table list but i got the
> followig error.
> bf4.a30): Data misaligned - code 80000002 (first chance)
> First chance exceptions are reported before any exception handling.
> This exception may be expected and handled.
> *** ERROR: Symbol file could not be found. Defaulted to export symbols
for
> C:\WINDOWS\system32\SQLSRV32.dll -
> SQLSRV32!ConfigDriverW+0x62b18:
>
> p[lease advise
>
|||all pointres are 8 bytes aligned
here is the code i use
AFX_SQL_SYNC(::SQLGetFunctions(m_pDatabase->m_hdbc,
SQL_API_SQLTABLES,&bFunctionExists));
if (!Check(nRetCode) || !bFunctionExists)
{
if (!bFunctionExists)
TRACE(_T("SQLTables not supported\n"));
return FALSE;
}
SetState(nOpenType,NULL,readOnly);
if (!AllocHstmt())
{
return FALSE;
}
TRY
{
OnSetOptions(m_hstmt);
AllocStatusArrays();
AFX_ODBC_CALL(::SQLTables(m_hstmt,
(UCHAR FAR*)pszTableQualifier,SQL_NTS,
(UCHAR FAR*)pszTableOwner,SQL_NTS,
(UCHAR FAR*)pszTableName,SQL_NTS,
(UCHAR FAR*)pszTableType,SQL_NTS));
if (!Check(nRetCode))
{
ThrowDBException(nRetCode,m_hstmt);
}
// Allocate memory and cache info
AllocAndCacheFieldInfo();
AllocRowset();
// Fetch the first row of data
try
{
MoveNext();
}
return TRUE;
The Data misaligned exception appear in MoveNext() call
"Brannon Jones" <brannonjNOSPAM@.gmail.com> wrote in message
news:eA49$xCnEHA.2340@.TK2MSFTNGP11.phx.gbl...
> You have a bug. You need to make sure that any pointers passed into ODBC
> are 8-byte aligned.
> Let me know if you need more information.
> Brannon
> "john" <john@.sakhr.com> wrote in message
> news:uUyJLPvmEHA.3464@.tk2msftngp13.phx.gbl...
> for
>
|||Make sure that each bound column is bound on an 8-byte boundary.
Are you using the ODBC Cursor Library?
Almost every time I've seen an alignment error using the SQL ODBC driver, it
is because of an application bug. If you're confident that it is a bug in
the driver, then call Microsoft PSS and request a QFE. If it is a bug in
the driver, you shouldn't be charged for it.
Make sure you have the latest MDAC too. I assume you're using MDAC 2.8 and
running on Windows Server 2003 64-bit edition. If not, let me know.
Brannon
"john" <john@.sakhr.com> wrote in message
news:eIIT5T#nEHA.592@.TK2MSFTNGP11.phx.gbl...[vbcol=seagreen]
> all pointres are 8 bytes aligned
> here is the code i use
> AFX_SQL_SYNC(::SQLGetFunctions(m_pDatabase->m_hdbc,
> SQL_API_SQLTABLES,&bFunctionExists));
> if (!Check(nRetCode) || !bFunctionExists)
> {
> if (!bFunctionExists)
> TRACE(_T("SQLTables not supported\n"));
> return FALSE;
> }
> SetState(nOpenType,NULL,readOnly);
> if (!AllocHstmt())
> {
> return FALSE;
> }
> TRY
> {
> OnSetOptions(m_hstmt);
> AllocStatusArrays();
> AFX_ODBC_CALL(::SQLTables(m_hstmt,
> (UCHAR FAR*)pszTableQualifier,SQL_NTS,
> (UCHAR FAR*)pszTableOwner,SQL_NTS,
> (UCHAR FAR*)pszTableName,SQL_NTS,
> (UCHAR FAR*)pszTableType,SQL_NTS));
> if (!Check(nRetCode))
> {
> ThrowDBException(nRetCode,m_hstmt);
> }
> // Allocate memory and cache info
> AllocAndCacheFieldInfo();
> AllocRowset();
> // Fetch the first row of data
> try
> {
> MoveNext();
> }
> return TRUE;
>
> The Data misaligned exception appear in MoveNext() call
>
> "Brannon Jones" <brannonjNOSPAM@.gmail.com> wrote in message
> news:eA49$xCnEHA.2340@.TK2MSFTNGP11.phx.gbl...
ODBC[vbcol=seagreen]
the[vbcol=seagreen]
symbols
>

No comments:

Post a Comment