Asp连接Oracle (包含绿色版12.2客户端和ODBC驱动安装)
我能操作的終端電腦是一臺linux系統可以上互聯網 ,服務器在部署在獨立的私網上,不方便上互聯網。服務器是2008R2.安裝vs不是很方便。其所linux下作開發不是不可以,java php mono.net python 都能做。但是我還得在服務器上部署一套運行環境。因為操作系統不同,還不知道有沒有什么坑。就想到了不需要部署的ASP。2008R2的IIS自帶此功能。
但所沒想到還是有坑的。。先說說服務器的環境,2008R2 安裝了64位 oracle11G。安裝了9i精簡客戶端。
一)連接字符串問題
原來在網上搜的ado的連接字符串,格式如下。但所一直報錯,提示無法識別服務名。
?
connstr="Provider=OraOLEDB.Oracle;Data Source=orcl;User Id=trffpn_app;Password=*****; "然后就嘗試另外的連接字符串通過ODBC連接,格式如下:
?
?
connstr="DSN=trffpn;UID=trffpn_app;PWD=******"二)64位系統下32位ODBC管理工具。
需要在odbc下面建立連接。在管理工具里面用ODBC管理建立了連接池,發現害死報錯,提示找不到數據源。后來發現64的系統ODBC是區分32位和64位的。32位ODBC管理工具路徑如下:
?
?
C:\Windows\SysWOW64\odbcad32.exe三)9i精簡客戶端odbc驅動問題
找到odbc32就好辦了,建立連接就可以了,發現還是報錯,提示用戶名密碼不對。怎么嘗試怎么不對。想來64位的ODBC沒問題,估計就是32位的ODBC驅動的問題了。
?
卸載驅動,重新安裝12.2綠色版驅動。
綠色版客戶端是不包含ODBC驅動的,下載獨立ODBC驅動包,把兩個放在一個目錄下面。
然后執行一下ODBC驅動安裝文件odbc_install.exe,建議在命令行里執行方便查看輸出結果。
最后配置環境變量即可,主要方便32位的PLSQL連接。其中tns_admin和ORACLE_HOME不設置也行。在oci.dll文件目錄下新建NETWORK/ADMIN目錄,把tnsnames.ora放在這里即可。把綠色版客戶端目錄直接復制在plsql選項卡里也就可以不需要配在ORACLE_HOME了。
?
NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK TNS_ADMIN = D:/PLSQL/instantclinet_11_2ORACLE_HOME= D:/PLSQL/instantclinet_11_2
好了,這這時候終于在32位的驅動里建立了oracle連接
四)12.2驅動 plsql 登陸時需要VC++2003運行環境
折騰好了,要登陸plsql 我的版本是7.發現報錯。msvc120.dll的錯誤。百度搜了下缺少VC2003運行環境,安裝后解決。另外PLSQL11已經支持64位客戶端了。
五)獲取后的數據中文亂碼
在aspstudio里沒有問題,但所在iis里就是亂碼查看十六進制后中文都是3F。這個搗鼓了我好久,修改NLS_LANG,在ASP里現實聲明CODE。都沒有用。后來想起來配在了oracle驅動后還沒有重起服務器,重起解決
response.CodePage=65001 Response.Charset="UTF-8"?
?
總結
以上是生活随笔為你收集整理的Asp连接Oracle (包含绿色版12.2客户端和ODBC驱动安装)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【PM学习笔记】酸梅干超人 - 零基础学
- 下一篇: 什么是jdk的java运行工具_下面(