2014年4月9日 星期三

RDLC Subreport 讀取

設計RDLC時,通常都是習慣先在BISD(後來改叫SSDT) 建一個報表專案,然後撰寫SQL設計LAYOUT確認報表內容沒問題後再將

讀取MAIN RDLC應該不是問題

 讀取子報表,只需在原來讀取MAIN RDLC的程式碼加入以下

ReportVierwe1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(SetSubReportData);

ReportViewer1.LocalReport.Refresh();

void SetSubReportData(object sender, SubreportProcessingEventArgs e)
 {

        int sn = int.Parse(e.Parameters["p_sn"].Values[0]); //子表傳遞參數值
      
        string dsname= string.Empty; //每張子表的datasetname,不同子表要給不同名
      
        DataTable dtsource =new DataTable();//報表資料來源,這里是用datatable回傳型態

        switch(e.ReportPath)  //依子表名稱(rdlc的檔名)來讀取資料
                {
                    case "rdlcname1":
                         dsname = "DS1"; //dataset name in rdlc
                         dt = datasource1; //your sql data table ,code by self
                      break;
                    case "rdlcname1":
                         dsname = "DS2"; //dataset name in rdlc
                         dt = datasource2; //your sql data table ,code by self
                      break;
                 }

           e.DataSources.Add(new ReportDataSource(dsname,dt ));  //設定來源

}

2014年3月25日 星期二

SQL Server 不允許遠端連接

一台機器,原本裝了SQL Server 2005 Express, Instance Name 為ABC。(port:1433)

後來,在同一台機器上又裝了SQL Server 2005 Standard+SP4,Instance Name為XYZ。(port 1533)

結果當由外部透過另一台機器的SSMS連線到XYZ時,出現了以下的訊息

在建立連接至伺服器時發生錯誤。當連接至 SQL Server 2005 時,失敗的原因可能是,在預設設定下,SQL Server 不允許遠端連接。 (provider: SQL 網路介面, error: 26 - 搜尋指定的伺服器/執行個體時發生錯誤) (Microsoft SQL Server, 錯誤: -1)


先檢查防火牆,該機器皆有設定以上的例外連接埠。
再查看SQL SERVER DAC也是有開啟的。


後來再試了幾台機器的SSMS都有相同的錯誤,只有其中一台機器可正常連線。

利用netstat-b查看連接埠,確定都是1533。

後來只好在伺服器以指定連接埠的方式連線,像這樣

192.168.0.111\XYZ,1533

就可以正常登入了。

2014年3月20日 星期四

WindowsXP SP2 SSL 網站無法連線

最近一個新系統上線後,有些人連登入頁都看不到,出現無法連線。

都是WINXP+IE8 的環境。 但同樣的環境有人可以看得到首頁有人則不行。

模擬了可能的VM環境測試也都很正常。

無意中發現只要是WINXP SP2的環境都有問題,升級到SP3後就都正常了。

後來看到這篇文章,才知道WINXP SP2不支援SHA2。

SHA2 and Windows

因為網站申請的SSL是SHA2 2048位元,WINDOWS XP SP2以前是不支援SHA2功能的。

到GCA網站問與答即可查到
15 請問SHA2憑證之支援性為何?







2014年1月6日 星期一

informix GLS-cr

informix DB 版本 更新到IBM Informix Dynamic Server Version 11.50.FC9

無法查詢條件 like '許%'

因為許這個字的low byte 為\,造成系統誤判後頭字元為保留字,所以無法正確查詢。

更新DB後需再次安裝GLS以確保中文查詢正確。

2013年12月25日 星期三

XCOPY在工作排程0x4問題

建了一個工作排程,定時執行batch檔。
batch中寫了一段xcopy,主要針對有異動較新檔案時才複製。

echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime  ^| find "."') do set dt=%%a
set datestamp=%dt:~0,8%
set timestamp=%dt:~8,6%
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set HH=%dt:~8,2%
set Min=%dt:~10,2%
set Sec=%dt:~12,2%

set stamp=%YYYY%%MM%%DD%.log

echo %date% %time% 'copy file' >> d:\Schedule_Sync\%stamp%
xcopy x:\files\*.mp4 y:\files\ /d /y >> d:\Schedule_Sync\%stamp%


x:\及y:\分別是二台網路連線磁碟機

原先建立好排程執行結果都為0x0
有一天更改了二台主機的密碼後,執行結果就變成了0x4。

於是先在DOS COMMAND , 輸入 control keymgr.dll 重新指定一次網路磁碟機密碼

但排程執行結果仍舊是0x4

試了幾天,最後把原本的排程刪掉重建後,竟然就正常了。

吐血~again......

2013年12月22日 星期日

FortiGate SslvpnClient4 command line

FortiSSLVPNclient.exe command line parameters

Usage: FortiSSLVPNclient <subcommand> [options] [args]

Available subcommands:
    connect        - Start a connection
    disconnect    - Disconnect from your session

To start a connection, enter the follwoing command:
    FortiSSLVPNclient  connect    [-s <connection settings name>]
                [-h <sslvpn server>[:<port>]]
                [-u <sslvpn username>[:<password>]]
                [-c <certificate subject>[:<issuer>]]

To disconnect from your session, enter the following command:
    FortiSSLVPNclient.exe disconnect

2013年12月19日 星期四

IE9 report viewer 無法切換下頁瀏覽

使用VS2012 MVC 4, 利用IFRAME 內嵌aspx頁面做RDLC報表瀏覽。
在IE10、FIREFOX、CHROME的環境都很OK。
在IE9 讀取報表時很正常,但如果點選下一頁就會出現JAVASCRIPT的錯誤

網頁錯誤詳細資料

使用者代理程式: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)
時間戳記: Sun, 3 Nov 2013 09:34:40 UTC

訊息: 不正確的引數。
行: 3955
字元: 13
程式碼: 0
URI: https://xxxx/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=11.0.3366.16&Name=ViewerScript


訊息: 不正確的引數。
行: 3955
字元: 13
程式碼: 0
URI: https://xxxx/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=11.0.3366.16&Name=ViewerScript


訊息: 不正確的引數。
行: 3955
字元: 13
程式碼: 0
URI: https://xxxx/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=11.0.3366.16&Name=ViewerScript


看來是一直不斷的LOOP這個不正確的引數錯誤。


自已測了幾天找不出原因..
後來同事只是在aspx頁面中,在FORM TAG外再加了BODY TAG,問題就解決了。...(無言)

以下aspx頁面的內容,原本沒有BODY TAG

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs"
    Inherits="Web.Areas.Reports.
Test" %>

<%@ Register Src="~/ReportControl.ascx" TagName="ReportControl" TagPrefix="uc1" %>

<script src="../../../Scripts/jquery-1.9.1.js"></script>
<body>
<form id="form1" runat="server">
    <uc1:ReportControl runat="server" ID="RDL" />
</form>   
</body>





pdf.js 無法顯示部份字

有個檔案在pdf viewer套件中無法顯示內容,但下載檔案後使用工具又可以正常顯示。 本來以為是套件版本太舊的原因,於是去下載pdf viewer套件 https://github.com/mozilla/pdf.js 更新後還是一樣。 覺得應是字型缺漏的問題,於是用PDF-X...