你E文要够好呀~~以下信息来自MSDN
相关链接:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnproasp/html/tipsforworkingwithcursors.asp
-------------------------------------------------------------
Some providers, such as SQL Server, implement a forward-scrolling, read-only (or 'firehose') cursor mode, meaning that they can efficiently retrieve data by keeping a connection open. When working with such providers, the connection could be blocked by another user's transaction. The following examples demonstrate scenarios that result in errors.dbConn.Open "DSN=SQLForum;UID=sa;PWD=;"        'Example 1
dbConn.BeginTrans
RS.Open "SELECT * FROM Message", dbConn
Set dbCmd.ActiveConnection = dbConn
Example 1: The problem is that the command object's ActiveConnection is being set to a connection that is forward-scrolling and in 'firehose' mode. This is the same connection involved in the batch mode. The error from the provider will only appear in the Err object, and it will return as unspecified. For example, with the ODBC Provider, you will get "Unspecified error".
dbConn.Open "DSN=SQLForum;UID=sa;PWD=;"        'Example 2
RS.Open "SELECT * FROM Message", dbConn
dbConn.BeginTrans
Example 2: The problem here is that the connection is forward-scrolling and in firehose mode, so it cannot be put into transaction mode. The error returned in the Errors collection from the provider will indicate that it is operating in firehose mode, and can't work in transaction mode. For example, with the ODBC Provider against Microsoft SQL Server, you will get the error "Cannot start transaction while in firehose mode".
dbConn.Open "DSN=SQLForum;UID=sa;PWD=;"        'Example 3
RS.Open "SELECT * FROM Message", dbConn
Set dbCmd.ActiveConnection = dbConn
dbConn.BeginTrans
Example 3: The problem here is that the connection is in forward-scrolling firehose mode, so it cannot also be involved in a batch mode. The error returned in the Errors collection from the provider will indicate that the transaction could not be started. For example, with the ODBC Provider against Microsoft SQL Server, you will get the error "Cannot start transaction because more than one hdbc is in use". 

解决方案 »

  1.   

    你E文要够好呀~~以下信息来自MSDN
    相关链接:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnproasp/html/tipsforworkingwithcursors.asp
    -------------------------------------------------------------
    Some providers, such as SQL Server, implement a forward-scrolling, read-only (or 'firehose') cursor mode, meaning that they can efficiently retrieve data by keeping a connection open. When working with such providers, the connection could be blocked by another user's transaction. The following examples demonstrate scenarios that result in errors.dbConn.Open "DSN=SQLForum;UID=sa;PWD=;"        'Example 1
    dbConn.BeginTrans
    RS.Open "SELECT * FROM Message", dbConn
    Set dbCmd.ActiveConnection = dbConn
    Example 1: The problem is that the command object's ActiveConnection is being set to a connection that is forward-scrolling and in 'firehose' mode. This is the same connection involved in the batch mode. The error from the provider will only appear in the Err object, and it will return as unspecified. For example, with the ODBC Provider, you will get "Unspecified error".
    dbConn.Open "DSN=SQLForum;UID=sa;PWD=;"        'Example 2
    RS.Open "SELECT * FROM Message", dbConn
    dbConn.BeginTrans
    Example 2: The problem here is that the connection is forward-scrolling and in firehose mode, so it cannot be put into transaction mode. The error returned in the Errors collection from the provider will indicate that it is operating in firehose mode, and can't work in transaction mode. For example, with the ODBC Provider against Microsoft SQL Server, you will get the error "Cannot start transaction while in firehose mode".
    dbConn.Open "DSN=SQLForum;UID=sa;PWD=;"        'Example 3
    RS.Open "SELECT * FROM Message", dbConn
    Set dbCmd.ActiveConnection = dbConn
    dbConn.BeginTrans
    Example 3: The problem here is that the connection is in forward-scrolling firehose mode, so it cannot also be involved in a batch mode. The error returned in the Errors collection from the provider will indicate that the transaction could not be started. For example, with the ODBC Provider against Microsoft SQL Server, you will get the error "Cannot start transaction because more than one hdbc is in use". 
      

  2.   

    你E文要够好呀~~以下信息来自MSDN
    相关链接:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnproasp/html/tipsforworkingwithcursors.asp
    -------------------------------------------------------------
    Some providers, such as SQL Server, implement a forward-scrolling, read-only (or 'firehose') cursor mode, meaning that they can efficiently retrieve data by keeping a connection open. When working with such providers, the connection could be blocked by another user's transaction. The following examples demonstrate scenarios that result in errors.dbConn.Open "DSN=SQLForum;UID=sa;PWD=;"        'Example 1
    dbConn.BeginTrans
    RS.Open "SELECT * FROM Message", dbConn
    Set dbCmd.ActiveConnection = dbConn
    Example 1: The problem is that the command object's ActiveConnection is being set to a connection that is forward-scrolling and in 'firehose' mode. This is the same connection involved in the batch mode. The error from the provider will only appear in the Err object, and it will return as unspecified. For example, with the ODBC Provider, you will get "Unspecified error".
    dbConn.Open "DSN=SQLForum;UID=sa;PWD=;"        'Example 2
    RS.Open "SELECT * FROM Message", dbConn
    dbConn.BeginTrans
    Example 2: The problem here is that the connection is forward-scrolling and in firehose mode, so it cannot be put into transaction mode. The error returned in the Errors collection from the provider will indicate that it is operating in firehose mode, and can't work in transaction mode. For example, with the ODBC Provider against Microsoft SQL Server, you will get the error "Cannot start transaction while in firehose mode".
    dbConn.Open "DSN=SQLForum;UID=sa;PWD=;"        'Example 3
    RS.Open "SELECT * FROM Message", dbConn
    Set dbCmd.ActiveConnection = dbConn
    dbConn.BeginTrans
    Example 3: The problem here is that the connection is in forward-scrolling firehose mode, so it cannot also be involved in a batch mode. The error returned in the Errors collection from the provider will indicate that the transaction could not be started. For example, with the ODBC Provider against Microsoft SQL Server, you will get the error "Cannot start transaction because more than one hdbc is in use".