免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2786 | 回复: 8
打印 上一主题 下一主题

如何同时连接多个database [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-04-10 14:07 |只看该作者 |倒序浏览
unix操作系统下安装了数据库,建立了2个database:user1.db1,user2.db2
现在有一个应用需要同时操作这两个database里的数据,请问在嵌C的程序里如何建立与这两个database的连接?事务如何控制?

论坛徽章:
0
2 [报告]
发表于 2003-04-11 10:14 |只看该作者

如何同时连接多个database

db2 不可以同时连接两个数据库。

论坛徽章:
0
3 [报告]
发表于 2003-04-14 15:24 |只看该作者

如何同时连接多个database

db link

论坛徽章:
0
4 [报告]
发表于 2003-04-15 10:40 |只看该作者

如何同时连接多个database

在应用程序中是可以直接连接2个数据库的吧,java的可以的啊

论坛徽章:
0
5 [报告]
发表于 2003-04-15 12:54 |只看该作者

如何同时连接多个database

java, db2學習中......

论坛徽章:
0
6 [报告]
发表于 2003-04-15 12:57 |只看该作者

如何同时连接多个database

發重複了.
關注.

论坛徽章:
0
7 [报告]
发表于 2003-04-16 09:16 |只看该作者

如何同时连接多个database

我记得DB2有个组件可以允许你同时操作几个数据库,并且能
完成事务控制,不过我现在忘了,一年前听培训的时候见过

论坛徽章:
0
8 [报告]
发表于 2003-04-16 10:25 |只看该作者

如何同时连接多个database

应该是联合体数据库吧

论坛徽章:
0
9 [报告]
发表于 2003-04-17 09:18 |只看该作者

如何同时连接多个database

db2得cli好好像可以做到哦,下面我源代码,,

/* ... */
#include <stdio.h>;
#include <stdlib.h>;
#include <sqlcli1.h>;

/* ... */

SQLRETURN
prompted_connect( SQLHANDLE henv,
                  SQLHANDLE * hdbc);

#define MAX_UID_LENGTH   18
#define MAX_PWD_LENGTH   30
#define MAX_CONNECTIONS  2

#define MAX_CONNECTIONS 2

/* extern SQLCHAR server[SQL_MAX_DSN_LENGTH + 1] ;
extern SQLCHAR uid[MAX_UID_LENGTH + 1] ;
extern SQLCHAR pwd[MAX_PWD_LENGTH + 1] ;
*/

int main( ) {

    SQLHANDLE henv;
    SQLHANDLE hdbc[MAX_CONNECTIONS] ;

/* ... */

    /* allocate an environment handle */
    SQLAllocHandle( SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv ) ;

    /* Connect to first data source */
    prompted_connect( henv, &hdbc[0] ) ;

    /* Connect to second data source */
    prompted_connect( henv, &hdbc[1] ) ;

    /*********   Start Processing Step  *************************/
    /* allocate statement handle, execute statement, etc.       */
    /*********   End Processing Step  ***************************/

    printf( "\nDisconnecting .....\n" ) ;
    SQLDisconnect( hdbc[0] ) ;  /* disconnect first connection */
    SQLDisconnect( hdbc[1] ) ;  /* disconnect second connection */

    /* free first connection handle */
    SQLFreeHandle( SQL_HANDLE_DBC, hdbc[0] ) ;

    /* free second connection handle */
    SQLFreeHandle( SQL_HANDLE_DBC, hdbc[1] ) ;

    /* free environment handle */
    SQLFreeHandle( SQL_HANDLE_ENV, henv ) ;

    return ( SQL_SUCCESS ) ;

}

/* prompted_connect - prompt for connect options and connect */
SQLRETURN prompted_connect( SQLHANDLE henv,
                            SQLHANDLE * hdbc
                          ) {

    SQLCHAR server[SQL_MAX_DSN_LENGTH + 1] ;
    SQLCHAR uid[MAX_UID_LENGTH + 1] ;
    SQLCHAR pwd[MAX_PWD_LENGTH + 1] ;

    /* allocate a connection handle     */
    if ( SQLAllocHandle( SQL_HANDLE_DBC,
                         henv,
                         hdbc
                       ) != SQL_SUCCESS ) {
        printf( ">;---ERROR while allocating a connection handle-----\n" ) ;
        return( SQL_ERROR ) ;
    }

    /* Set AUTOCOMMIT OFF */
    if ( SQLSetConnectAttr( * hdbc,
                            SQL_ATTR_AUTOCOMMIT,
                            ( void * ) SQL_AUTOCOMMIT_OFF, SQL_NTS
                          ) != SQL_SUCCESS ) {
       printf( ">;---ERROR while setting AUTOCOMMIT OFF ------------\n" ) ;
       return( SQL_ERROR ) ;
    }

    printf( ">;Enter Server Name:\n" ) ;
    gets( ( char * ) server ) ;
    printf( ">;Enter User Name:\n" ) ;
    gets( ( char * ) uid ) ;
    printf( ">;Enter Password:\n" ) ;
    gets( ( char * ) pwd ) ;

    if ( SQLConnect( * hdbc,
                     server, SQL_NTS,
                     uid,    SQL_NTS,
                     pwd,    SQL_NTS
                   ) != SQL_SUCCESS ) {
        printf( ">;--- ERROR while connecting to %s -------------\n",
                server
              ) ;

        SQLDisconnect( * hdbc ) ;
        SQLFreeHandle( SQL_HANDLE_DBC, * hdbc ) ;
        return( SQL_ERROR ) ;
    }
    else              /* Print Connection Information */
        printf( "Successful Connect to %s\n", server ) ;

    return( SQL_SUCCESS ) ;

}


这个是db2cli自带得例子!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP