Results 1 to 2 of 2
  1. #1
    Join Date
    Feb 2003
    Posts
    2

    Exclamation Unanswered: ODBC: SQL_ATTR_CONCURRENCY changing after simple select

    The following is the log from an ODBC Test session against a SQL Server 2000 database.
    MDAC Ver. 2.7 [SP1 I think].

    The point of interest is that the SQL_ATTR_CONCURRENCY setting is changing from SQL_CONCUR_LOCK (READ/WRITE), to SQL_CONCUR_READ_ONLY after the SQLExecDirect() call [I've also tried SQLPrepare/SQLExecute with the same result].

    Can anyone please throw some light onto why this happens, and how to avoid it? [It kills my SQLBulkOperations() call to insert values into the table]

    Many thanks.
    PeterC.

    dbc: szSqlState = "01000", *pfNativeError = 5701, *pcbErrorMsg = 84, *ColumnNumber = -1, *RowNumber = -1
    MessageText = "[Microsoft][ODBC SQL Server Driver][SQL Server]Changed database context to 'pctest'."
    dbc: szSqlState = "01000", *pfNativeError = 5703, *pcbErrorMsg = 86, *ColumnNumber = -1, *RowNumber = -1
    MessageText = "[Microsoft][ODBC SQL Server Driver][SQL Server]Changed language setting to us_english."

    Full Connect:

    Full Connect(Use Driver)
    Env. Attr. SQL_ATTR_ODBC_VERSION set to SQL_OV_ODBC3

    Successfully connected to DSN 'Testpc'.

    SQLSetStmtAttr:
    In: StatementHandle = 0x00841978,
    Attribute = SQL_ATTR_CONCURRENCY=7,
    ValuePtr = SQL_CONCUR_LOCK=2,
    StringLength = SQL_NTS=-3,
    fAttribute Type = SQL_C_SLONG=-16
    Return: SQL_SUCCESS=0

    SQLSetStmtAttr:
    In: StatementHandle = 0x00841978,
    Attribute = SQL_ATTR_CURSOR_TYPE=6,
    ValuePtr = SQL_CURSOR_KEYSET_DRIVEN=1,
    StringLength = SQL_NTS=-3,
    fAttribute Type = SQL_C_SLONG=-16
    Return: SQL_SUCCESS=0

    SQLSetStmtAttr:
    In: StatementHandle = 0x00841978,
    Attribute = SQL_ATTR_ROW_ARRAY_SIZE=27,
    ValuePtr = 1,
    StringLength = SQL_NTS=-3,
    fAttribute Type = SQL_C_SLONG=-16
    Return: SQL_SUCCESS=0

    SQLExecDirect:
    In: Statementhandle = 0x00841978,
    StatementText = "select * from pc02",
    Statementlength = 20
    Return: SQL_SUCCESS_WITH_INFO=1

    SQLGetStmtAttr:
    In: StatementHandle = 0x00841978,
    Attribute = SQL_ATTR_CONCURRENCY=7,
    ValuePtr = 0x0014C3F8,
    BufferLength = 300,
    StringLengthPtr = 0x0014E968,
    fAttribute Type = SQL_C_SLONG=-16
    Return: SQL_SUCCESS=0
    Out:
    *ValuePtr = SQL_CONCUR_READ_ONLY = 1,
    *StringLengthPtr = 4

  2. #2
    Join Date
    Feb 2003
    Posts
    2
    I should also add that the cursor is changing from SQL_CURSOR_KEYSET_DRIVEN to SQL_CURSOR_STATIC.

    PeterC.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •