2013年6月4日 星期二

修改Win Server IIS 檔案上傳限制方法


IIS6.0的修改檔案上傳限制方法

  1. 在IIS中右鍵「本地電腦」選擇「屬性」,鉤選「允許直接編輯設定資料庫」;
  2. 在服務裡關閉「IIS Admin Service」服務;
  3. 找到c:\windows\system32\inetsrv\下的「MetaBase.xml」,打開,找到「AspMaxRequestEntityAllowed 」把他修改為需要的值,預設為204800,即200k ,把它修改為51200000(50MB);
  4. 然後重啟「IIS Admin Service"服務。 
在 IIS 6.0 中,無法下載超過4M的附件時,可以按以下步驟解決 :
  1. 先在服務裡關閉 iis admin service 服務。
  2. 找到 windows\system32\inetsrv\ 下的 metabase.xml 檔。
  3. 用純文字方式打開,找到 AspBufferingLimit 把它修改為需要的值,預設為4194304(可修改為20M即:20480000)。
  4. 4、存檔,然後重啟 iis admin service 服務。


IIS7.0的修改檔案上傳限制方法

  1. 打開IIS管理器→ 按兩下「IIS」中的「ASP」→ 打開「限制內容」;
  2. 修改「要求實體的上限」的值,預設值為200000(即不到200KB);
  3. 把它修改為你想修改的大小,如:52000000(50MB);
  4. 修改完成點擊「套用」,建議重新啟動系統,一切就OK了!

附:iis7 上傳大檔限制的真正解決辦法

  1. 打開「Internet 資訊服務(IIS)管理器」;
  2. 關閉IIS服務;
  3. 按兩下「Default Web Site「→按兩下中間窗格中的「要求篩選」→按一下右側窗格的「編輯功能設置」→修改「請求限制」下面的「允許的最大內容長度」,預設是30M,隨便改大一點,我改成300M,點擊「確定」;
  4. 重新開機IIS,再上傳試試,50M、90M都可以了。

2012年9月19日 星期三

ASP 陣列拆法


'=== 陣列拆法 已知或固定的陣列數 =============================
TradeCode_1 = ""
TradeCode_2 = ""
TradeCode_3 = ""
if( InStr(rs("TradeCorpType"), "|") > 0 ) then 
arrTradeType = split( rs("TradeCorpType"), "|" )
For i = 0 To UBound(arrTradeType)
if( i = 0 ) then 
TradeCode_1 = arrTradeType(0) 
TradeCode_1_Cname = fetchCorpTypeName (TradeCode_1)
elseif( i = 1 ) then 
TradeCode_2 = arrTradeType(1)
TradeCode_2_Cname = fetchCorpTypeName (TradeCode_2)
elseif( i = 2 ) then 
TradeCode_3 = arrTradeType(2) 
TradeCode_3_Cname = fetchCorpTypeName (TradeCode_3)
end if
Next
end if 

'=== 陣列拆法 未知或動態的陣列數 =============================
if( InStr(rs("TradeCorpType"), "|") > 0 ) then 
arrTradeType = split( rs("TradeCorpType"), "|" )
For i = 0 To UBound(arrTradeType)
TradeCode = arrTradeType(i) 
Next
end if  

2012年5月13日 星期日

關閉視窗 Javascript

Explorer 6
window.opener=self;
window.close();
Explorer 7
window.open(”",”_self”);
window.close();

方式一

<SCRIPT LANGUAGE="JavaScript">
<!--
function closeWin(){
   window.open("","_self");
   top.opener=null;
   top.close();
}
//-->
</SCRIPT>
<body onLoad="closeWin();">

2012年4月17日 星期二

x64-bit環境執行32-bit COM DLL

x64-bit環境執行32-bit COM DLL
如果發生下列錯誤,為具有 CLSID {166EB857-8CCD-4D83-8F27-CADDB2800374} 的元件擷取 COM Class Factory 失敗: 80004027。

乃是由於在x64-bit環境上執行32-bit DLL所致.

x64-bit環境如何執行32-bit COM DLL?

1.如果已經註冊32-bit 到 x64 作業系統, 先解除安裝例如: "regsvr32 /u C:\MyDLL\CRAXDRT.DLL"
2.確定dll不在Windows目錄像C:\Windows. 本例CRAXDRT.DLL 放在C:\MyDLL目錄中.
3.執行控制台->系統及安全->系統管理工具->元件服務
->電腦->我的電腦->COM+應用程式->右鍵->新增->應用程式.
4.歡迎使用COM+應用程式安裝精靈->下一步.
5.選擇"建立空的應用程式".
6.本例名稱用CRAXDRT, 選伺服器應用程式->下一步.
7.選"互動式使用者-目前登入的使用者"->下一步, 下一步->完成.
8.現在在COM+應用程式下多了一個CRAXDRT, 點選CRAXDRT左方三角型會看到下拉元件, 傳統元件, 角色三個目錄, 點選元件右鍵新增->元件.
9.歡迎使用COM+元件安裝精靈->下一步.
10.選安裝新元件->選擇:C:\MyDLL\CRAXDRT.DLL.->下一步->完成.
11.點選CRAXDRT右鍵->內容->安全性, 不勾選->強制此應用程式的存取檢查, 不勾選->套用軟體限制原則, 模擬等級選匿名->確定.
12.如須由WEB 應用程式存取DLL(如本例)則必須加設定ASPNET及IIS_WPG角色.
13.點選CRAXDRT->角色->CreateOwner->使用者->右鍵->新增->使用者.
14.分別加入ASPNET及IIS_WPG二個使用者到CreateOwner.
15.大功告成.

2012年1月18日 星期三

Win R2 是64位元系統開Access方式

由於Win R2 是64位元系統。在用IIS測試ASP網站時,連接資料庫代碼總是不成功。


"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.mappath(db) 用這種方式時返回“3706”錯誤值。


"Driver=Microsoft Access Driver (*.mdb);DBQ="&Server.MapPath(db) 用這種方式時返回“-2147467259”錯誤值。


因為Win2008 R2 是64位操作系統。而64位元作業系統不支援Microsoft OLE DB Provider for Jet驅動程式,也不支援更早的Microsoft Access Driver (*.mdb)方式連接。所以用於 Access 和 Excel 資料庫的 Microsoft OLE DB Provider for Jet 在 64 位版本中不可用,也就是說,如下兩種連接字串都已經無法正常工作了:


"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.mappath(db)。

"driver=Microsoft Access Driver (*.mdb);DBQ="&Server.MapPath(db)。

要解決這問題,只有讓IIS環境設置成32位。IIS的版本不一樣處理起來也會不一樣。下面就分別對IIS7和IIS6處理作說明。

一.IIS7處理起來很簡單,具體步驟如下:

在IIS7下選擇“應用程式池”,右擊對應網站的應用程式池,“啟用32位元應用程式”設置為“True”即可。

二.IIS6處理,具體步驟如下:


1.在命令列輸入:

cscript.exe %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

2.重新註冊.NET FrameWorks.
%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

3. 完成之後,應該會看到多出一個32位的asp.net,將其設置為允許,缺點:這樣會使整個IIS上的所有網站都以32位元相容方式運行。

2011年12月29日 星期四

執行 ASP 頁導致回應緩衝區超出其設定限制

執行存放於Windows 2003(IIS 6.0)的ASP程式,若出現「…執行 ASP 頁導致回應緩衝區超出其設定限制…」等錯誤訊息,依MSDN的說法,其發生的原因是:「之所以發生這個問題,是因為 IIS 6.0 中引進並加入 IIS 5.0 的行為變更。這些版本的 IIS 會強制執行 4 MB 的預設 ASP 回應緩衝區上限。此限制防止大型的 ASP 回應對裝載 Web 應用程式的 IIS 處理序造成不利的影響。」
解決方法就是將Buffer調大囉:在DOS模式下,執行底下指令
C:\windows\system32\cscript.exe C:\Inetpub\AdminScripts\adsutil.vbs SET w3svc/aspbufferinglimit 10485760
10485760這數字即是buffer的大小,10MB之意(即1024*1024*10),視自己的需求而定。
此指令如果執行有誤,請確認下cscript.exe及adsutil.vbs的存放路徑是否正確。
一般而言cscript.exe存放於C:\windows\system32目錄下,adsutil.vbs存放於C:\Inetpub\AdminScripts目錄下

2011年12月4日 星期日

Windows 2003 server 32bit 與 64bit對SQL開檔方式

Windows 2003 server 32bit 與 64bit對SQL開檔方式:


db_name = 資料庫名稱

2003 Server 32bit方式:
db_conn.Open "driver={SQL Server};server=電腦名稱或IP;uid=SQL登入帳號;pwd=SQL登入秘密碼;database=" & db_name

2003 Server 64bit 方式:
db_conn.Open "PROVIDER=SQLOLEDB;DATA SOURCE=電腦名稱或IP;UID=SQL登入帳號;PWD=SQL登入秘密碼;DATABASE=" & db_name