Знатоки ODBC программирования, наведите на путь истинный

Тема в разделе "WASM.WIN32", создана пользователем KiNDeR, 10 май 2006.

  1. KiNDeR

    KiNDeR New Member

    Публикаций:
    0
    Регистрация:
    13 июн 2003
    Сообщения:
    258
    Адрес:
    Russia
    Код (Text):
    1. ...
    2. ...
    3. invoke SQLAllocHandle, SQL_HANDLE_ENV, SQL_NULL_HANDLE, h_env
    4. invoke SQLSetEnvAttr, h_env, SQL_ATTR_ODBC_VERSION, SQL_OV_ODBC3, 0
    5. invoke SQLAllocHandle, SQL_HANDLE_DBC, h_env, h_dbc
    6.  
    7.     ; [b](1)[/b]
    8.     ; Здесь формируем строку подключения strConnect и коннектимся к базе
    9.     invoke SQLDriverConnect, h_dbc, 0, strConnect, sizeof strConnect, buffer, sizeof buffer, OutBufferLength, SQL_DRIVER_COMPLETE
    10.  
    11.     ; [b](2)[/b]
    12.     invoke SQLAllocHandle, SQL_HANDLE_STMT, h_dbc, h_stmt
    13.  
    14.     ; [b](3)[/b]
    15.     ; Здесь формируем строку SQL запроса и "компилируем" ее
    16.     invoke SQLPrepare, h_stmt, SQLString, sizeof SQLString
    17.  
    18.     invoke SQLFreeHandle, SQL_HANDLE_STMT, h_stmt
    19.     ...
    20.     ...
    21.     invoke SQLDisconnect, h_dbc
    22.     ...
    23.     ...
    24. invoke SQLFreeHandle, SQL_HANDLE_DBC, h_dbc
    25. invoke SQLFreeHandle, SQL_HANDLE_ENV, h_env
    26. ...
    27. ...






    Вопрос в следующем:

    Имеем 5 баз, к ним нужно выполнить запрос сформированный на этапе (3)!

    можно ли один раз выполнить этапы (2) (3) и 5 раз этап (1)???



    т.е. так:


    Код (Text):
    1. ...
    2. ...
    3. invoke SQLAllocHandle, SQL_HANDLE_ENV, SQL_NULL_HANDLE, h_env
    4. invoke SQLSetEnvAttr, h_env, SQL_ATTR_ODBC_VERSION, SQL_OV_ODBC3, 0
    5. invoke SQLAllocHandle, SQL_HANDLE_DBC, h_env, h_dbc
    6.  
    7.     ; [b](2)[/b]
    8.     invoke SQLAllocHandle, SQL_HANDLE_STMT, h_dbc, h_stmt
    9.  
    10.     ; [b](3)[/b]
    11.     ; Здесь формируем строку SQL запроса и "компилируем" ее
    12.     invoke SQLPrepare, h_stmt, SQLString, sizeof SQLString
    13.  
    14.       / --
    15.       /   ; [b](1)[/b]
    16.       /   ; Здесь формируем строку подключения strConnect и коннектимся к базе
    17.       /   invoke SQLDriverConnect, h_dbc, 0, strConnect, sizeof strConnect, buffer, sizeof buffer, OutBufferLength, SQL_DRIVER_COMPLETE
    18.       /   ; Выполним запрос
    19.       /   invoke SQLExecute, h_stmt
    20.       /   ...
    21.       /   ...
    22.       /   invoke SQLDisconnect, h_dbc
    23.       \-- 5 раз
    24.  
    25.     invoke SQLFreeHandle, SQL_HANDLE_STMT, h_stmt
    26.     ...
    27.     ...
    28.  
    29.     ...
    30.     ...
    31. invoke SQLFreeHandle, SQL_HANDLE_DBC, h_dbc
    32. invoke SQLFreeHandle, SQL_HANDLE_ENV, h_env
    33. ...
    34. ...