Aracılığıyla paylaş


SQL Server varsayılan sonuç kümeleri kullanma

Varsayılan odbc imleç öznitelikleri şunlardır:

SQLSetStmtAttr(hstmt, SQL_ATTR_CURSOR_TYPE, SQL_CURSOR_FORWARD_ONLY, SQL_IS_INTEGER);
SQLSetStmtAttr(hstmt, SQL_ATTR_CONCURRENCY, SQL_CONCUR_READ_ONLY, SQL_IS_INTEGER);
SQLSetStmtAttr(hstmt, SQL_ATTR_ROW_ARRAY_SIZE, 1, SQL_IS_INTEGER);

SQLSetStmtAttr(hstmt, SQL_ATTR_CURSOR_TYPE, SQL_CURSOR_FORWARD_ONLY, SQL_IS_INTEGER);
SQLSetStmtAttr(hstmt, SQL_ATTR_CONCURRENCY, SQL_CONCUR_READ_ONLY, SQL_IS_INTEGER);
SQLSetStmtAttr(hstmt, SQL_ATTR_ROW_ARRAY_SIZE, 1, SQL_IS_INTEGER);

Bu öznitelikler varsayılan değerlerine, ayarlanan her SQL Serveryerel istemci odbc sürücüsü kullanan bir SQL Servervarsayılan sonuç kümesi. Varsayılan sonuç kümeleri tarafından desteklenen herhangi bir sql deyimi için kullanılabilir SQL Server, ve tüm bir sonuç kümesi istemciye aktarılması en etkili yöntemi.

SQL Server 2005sunulan destek için birden çok etkin sonuç kümeleri (mars); uygulamalar artık birden fazla bağlantı başına etkin varsayılan sonuç kümesi olabilir. mars varsayılan olarak etkin değildir.

Önce SQL Server 2005, varsayılan sonuç kümeleri değil çekmek birden çok etkin deyimleri aynı bağlantıda. sql deyimindeki bir bağlantıda yürütüldükten sonra sonuç kümesindeki tüm satırları işlenene kadar sunucu komutları (dışında sonuç kümesi geri kalanı iptal isteği) istemci bu bağlantı kabul etmez. Kısmen işlenmiş sonuç kümesi geri kalanı iptal etmek için arama SQLCloseCursor ya SQLFreeStmt ile fOption parametresini ayarlamak için sql_close. Kısmen işlenmiş sonuç kümesi ve başka bir sonuç kümesi varlığı test bitirmek için çağrı SQLMoreResults. Varsayılan sonuç kümesi tamamen işlenmiştir önce bir odbc uygulaması bağlantı tanıtıcısı üzerinde komut çalışırsa, çağrı oluşturur sql_error ve çağrı SQLGetDiagRec döndürür:

szSqlState: "HY000", pfNativeError: 0
szErrorMsg: "[Microsoft][SQL Server Native Client]
                Connection is busy with results for another hstmt."

szSqlState: "HY000", pfNativeError: 0
szErrorMsg: "[Microsoft][SQL Server Native Client]
                Connection is busy with results for another hstmt."

Ayrıca bkz.

Kavramlar

Imleçler nasıl uygulanır