2013-10-31 246 views
1

我有一個使用Microsoft Access數據庫(MDB)構建在傳統ASP中的網站。我將該網站設置爲在Windows 7 64位機器上運行。當我將該網站添加到IIS時,我選擇了一個.net 2.0應用程序池。該池使用經典流水線和32位應用程序支持打開。這工作得很好。IIS和應用程序池32位和64位

現在我正在向該網站添加搜索功能。我利用Windows索引服務並使用asp查詢目錄。當我將搜索功能添加爲新應用程序時,我告訴它使用64位應用程序池。無論出於何種原因,搜索功能似乎都無法正確使用指定的64位應用程序池。

如果我把我開的主要網站指定的32位應用程序池,並關閉支持32位應用程序,搜索工作,但因爲沒有64位驅動噴射(MDB)訪問查詢失敗。

我如何獲得IIS使用不同的位數不同的應用程序池的主站點和應用程序添加到網站作爲一個子目錄?

我想過將mbd數據庫轉換爲accdb,因爲accdb有64位驅動程序。目前,我無法做到這一點,因爲我們目前的託管公司正在win2k盒子上運行該網站。我正在選擇一臺新主機,並將該網站運行在win 2008/2012服務器上。那時我可以升級數據庫,但是由於代碼中有很多地方會變得很痛苦,並且可能需要一些時間,因爲網站經常變化,我必須在轉換時保留2個版本。

邁克

回答

0

搜索了將近一天的時間,試着讓2個應用程序池在一起玩,我發現問題來自座位和鍵盤之間的對象。讓我解釋。

當我將搜索文件作爲新應用程序移動到子文件夾時,我忘記更新搜索表單的目標以指向新位置中的文件。它仍然指向舊的位置。這就是搜索以32位而非64位運行的原因。

我現在可以說在Windows 7 IIS上運行的經典ASP可以有多個不同位數的應用程序池。

0

在子文件夾的webconfig放inheritinchildapplications =「假」到路徑

<location path="." inheritInChildApplications="false"> 
<system.web> 
+0

由於我沒有在子文件夾中的web.config文件,我添加了一個你提供的2行代碼。沒有改變。搜索頁面仍然在32位應用程序池下運行。我錯過了一些東西,因爲你告訴我將代碼添加到我的web.config文件中?是否應該超過這兩行代碼? – RCDAWebmaster

+0

在我的腦海中,我翻譯了asp - > asp.net,除了這兩行代碼外,web.config文件還會有相當多的代碼。我不認爲在/ classic/asp中你可以在不同的應用程序池上運行一個子文件夾,因爲asp沒有相同的配置概念。你可以把一個global.asa文件放到可能做到的子文件夾中。如果它不將搜索功能移動到站點根目錄上的新文件夾 - 假設Web服務器的根目錄未設置爲32位;如果它在綁定到另一個端口的IIS中創建一個新站點並從主應用程序中加載該代碼。 – u07ch

+0

該網站的根目錄是我從中取得搜索頁並將其作爲應用程序移至子目錄的位置,因爲代碼需要在64位中運行。我會試着看看你提到的global.asa文件。如果我無法做到這一點,我會嘗試着看看是否可以重新設計搜索以32位模式運行。 (創可貼)。我瞭解到,在某些時候,我需要使用64位數據庫重新設計站點,並使所有功能都以64位方式運行。另外我想將網站轉移到.net,因爲我已經在其他一些項目上使用了它,並且討厭試圖記住兩種類似的語言。 – RCDAWebmaster

0

如果我把打開我的主站點和 轉指定的32位應用程序池關閉32位應用程序支持,搜索工作,但由於 沒有64位噴射驅動程序(MDB)訪問查詢失敗。

...

我想過轉換萬桶數據庫ACCDB因爲有 64 ACCDB位驅動程序。目前,我無法做到這一點,因爲我們的 當前託管公司正在win2k機箱上運行該網站。我在 選擇新主機的過程中,並且將使該站點運行於贏得2008/2012年服務器的勝者 。在這一點上,我可以升級數據庫,但 因爲在代碼中很多地方會成爲一個痛苦和可能 需要一些時間,因爲該網站經常變化,我不得不保持2個 版本,而轉換。

有沒有必要做這個。

IIS可在64位的任何窗口中的64位或32位模式下運行本身。這可以通過使用Enable32BitAppOnWin64 directive on IIS6或使32-bit application option in IIS 7.x被激活,舊Microsoft Access數據庫.mdb)可以訪問64位或32位無新Micorsoft訪問數據庫2007-2010格式需要corversion的(accdb),您只需要安裝正確的驅動程序。

目前,Microsoft Access數據庫的64位模式,它是由Microsoft.ACE.OLEDB.12.0驅動程序提供又名Microsoft Access Database Engine 2010 Redistributable

窗口的默認安裝目錄來與過時且不適用Microsoft Access數據庫驅動程序或Microsoft.Jet.OLEDB.4.0。只需忽略它並安裝新的驅動程序

安裝新驅動程序時,可能需要在所有連接字符串中修改一點(如果不使用DSN的連接),但所有舊功能都適用於新驅動程序。

NOTE:您必須安裝與您在主機中安裝的Office版本(32位/ 64位)相對應的驅動程序(如果適用)。如果您在服務器中安裝了Office(32位),則無法安裝64位驅動程序。如果您沒有在serevr中安裝Office,請忽略此說明。