Asp鏈接Oracle (包含綠色版12.2客戶端和ODBC驅動安裝)

我能操做的終端電腦是一臺linux系統能夠上互聯網 ,服務器在部署在獨立的私網上,不方便上互聯網。服務器是2008R2.安裝vs不是很方便。其所linux下做開發不是不能夠,java php mono.net python 都能作。可是我還得在服務器上部署一套運行環境。由於操做系統不一樣,還不知道有沒有什麼坑。就想到了不須要部署的ASP。2008R2的IIS自帶此功能。php

但所沒想到仍是有坑的。。先說說服務器的環境,2008R2 安裝了64位 oracle11G。安裝了9i精簡客戶端。java

一)鏈接字符串問題python

原來在網上搜的ado的鏈接字符串,格式以下。但所一直報錯,提示沒法識別服務名。linux

 

connstr="Provider=OraOLEDB.Oracle;Data Source=orcl;User Id=trffpn_app;Password=*****; "

而後就嘗試另外的鏈接字符串經過ODBC鏈接,格式以下:sql

 

 

connstr="DSN=trffpn;UID=trffpn_app;PWD=******"

二)64位系統下32位ODBC管理工具。服務器

須要在odbc下面創建鏈接。在管理工具裏面用ODBC管理創建了鏈接池,發現害死報錯,提示找不到數據源。後來發現64的系統ODBC是區分32位和64位的。32位ODBC管理工具路徑以下:oracle

 

 

C:\Windows\SysWOW64\odbcad32.exe

三)9i精簡客戶端odbc驅動問題app

找到odbc32就好辦了,創建鏈接就能夠了,發現仍是報錯,提示用戶名密碼不對。怎麼嘗試怎麼不對。想來64位的ODBC沒問題,估計就是32位的ODBC驅動的問題了。ide

 

卸載驅動,從新安裝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_2
ORACLE_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"
相關文章
相關標籤/搜索