我不懂PRO*C,看了一下一些别人写的代码,好像用EXEC SQL CONNECT :USERIDPASSWORD是可以的,:USERIDPASSWORD是一个象"SCOTT/TIGER"这样的字符串.我是瞎猜,你试试吧

解决方案 »

  1.   

    连接数据库的部分代码:
      EXEC SQL BEGIN DECLARE SECTION;
        VARCHAR userid[20];
        VARCHAR password[20];
      EXEC SQL END DECLARE SECTION;    strcpy(userid.arr,"long");
        userid.len=strlen(userid.arr);
        strcpy(password.arr,"pwd");
        password.len=strlen(password.arr);
        strcpy(db_name.arr,"d:guan_ora7");
        strcpy(db_name.arr,"d:guan_ora7");
        EXEC SQL WHENEVER SQLERROR DO sqlerror();
        EXEC SQL DECLARE db_link_name DATABASE; 
        EXEC SQL CONNECT:userid IDENTIFIED BY:password; 
      

  2.   

    加上servername 试试看
    EXEC SQL CONNECT :usrid IDENTIFIED BY :password USING :servername
      

  3.   

    EXEC SQL DECLARE db_link_name DATABASE; 
    这句话什么意思?