2012年7月29日 星期日
vs2010 crystal report,初使用
現在接了一個用vs2005開發的既存在專案,報表的部份需要使用到crystal report.
因為想改用vs2010來開發,而且以前從未使用者這個水晶報表,所以做了以下的測試
首先是環境的建置:
因為vs2010未內建crystal report,所以要先到sap 網站去下載 最後版本,
點選SAP Crystal Reports, version for Visual Studio 2010 - Standard 下載(2012/07/29下載的版本是CRforVS_13_0_4.exe)
如要個別下載及查看release not可到 Crystal Reports for Visual Studio 2010 Updates & Runtime Downloads
安裝完畢後,打開VS2010把原先VS2005專案開啟, 過程中會詢問是否要以較版本crystal reprot進行昇級
選擇轉換方案及備份位置,按下確定
接著詢問是否升級到.net framework 4.0, 這時要按Yes, 因為要昇級為targetFramework=4.0
試著build website,發現有些參考上的錯誤
在任一個已存在的aspx網頁上,由toolbox中將Crystal Report Viewr拖進來後再刪除, web.config就會自動加入相關的assembly定義了 .如下
<assemblies>
<add assembly="CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.ReportSource, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="CrystalDecisions.ReportAppServer.Controllers, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.ReportAppServer.DataDefModel, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.ReportAppServer.ClientDoc, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
</assemblies>
如果不想每個頁面註冊crystal report viewer,且統一tagname,則也可在web.config加入以下
<pages>
<controls>
<add tagPrefix="CR" assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" namespace="CrystalDecisions.Web" />
</controls>
</pages>
到此,試著把原先的vs2005 + crystal report 10.*的原網站就順利昇級起來了.
2012年7月24日 星期二
Win7 64 bit Informix ODBC測試
在windows 7 64bit 安裝informix ODBC(我是安裝IBM Informix Client-SDK3.50.xC7版 32bit及64bit),幾個重點
1.配合主機DB版本若為32bit,則仍需在win7 64bit環境下安裝 32bit informix connect ,最新版本可到此網址下載
2.若想利用sql server 2008 R2 建立linked db, 因為R2是64 bit,所以win7也必需要安裝64bit informix connect .
3.自已測試了一下, 想要使用 sql server 2008 R2的Import Data 匯入資料, 這時,他又只認32 bit ODBC的設定???
4.再測試了一下, 使用sql server 2008 R2 SSIS 連結ODBC, 也是只認32 bit ODBC的設定??
5.在SSIS data flow中, 建立informix 轉換到sql server 的處理, 結果仍是一樣的超級無敵難用. 透過ADO NET Source轉換時,仍強迫你要做 unicode and non-unicode的轉換.
為什麼不能依照informix 資料庫欄位的定義來做轉換呢??
為什麼不能和sql 2000 DTS 的用法一樣呢??還我原來的odbc provider啊,我不要ADO NET Source...
為什麼我要浪費時間做型別轉換呢??
為什麼經過了2005,2008,2008R2這個鳥問題仍然存在呢??
6.安裝完ODBC後,更改Enviornment 頁籤下的isolation level 為1-Read Uncommitted後, 測試連結,出現
Test connection was NOT successful.[Informix][Informix ODBC Driver][Informix]Transaction not available.
記得先檢查informix db的log mode是否為buffer log.否則無法設定isolation mode
2012年7月17日 星期二
linq dbml IsComposable 屬性
專案是使用linq to sql建立dmbl .
某天由資料庫主機更新某幾個Stored Procedure的dmbl定義後,
某一隻程式在儲存時會呼叫到更新後的Stored Procedure. 結果一直出現下列的錯誤
但檢查了資料庫的SP定義和dbml中的定義完全是一樣的啊,怎麼會找不到咧??
於是打開dbml檔的XXXXX.designer.cs 查看, 發現呼叫的SP和其他SP比較後,多了一個屬性的定義 IsComposable="true"如下:
[global::System.Data.Linq.Mapping.FunctionAttribute(Name="dbo.zspXXXX" , IsComposable="true")]
public int zspXXXX([global::System.Data.Linq.Mapping.ParameterAttribute(DbType="SmallInt")] System.Nullable<short> orgn, [global::System.Data.Linq.Mapping.ParameterAttribute(DbType="SmallInt")] System.Nullable<short> ym , [global::System.Data.Linq.Mapping.ParameterAttribute(DbType="SmallInt")] System.Nullable<short> isAuto)
{
IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), orgn, ym, isAuto);
return ((int)(result.ReturnValue));
}
根據MSDN上的定義,
IsComposable 屬性 是取得或設定方法是對應至函式,還是對應至預存程序。如果是函式,則為 true,如果是預存程序,則為 false。
看來預設是false.
將這個屬性移除後, 重新compile, 呼叫SP就正常了.
某天由資料庫主機更新某幾個Stored Procedure的dmbl定義後,
某一隻程式在儲存時會呼叫到更新後的Stored Procedure. 結果一直出現下列的錯誤
找不到資料行 "dbo" 或者使用者自訂函數或彙總 "dbo.zspXXXXX",或是名稱模糊不清。
但檢查了資料庫的SP定義和dbml中的定義完全是一樣的啊,怎麼會找不到咧??
於是打開dbml檔的XXXXX.designer.cs 查看, 發現呼叫的SP和其他SP比較後,多了一個屬性的定義 IsComposable="true"如下:
[global::System.Data.Linq.Mapping.FunctionAttribute(Name="dbo.zspXXXX" , IsComposable="true")]
public int zspXXXX([global::System.Data.Linq.Mapping.ParameterAttribute(DbType="SmallInt")] System.Nullable<short> orgn, [global::System.Data.Linq.Mapping.ParameterAttribute(DbType="SmallInt")] System.Nullable<short> ym , [global::System.Data.Linq.Mapping.ParameterAttribute(DbType="SmallInt")] System.Nullable<short> isAuto)
{
IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), orgn, ym, isAuto);
return ((int)(result.ReturnValue));
}
根據MSDN上的定義,
IsComposable 屬性 是取得或設定方法是對應至函式,還是對應至預存程序。如果是函式,則為 true,如果是預存程序,則為 false。
看來預設是false.
將這個屬性移除後, 重新compile, 呼叫SP就正常了.
2012年6月4日 星期一
AS2000 MDX , TOP N with member name
人客想要在AS2000找出本年度1月到上月為止排名前10的產品大類名稱、排名及數量
其中
XX02年月為國曆 年月(例10105)
XX10產品為產品維度
//提供本年度1月到上月為止 總計的的TOP N MDX語法
With
MEMBER [X].[XX02年月].[THISYEAR]
AS ' SUM (LASTPERIODS( IIF(MONTH(NOW() ) = 1 , 12, MONTH(NOW()) -1) , STRTOMEMBER ( "[X].[XX02年月].[ALL].[" + CSTR( IIF( MONTH(NOW()) = 1 , YEAR(NOW() ) -1912, YEAR(NOW()) -1911 ) ) + "].[" + CSTR( IIF ( MONTH(NOW()) = 1 ,YEAR(NOW() ) -1912 , YEAR(NOW()) - 1911) ) + RIGHT( "00" + CSTR( IIF(MONTH(NOW() ) = 1 , 12, MONTH(NOW()) -1) ) , 2 ) + "] " ) ) ) '
SET [ROW]
AS ' topcount ( { [X].[XX10產品].LEVELS(1).ALLMEMBERS } ,10, [MEASURES].[數量] ) '
MEMBER [Measures].[排名]
AS ' RANK ( [X].[XX10產品].CurrentMember, [ROW] ) '
MEMBER [Measures].[產品名稱]
AS ' [X].[XX10產品].CurrentMember.Name '
SET [COL]
AS ' { [Measures].[排名] , [Measures].[產品名稱] , [MEASURES].[數量] } '
Select
[COL] On Columns ,
[ROW] On Rows
From CubeProducts
Where ( [X].[XX02年月].[THISYEAR] )
人客又反應, 排序怪怪的沒有按照順序排,
所以把 [ROW] 改成以下囉
其中
XX02年月為國曆 年月(例10105)
XX10產品為產品維度
//提供本年度1月到上月為止 總計的的TOP N MDX語法
With
MEMBER [X].[XX02年月].[THISYEAR]
AS ' SUM (LASTPERIODS( IIF(MONTH(NOW() ) = 1 , 12, MONTH(NOW()) -1) , STRTOMEMBER ( "[X].[XX02年月].[ALL].[" + CSTR( IIF( MONTH(NOW()) = 1 , YEAR(NOW() ) -1912, YEAR(NOW()) -1911 ) ) + "].[" + CSTR( IIF ( MONTH(NOW()) = 1 ,YEAR(NOW() ) -1912 , YEAR(NOW()) - 1911) ) + RIGHT( "00" + CSTR( IIF(MONTH(NOW() ) = 1 , 12, MONTH(NOW()) -1) ) , 2 ) + "] " ) ) ) '
SET [ROW]
AS ' topcount ( { [X].[XX10產品].LEVELS(1).ALLMEMBERS } ,10, [MEASURES].[數量] ) '
MEMBER [Measures].[排名]
AS ' RANK ( [X].[XX10產品].CurrentMember, [ROW] ) '
MEMBER [Measures].[產品名稱]
AS ' [X].[XX10產品].CurrentMember.Name '
SET [COL]
AS ' { [Measures].[排名] , [Measures].[產品名稱] , [MEASURES].[數量] } '
Select
[COL] On Columns ,
[ROW] On Rows
From CubeProducts
Where ( [X].[XX02年月].[THISYEAR] )
人客又反應, 排序怪怪的沒有按照順序排,
所以把 [ROW] 改成以下囉
SET [ROW]
AS
' ORDER ( TOPCOUNT( { [X].[XX10產品].LEVELS(1).ALLMEMBERS } ,10, [MEASURES].[數量] ) , [MEASURES].[數量] , DESC ) '
2012年6月2日 星期六
Microsoft JScript 執行階段錯誤: 物件沒有支援這個屬性或方法 'trim'
在IE9.0.8112 16421 上遇到這個問題
有時用中文錯訊息總是google不到有用的解決方法, 所以要拆解一下關鍵字進行搜尋
自已覺得查找過程最快也最有效的方法是使用英文版的google 屢試不爽.
使用Microsoft JScript 'trim' 找到完整的英文訊息
運氣好一點,直接找到了相似的問題,通常就可以知道解決方法.
如這里的討論文 http://osdir.com/ml/jQuery/2009-07/msg02922.html
Microsoft JScript 執行階段錯誤: 物件沒有支援這個屬性或方法 'trim'
有時用中文錯訊息總是google不到有用的解決方法, 所以要拆解一下關鍵字進行搜尋
自已覺得查找過程最快也最有效的方法是使用英文版的google 屢試不爽.
使用Microsoft JScript 'trim' 找到完整的英文訊息
Microsoft JScript runtime error: Object doesn't support this property or method 'trim'
運氣好一點,直接找到了相似的問題,通常就可以知道解決方法.
如這里的討論文 http://osdir.com/ml/jQuery/2009-07/msg02922.html
jQuery's trim is used like:
var str = $.trim(str);
var str = $.trim(str);
2012年5月31日 星期四
2012年5月29日 星期二
FormsAuthentication.Decrypt 總是回傳 null
修改一個vs2008寫的 專案.
在debug模式下,進行到 FormsAuthentication.Decrypt ( mycookie.value) 時老是回傳null
但publish後執行卻又很正常?
查到 Tony's Programming Blog 的文章
情況很類似,查看KB 2656351 後,發現作業系統是windows 7的環境, 但我的環境是windows XP!!
使用Google 查找關鍵字 kb 2656351 .net 3.5
找到了KB 2656352適用在windows XP 的安全性更新
下載後執行安裝, 問題就解決了.
在debug模式下,進行到 FormsAuthentication.Decrypt ( mycookie.value) 時老是回傳null
但publish後執行卻又很正常?
查到 Tony's Programming Blog 的文章
情況很類似,查看KB 2656351 後,發現作業系統是windows 7的環境, 但我的環境是windows XP!!
使用Google 查找關鍵字 kb 2656351 .net 3.5
找到了KB 2656352適用在windows XP 的安全性更新
下載後執行安裝, 問題就解決了.
訂閱:
文章 (Atom)
VS CODE離線安裝套件方式-續
去年 vscode離線安裝 powershell nupkg 今年在一台無外網的 windwos 2025上安裝時遇到了powershell版本一直讀取到了5.1的版本,鬼打牆了一下午,在VM還原重測測了好幾回,應該是可行了。 將下載到的免安裝powershell 解壓縮到...
-
一個老舊的aspx web form專案,調了一些功能建置成功,但進行部署時顯示以下錯誤。 在應用程式層級之外使用註冊為 allowDefinition='MachineToApplication' 的區段發生錯誤。錯誤的原因可能是虛擬目錄尚未在 IIS 中設定為...
-
freeFTPd是套免費的SFTP SERVER支援22 port SFTP及21port FTP,一般找到免費的都不支援SFTP只有技援FTPS。 之前一直有個困擾在幾台主機安裝後,有幾台重開機後,SFTP SERVER必須手動去啟動,一直以來老是搞不懂為什麼,今天看到一篇文...
-
Row.Cells[2].Text == "abc" ? "ok" : "not ok" ; 或加入Microsoft. VisualBasic 參考使用 vb namespace using Microsoft...

