环境设定rem    VC++   copy c:\oracle\ora92\precomp\public\*.h   vc_path\Includerem           copy c:\oracle\ora92\precomp\lib\orasql9.lib
*.pc 中增加一句
#pragma comment(lib,"sqllib18.lib")

解决方案 »

  1.   

    #pragma comment(lib,"sqllib8.lib")  oracle8.0
    #pragma comment(lib,"orasql9.lib")  oracle9.0
      

  2.   

    我在系统配置文件中设置如下:
    include=d:\oracle\ora90\precomp\public\*.h
    include=d:\学习工具\vc\vc98\include\*.h
    include=d:\oracle\ora90\oci\include\*.h
    include=d:\oracle\ora90\precomp\lib\orasql9.lib
    然后在*.pc中加入了上面的#pragma comment(lib,"sqllib18.lib")
    可结果还是一样,不知道哪错了,真的很郁闷也,高手帮忙啊
      

  3.   

    上面出现的错误是通过pro*c和c++预编译过后,生成可执行文件的时候出现的。
      

  4.   

    是复制文件阿 copy  d:\oracle\ora90\precomp\lib\orasql9.lib    当前目录 copy  d:\oracle\ora90\precomp\public\*.h         d:\学习工具\vc\vc98\include\*.h然后在*.pc中加入了上面的
    #pragma comment(lib,"orasql9.lib")   ora90 
      

  5.   

    //a.pc#pragma comment(lib,"orasql9.lib")
    #include <stdio.h>
    #include <string.h>
    #include <sqlca.h>int main()
    {
    /*ホスト変数を宣言する。*/
    EXEC SQL BEGIN DECLARE SECTION;
    char *username = "use1";
    char *password = "sys";
    char *db_string = "oradb";
    char *sqlstmt = "select 'test' from dual";
    char outstr [10];
    EXEC SQL END DECLARE SECTION;
    /* 埋め込みSQLプログラムの実行時に、致命的なエラーが発生したときは、制御を sqlerror の位置に移す。*/
    EXEC SQL WHENEVER SQLERROR GOTO sqlerror;
    /*データベースに接続する。*/
    EXEC SQL CONNECT :username IDENTIFIED BY :password USING :db_string;
    /*SQL文を実行する*/
    EXEC SQL  select 'test' 
            into :outstr
            from dual;
         printf("%s\n",outstr);
    sqlerror:
           if( 0 > sqlca.sqlcode ){
    printf("%.*s\n",sqlca.sqlerrm.sqlerrml,sqlca.sqlerrm.sqlerrmc);
    }
    /*データベースとの接続を切断する。*/
    EXEC SQL ROLLBACK RELEASE;
    getchar();
    return 1;
    }
      

  6.   

    @each off
    rem make.bat
    rem proc 手順
    rem 1.*.pc procの元ソースを作成する。
    rem 2.proc a.pc コンパイルして、a.c ソースを作成された。
    rem      proc.exe の path = c:\oracle\ora92\bin
    rem 3.a.c コンパイル
    rem    VC++   copy c:\oracle\ora92\precomp\public\*.h   vc_path\Includerem           copy c:\oracle\ora92\precomp\lib\orasql9.lib
    wait 5
    proc a.pc
      

  7.   

    不要忘记文件一定要复制到指定目录下
    orasql9.lib 在a.c 同一个目录下c:\oracle\ora92\precomp\public\*.h   在 vc_path\Include
      

  8.   


    extern void sqlcxt (void **, unsigned long *,
                        struct sqlexd *, const struct sqlcxp *);
    改成
    extern "C" void sqlcxt (void **, unsigned long *,
                        struct sqlexd *, const struct sqlcxp *);extern void sqlbuft(void **, char *);
    改成
    extern "C" void sqlbuft(void **, char *);
      

  9.   

    ssss.obj : error LNK2001: unresolved external symbol "void __cdecl sqlcxt(void * *,unsigned long *,struct sqlexd *,struct sqlcxp const *)"
    到底是什么原因啊
    真他妈 郁闷!
      

  10.   


    DOS下用 cm.bat 
     
        下面的这一部分改编成自己的配置。
            set oracle_home=C:\oracle\ora92
             set VSCommonDir=C:\PROGRA~1\MICROS~2\Common
             set MSDevDir=C:\PROGRA~1\MICROS~2\Common\msdev98
            set MSVCDir=C:\PROGRA~1\MICROS~2\VC98   *.pc 中增加一句
        #pragma comment(lib,"orasql9.lib")   源文件 a.pc  启动是 cm a cm.bat源文件:******************************************
    @echo off
    set oracle_home=C:\oracle\ora92
    set VSCommonDir=C:\PROGRA~1\MICROS~2\Common
    set MSDevDir=C:\PROGRA~1\MICROS~2\Common\msdev98
    set MSVCDir=C:\PROGRA~1\MICROS~2\VC98if "%OS%" == "Windows_NT" set VcOsDir=WINNT
    if "%OS%" == "Windows_NT" set PATH=%MSDevDir%\BIN;%MSVCDir%\BIN;%VSCommonDir%\TOOLS\%VcOsDir%;%VSCommonDir%\TOOLS;%PATH%
    if "%OS%" == "" set PATH="%MSDevDir%\BIN";"%MSVCDir%\BIN";"%VSCommonDir%\TOOLS\%VcOsDir%";"%VSCommonDir%\TOOLS";"%windir%\SYSTEM";"%PATH%"
    path =%path%;%oracle_home%\oci;%oracle_home%\bin;%oracle_home%\precomp\publicset INCLUDE=%MSVCDir%\ATL\INCLUDE;%MSVCDir%\INCLUDE;%MSVCDir%\MFC\INCLUDE;%INCLUDE%
    set INCLUDE=%INCLUDE%;%oracle_home%\precomp\public;%path%;%oracle_home%\oci\INCLUDE
    set LIB=%MSVCDir%\LIB;%MSVCDir%\MFC\LIB;%LIB%
    set LIB=%LIB%;%oracle_home%\lib;%oracle_home%\precomp\lib;%oracle_home%\jdk\include;%oracle_home%\jdk\bin
    set VcOsDir=
    set VSCommonDir=proc %1.pc
    cl %1.c************************