大家好,
   初次编写oracle相关程序(C#),我的想法是目标程序能够任意的分发到任何windows机器上,程序本身就能完成与oracle数据库的通信协作,不需要oracle client以及不必要的配置,请问怎么做呀,谢谢大家,给小弟提个意见。

解决方案 »

  1.   

    有想法我也关注ing。但愿能实现。呵呵
      

  2.   

    可以的。
    我以前用PB做过的。原理是一样的。
    Oracle 9i執行所需要的動態連結檔,執行環境TCP
    ora92\bin
    oci.dll
    oracle.key
    oraclient9.dll
    oracommon9.dll
    oracore9.dll
    orageneric9.dll
    oraldapclnt9.dll
    oran9.dll
    orancds9.dll
    orancrypt9.dll
    orangss9.dll
    oranhost9.dll
    orank59.dll
    oranl9.dll
    oranldap9.dll
    oranls9.dll
    oranms.dll
    oranmsp.dll
    orannts9.dll
    orannzsbb9.dll
    oranoname9.dll
    oranrad9.dll
    oranro9.dll
    orantcp9.dll
    orantns9.dll
    orapls9.dll
    oraslax9.dll
    orasnls9.dll
    orasql9.dll
    oratrace9.dll
    oraunls9.dll
    oravsn9.dll
    orawtc9.dll
    oraxml9.dll
    oraxsd9.dll
    ※ 其中oracle.key記錄了預設機碼的訊息
    ora92\network\admin
    sqlnet.ora
    tnsnames.ora
    ※ 其中tnsnames.ora記錄了連線主機的資料
    ora92\ocommon\nls\admin\data
    LX00001.NLB
    LX00023.NLB
    LX00024.NLB
    LX10001.NLB
    LX10035.NLB
    LX10039.NLB
    LX1BOOT.NLB
    LX20001.NLB
    LX20354.NLB
    LX20361.NLB
    LX20363.NLB
    LX207D01.NLB
    LX50363.NLB
    LX507D01.NLB
    LX60354.NLB
    LX60361.NLB
    LX60363.NLB
    LX607D01.NLB
    ※這些語言檔是依照繁體、简体中文運行環境所分析的,使用其他語言需要的檔案應該會不同
    ora92\oracore\zoneinfo
    timezone.dat
    ora92\rdbms\mesg
    ocius.msb
    ocizhs.msb
    ocizht.msb
    oraus.msb
    orazhs.msb
    orazht.msb機碼
    [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE]
    "ORACLE_HOME"="C:\\WINSC9\\oracle\\ora92"
    "ORACLE_HOME_NAME"="Ora92"
    "API"="C:\\WINSC9\\oracle\\ora92\\dbs"
    "ORACLE_GROUP_NAME"="Oracle - Ora92"
    "NLS_LANG"="NA"
    "VOBHOME2.0"="C:\\WINSC9\\oracle\\ora92"
    [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES]
    "HOME_COUNTER"="1"
    "DEFAULT_HOME"="Ora92"
    "LAST_HOME"="0"
    [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES\ID0]
    "NAME"="Ora92"
    "PATH"="C:\\WINSC9\\oracle\\ora92"
    "NLS_LANG"="NA"
    [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0]
    "ID"="0"
    "ORACLE_GROUP_NAME"="Oracle - Ora92"
    "ORACLE_HOME_NAME"="Ora92"
    "ORACLE_HOME"="C:\\WINSC9\\oracle\\ora92"
    "NLS_LANG"="TRADITIONAL CHINESE_TAIWAN.ZHT16MSWIN950"
    "ORACLE_BUNDLE_NAME"="Enterprise"
    "ORAMTS_CP_TRACE_LEVEL"="0"
    "ORAMTS_CP_TRACE_DIR"="C:\\WINSC9\\oracle\\ora92\\oramts\\Trace"
    "ORAMTS_CONN_POOL_TIMEOUT"="120"
    "ORAMTS_SESS_TXNTIMETOLIVE"="120"
    "ORAMTS_NET_CACHE_MAXFREE"="5"
    "ORAMTS_NET_CACHE_TIMEOUT"="120000"
    "ORAMTS_OSCREDS_MATCH_LEVEL"="OS_AUTH_LOGIN"
    "ORACLE_HOME_KEY"="SOFTWARE\\ORACLE\\HOME0"
    "SQLPATH"="C:\\WINSC9\\oracle\\ora92\\dbs"※ 系統運行時將會取SOFTWARE\ORACLE\HOME0的機碼訊息
    ※ 這記錄在oracle.key檔案裡
    ※ 簡繁體語系的差異
    ※ 繁體"NLS_LANG"="TRADITIONAL CHINESE_TAIWAN.ZHT16MSWIN950"
    ※ 簡體"NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
    ※ 跟路徑相關參數則依照實際檔案存放位置設定
      

  3.   

    以前听说过有人用pb坐 不装客户端,只用拷贝的必须的客户端文件今天终于见到高人了,把文件列表都这么详细,长学问了!
    ps:odbc联不用 客户端吧?也很方便
      

  4.   

    谢谢大家了,问题得到解决,那样做太复杂了,还是装一下oracle客户端吧。
      

  5.   

    James_HIT() ( ) 信誉:100    Blog  2007-1-29 16:40:24  得分: 0  
     
     
       
    谢谢大家了,问题得到解决,那样做太复杂了,还是装一下oracle客户端吧。  
     
    ---
    程序做成三层结构的好了
    客户端访问中间层
    中间层访问数据库服务器
    只需要在中间层的机器上面安装oracle客户端