2011年8月9日 星期二

IIS7 .NET4.0 新安裝問題,ISAPI及CGI限制

在預設下安裝好IIS7
是沒有開啟.NET4.0的存取的

開啟方法請到IIS7設定下
找到主機的首頁
IIS區塊中
ISAPI及CGI限制
把asp.net 4.0設定成允許即可

2011年8月8日 星期一

修復以及壓縮 Accress 資料庫使用 C#

原理是叫用一JETEngine,用他的方法去壓縮ACCESS資料庫
但是會產生額外的檔案(合理)
所以要再把產生的檔案複製回來即可
            object[] oParams;             //create an inctance of a Jet Replication Object             object objJRO =             Activator.CreateInstance(Type.GetTypeFromProgID("JRO.JetEngine"));              
                   //filling Parameters array                 //cnahge "Jet OLEDB:Engine Type=5" to an appropriate value                 // or leave it as is if you db is JET4X format (access 2000,2002)                 //(yes, jetengine5 is for JET4X, no misprint here)                 oParams = new object[] {                      "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=My.mdb;Persist Security Info=True;Jet OLEDB:Database Password=OnlyYouOnlyYou",                     ,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\tempdb.mdb;Jet OLEDB:Engine Type=5"};                 //invoke a CompactDatabase method of a JRO object                 //pass Parameters array                 objJRO.GetType().InvokeMember("CompactDatabase",                 System.Reflection.BindingFlags.InvokeMethod,                 null,                 objJRO,                 oParams);                 //database is compacted now                 //to a new file C:\\tempdb.mdw                 //let's copy it over an old one and delete it                 File.Delete(mdwfilename);                 File.Move("C:\\tempdb.mdb", mdwfilename);                 //clean up (just in case)                  
if(objJRO != null)                     System.Runtime.InteropServices.Marshal.ReleaseComObject(objJRO);                 objJRO = null;          

引用出處
http://www.cnblogs.com/maxianghui/archive/2006/08/20/481886.html

2011年8月7日 星期日

.Net 透過 OLE.DB 去讀取ACCRESS資料庫時的Adapter.Fill錯誤

錯誤訊息如下:
提供者無法決定 Object 值。例如,剛建立資料列,Object 資料行的預設值無法使用,而消費者尚未設定新 Object 值

解決方法:
請重整ACCRESS資料庫,此時應該是ACCESS資料庫有問題,至於甚麼問題還在處理中,猜測應該是非同步讀寫資料庫,造成一些幽靈資料導致(純屬猜測)