2010年1月20日 星期三

安裝ORACLE client

以前要連線Oracle 必須透過Oracle client 程式來連接,
在10g 的版本提供了新的 instant Client 可以不用再安裝龐大的 Oracle Client

之後需要設定一些系統環境變數
設定PATH環境變數,加入C:\Oracle\Ora10IC
設定TNS_ADMIN環境變數,指向TNSNAMES.ORA。
設定NLS_LANG環境變數,設定預設的語系('TRADITIONAL CHINESE.ZHT16BIG5'),不然查詢結果中文會變亂碼

tnsnames.ora 範例
SALES =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.20)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)

之後設定ODBC讓Hyperion 透過ODBC 連線

2008年10月24日 星期五

PageRequestManagerServerErrorException

發生錯誤訊息 Sys.WebForms.PageRequestManagerServerErrorException

處理方式為 在aspx原始檔案中加入
<%@Page ValidateRequest="false"> 即可

2008年9月30日 星期二

無法修改 Controls 集合,因為控制項包含程式碼區塊 (例如 <% ... %>)

今天遇到了這個錯誤訊息,不過很奇怪,之前都正常,只更新一下MasterPage之後就變成這樣,
所以我想應該是MasterPage的問題

上google去go一下,發覺中文的資訊不多,
不過大概可以知道 可能是程式裡面 有<%= ..... %> 這種寫法 然後又遇到
動態加入控制項 Controls.Add所導致的問題

後來我發現 MasterPage有下面這一段



之後我就把它改成

void Page_Load(object sender, EventArgs e)
{
HtmlGenericControl Hgc = new HtmlGenericControl("script");
Hgc.Attributes["src"] = Page.ResolveUrl("~/images/swfobject.JS");
Hgc.Attributes["type"] = "text/javascript";
header.Controls.Add(Hgc);
}

就沒有問題啦

參考網址 MSDNJude隨手寄事其他

2008年9月17日 星期三

Ajax下要匯出 Excel

基本上從GridView匯出EXCEL檔案不是一件多了不起的事
但是如果在Ajax環境下就會有點問題
因為最後要 Response.write
才可以把EXCEL匯出去

但是偏偏Ajax環境下卻不允許Response.write
會出現 Sys.WebForms.PageRequestManagerParserErrorException 這個錯誤訊息

該怎麼辦勒

可以參考這一篇

要輸出Excel那個按鈕設定成updatepanel中triggers的postbacktrigger就可以了

但是為什麼勒?? 我不知道說 呵呵

2008年9月3日 星期三

開發Crystal report 經驗談 (二)

雖然之前的方法可以解決我電腦上出現的問題,
不過在發佈出去後,似乎好像也是有諸多麻煩,
我希望可以是自動安裝的方式,由使用者安裝,
後來找到這篇文章,這是微軟的說明

裡面有個重點,就是我需要把下列說明加到web.config中

<configsections>
<sectiongroup name="businessObjects">
<sectiongroup name="crystalReports">
<section name="printControl" type="System.Configuration.NameValueSectionHandler, System, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null">
</sectiongroup>
</sectiongroup>
</configsections>
<businessobjects>
<crystalreports>
<printcontrol>
<add key="url" value="http://localhost/PrintControl.cab" />
</printcontrol>
</crystalreports>
</businessobjects>

不過紅字部分要特別注意一下,這是指定PrintControl.cab的路徑,

這個元件是下載自businessObjects的網站,當使用點選列印後,

若電腦沒有安裝Crystal Report的元件,網頁會彈跳出要求下載安裝的訊息,

不過這個前提是,列印方式要指定為ActiveX

CrystalReportViewer1.PrintMode = CrystalDecisions.Web.PrintMode.ActiveX;

還有需要把IE 中關於 ActiveX的限制打開,這樣才可以正確運作,終於大功告成啦,

這樣才是一個方便使用者操作的網頁