顯示具有 tech 標籤的文章。 顯示所有文章
顯示具有 tech 標籤的文章。 顯示所有文章

2015年3月27日 星期五

Fwd: crystal report export excel data only

Crystal report 輸出Excel
ReportDocument1.ExportOptions.ExportFormatType = ExportFormatType.Excel; 

※若只要輸出 Data only
ReportDocument1.ExportOptions.ExportFormatType = ExportFormatType.ExcelRecord;

--
待事以直 是為君子

2012年2月13日 星期一

IIS7語言特性∼日期格式

以前在Windows2003Server + IIS6 的時代。架Server位置日期格式沒先選好
網站架下去,日期就會變成「月日年」,不整個重來不會好∼

現在在Windows2008+IIS7.5明明已經很小心了他還是把:年/月/日 搞成 日/月/年
發現現在是可以從IIS中去調整了:


--
看到、想到、說到、做到 
能夠填平大海的誓言,也比不上邁出一步的價值 
是以吾輩此生,再無任何誓言

又是一個燈下黑-ODAC x64

在Windows X64的系統上要連Oracle資料庫,最近終於有比較好的ODAC可以用了
抓了ODAC 11.2g release 4 來測試
(10版 的ODAC要裝在Win7上,就算改過intall.ini還是無法安裝,跳出安裝畫面按下一步時JRM會掛掉。
最後只能期待新版的向下相容)

裝完之後在VisualStudio裡面Using 什麼的一切正常,但一到執行階段後只要跑道執行Oracle class的地方
怎麼Run都是出現「無法載入組件」。
以往遇到這個問題都是dll版本問題,但這次都確認過了全都是X64。
最後發現「目標CPU」是設成X86了。難怪怎麼都玩不過他∼
預設不是Any CPU嗎?可惡!











--
看到、想到、說到、做到 
能夠填平大海的誓言,也比不上邁出一步的價值 
是以吾輩此生,再無任何誓言

有點軟沒跟你講的事、取得連線字串的小修改∼

要取得連線字串,要參考System.Configuration;

至於取值的話,以前我們這樣寫低:
string connstring = ConfigurationManager.ConnectionStrings["ConnectionString1"].ToString();

Dot Net 4.0 之後要這樣:
string connstring = ConfigurationManager.ConnectionStrings[connectionName].ConnectionString;

--
看到、想到、說到、做到 
能夠填平大海的誓言,也比不上邁出一步的價值 
是以吾輩此生,再無任何誓言

2012年1月18日 星期三

關於那浮點數的事

科學運算用 Float, Real.

財務運算用 Money,Decimal

--
看到、想到、說到、做到 
能夠填平大海的誓言,也比不上邁出一步的價值 
是以吾輩此生,再無任何誓言

2012年1月17日 星期二

MSSQL連結Oracle

資料連結不推薦~但是偶爾也是得用到 ...

安裝Oracle Client 管理者
設定TNS檔
設定DB Link (ID/Password)
設定Allow inprocess

--
看到、想到、說到、做到 
能夠填平大海的誓言,也比不上邁出一步的價值 
是以吾輩此生,再無任何誓言

2011年7月21日 星期四

Oracle client參考要去哪裡找



--
看到、想到、說到、做到 
能夠填平大海的誓言,也比不上邁出一步的價值 
是以吾輩此生,再無任何誓言

2011年7月16日 星期六

看門貓∼

自動偵測指定目錄,當偵測到新增檔案時將檔案透過網際網路傳回中心主機上。

一、偵測檔案
>
> //偵測事件(觸發動作:備份、上傳、刪除)
>             FileSystemWatcher fsw = new FileSystemWatcher(fpath);
>             fsw.IncludeSubdirectories = false;//不監控指定目錄內的子目錄
>             //fsw.Filter = "fer.txt"; //不支援使用多個篩選器,例如 "* txt|*.doc"。
>             fsw.Created += new FileSystemEventHandler(fsw_Created);
>             //fsw.Changed += new FileSystemEventHandler(fsw_Changed);
>             fsw.EnableRaisingEvents = true;
>             Console.Read();
>
> static void fsw_Created(object sender, FileSystemEventArgs e)
>         {
>             Console.WriteLine(SaveLog(string.Format("偵測到新增檔案:{0}", e.Name)));
>             DoJob();
>         }

二、FTP傳輸
> /// <summary>
>         /// FTP上傳
>         /// </summary>
>         /// <param name="fName">檔名</param>
>         /// <returns>成功/失敗</returns>
>         private static bool PutFile(string fName)
>         {
>             SaveLog(string.Format("上傳檔案:{0}", fName));
>             string ftpstr = string.Format("ftp://{0}:{1}/{2}{3}", ftp_url, ftp_port, ftp_path, fName);
>             //Create FTP request            
>             FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(ftpstr);
>             request.Method = WebRequestMethods.Ftp.UploadFile;
>             request.Credentials = new NetworkCredential(ftp_id, ftp_pw);
>             request.UsePassive = true;
>             request.UseBinary = true;
>             request.KeepAlive = false;
>
>             //讀入檔案
>             FileStream stream = File.OpenRead(string.Format("{0}{1}", fpath, fName));
>             byte[] buffer = new byte[stream.Length];
>
>             stream.Read(buffer, 0, buffer.Length);
>             stream.Close();
>
>             //上傳
>             try
>             {
>                 Stream reqStream = request.GetRequestStream();
>                 reqStream.Write(buffer, 0, buffer.Length);
>                 reqStream.Close();
>             }
>             catch (Exception ex)
>             {
>                 string exs = string.Format("例外狀況:{0}, Ftp string:{1}", ex.ToString(), ftpstr);
>                 Console.WriteLine(exs);
>                 SaveLog(exs);
>                 SendMail(exs);
>                 return false;
>             }
>             FtpWebResponse response = (FtpWebResponse)request.GetResponse();
>             Console.WriteLine(SaveLog(string.Format("傳輸狀態:{0}", response.StatusDescription)));
>             request.Abort();
>             return true;
>         }
>

三、Email發送
>
> /// <summary>
>         /// 發送通知
>         /// </summary>
>         /// <param name="users">收件人</param>
>         /// <param name="exmsg">例外訊息</param>
>         /// <returns></returns>
>         private static bool SendMail(string _body)
>         {
>             SmtpClient MySmtp = new SmtpClient(ssmtp, ssmtp_port);
>             MailMessage Mms = new MailMessage();
>             //MySmtp.Credentials = new NetworkCredential(mail_id, mail_pw);
>             //MySmtp.EnableSsl = true;
>
>             Mms.From = new MailAddress(mail_src);
>             foreach (string _ms in mail_rec.Split(','))
>             {
>                 if (!string.IsNullOrEmpty(_ms)) Mms.To.Add(_ms);
>             }
>             Mms.Subject = mail_sub;
>             Mms.Body = _body;
>
>             try
>             {
>                 MySmtp.Send(Mms);
>                 Console.WriteLine(SaveLog(string.Format("派送訊息通知:{0}", Mms.To.ToString())));
>             }
>             catch (Exception ex)
>             {
>                 Console.WriteLine(SaveLog(string.Format("SMTP發生例外狀況:{0}", ex.ToString())));
>                 return false;
>             }
>             return true;
>         }

四、引用
> using System.IO;
> using System.Net;
> using System.Net.Mail;
> using System.Net.NetworkInformation;


--
看到、想到、說到、做到 
能夠填平大海的誓言,也比不上邁出一步的價值 
是以吾輩此生,再無任何誓言

2011年7月14日 星期四

Mind map?

所謂十人十色∼這邊流行畫Mind map
就隨波逐流吧!

--
看到、想到、說到、做到 
能夠填平大海的誓言,也比不上邁出一步的價值 
是以吾輩此生,再無任何誓言

2011年7月3日 星期日

復古一下∼D2K

Oracle
首先確認把程式庫加入,這樣之後再開啟表單才會正常。





走走回頭路:D2K, ASP, ...

2011年6月21日 星期二

Fwd: 問題處理Memo-如何解決 Cleanthis 造成的問題

隔壁同事碰到了這個討厭的惡意軟體「Cleanthis」
電腦開啟的時候會出現Cleanthis的畫面,很像微軟的掃毒軟體。
他會讓你什麼是的無法做(連安全模式也淪陷)。
幫忙上網找了一下資料有網友提供以下步驟處理:

1. 在Cleanthis的畫面出現的時候, 請按 Safe Startup.
2. 在Scanner 的畫面出現的時候, 請按 OK 讓它做全系統掃描.
    然後從上方的選單去按 Settings.然後勾選 "Allow unpotected startup"後, 按 "Save settings"
    按 X 去結束Scanner, 如果沒有作用就多按幾次.
3. 開啟命令提示字元畫面, 執行以下指令去停止Cleanthis。
(在這裡你的工作管理員仍是無法使用的,必須用CMD處理)
    taskkill /f /im gog.exe
4. 執行 regedit 去刪除以下機碼:
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
(像是:shell / xxx/gog.exe)
5. 刪除 Cleanthis的檔案, 位置如下(預設 Application Data 是隱藏的, 請記得設定顯示隱藏),       
    File name: star, install, gog, completescan
    C:\Documents and Settings\[User Name]\Application Data\ (Windows XP/2000)
    C:\Users\[User Name]\AppData\Roaming\ (Windows Vista/7)

收工~

--
看到、想到、說到、做到 
能夠填平大海的誓言,也比不上邁出一步的價值 
是以吾輩此生,再無任何誓言

2011年2月3日 星期四

[TEXH]備忘-Windows 7 的Hosts檔案位置及注意事項

1. Browse to Start -> All Programs -> Accessories
2. Right click "Notepad" and select "Run as administrator"
3. Click "Continue" on the UAC prompt
4. Click File -> Open
5. Browse to "C:\Windows\System32\Drivers\etc"
6. Change the file filter drop down box from "Text Documents (*.txt)" to "All Files (*.*)"
7. Select "hosts" and click "Open"
8. Make the needed changes and close Notepad.  Save when prompted.



--
看到、想到、說到、做到 
能夠填平大海的誓言,也比不上邁出一步的價值 
是以吾輩此生,再無任何誓言

2011年1月29日 星期六

[Silverlight] Drag to here !!

總算也把這個東西做出來了,多虧Silverlight4.0 的拖曳功能,以及Code pj 上老外朋友提供的範例
說起來之前一直看不起Silverlight,因為MS的Selas整天只會說清明上河圖
SL 4.0出來感覺滿有劃世代的感覺呢 !

2011年1月6日 星期四

[Lotus script] -Word匯出.改

續匯出Wpord程式
再多一個匯出「圖像」∼ 從Richtext中取出並轉到Word裡面..

萬惡的Informix ODBC連線錯誤:cannot locate service tcp service in etc services

IBM出品的東西老是裝完後要再搞一些眉眉角角、才能正常運作。
比方說這次要連接 Informix 資料庫,抓了SDK回來,再次發生莫名問題!

又是爬了好幾天豆芽菜文章才終於找到癥結∼冏
另一種方法也是去找出你安裝後的Port號
直接設給Servicces



--
看到、想到、說到、做到 
能夠填平大海的誓言,也比不上邁出一步的價值 
是以吾輩此生,再無任何誓言

2011年1月5日 星期三

NotesSQL ∼萬惡的"system error code 126"

其他的程式語言若想要存取IBM Lotus Notes的NSF檔資料
可以透過IBM自家出的NotesSQL這個工具來達成。
但你的本地端必須有安裝Note相關軟體(Client || Domino || Designer 要有其中一種)
當然還有具備足夠權限的ID檔 而且...
...
Notes.ini 的位置一定、絕對要放在C:\Lotus\Notes\ 裡面
若否,則必須自行設定系統「環境變數」給它
如圖
∼在"path"後面再加入:

;C:\Program Files\IBM\Lotus\Notes\

p.s.要以";"作為分隔。

之後就可以用一般的 Select ... 語法來存取NSF檔了!
EX:存取Names.nsf
Select FullName From People ~

FullName = 欄位名稱
People = 視界名稱

--
看到、想到、說到、做到 
能夠填平大海的誓言,也比不上邁出一步的價值 
是以吾輩此生,再無任何誓言

2010年12月23日 星期四

[Lotus script]-Word 出出出

'將Notes資料輸出並套用至Word範本檔裡面
1.首先建立一個Word的範本檔
使用「插入」、「功能變數」設定欄位作為資料儲存體

使用「插入」、「書籤」設定書籤作為插入位置

2.NOTES表單中對應匯出程式如下:

Sub WordOutOutOut( M_To As String, M_DY As String, M_DM As String, M_DD As String, M_NO As String, M_SP As String, M_SEC As String,M_AH As String,M_Sub As String,M_Body As String,M_MAIN As String,M_BEND As String)
    Dim session As New NotesSession
    Set db=session.CurrentDatabase
    Set wdoc=session.DocumentContext   
   
    DefDocPath="C:\missive_out_sample.dot" '設定路徑
   
    Set oWord = CreateObject("Word.Application")
    oWord.Application.Visible = True
    oWord.documents.Add DefDocPath, False
    Set WordDoc = oWord.activedocument
    '=======Go to bookmark=======
    WordDoc.Bookmarks("TO").Select
    Call oWord.Selection.TypeText(M_To)
    WordDoc.Bookmarks("YY").Select
    Call oWord.Selection.TypeText(M_DY)
    WordDoc.Bookmarks("MM").Select
    Call oWord.Selection.TypeText(M_DM)
    WordDoc.Bookmarks("DD").Select
    Call oWord.Selection.TypeText(M_DD)
    WordDoc.Bookmarks("NO").Select
    Call oWord.Selection.TypeText(M_NO)
    WordDoc.Bookmarks("SPEED").Select
    Call oWord.Selection.TypeText(M_SP)
    WordDoc.Bookmarks("SECURE").Select
    Call oWord.Selection.TypeText(M_SEC)
    WordDoc.Bookmarks("ATTACH").Select
    Call oWord.Selection.TypeText(M_AH)
    WordDoc.Bookmarks("SUBJECT").Select
    Call oWord.Selection.TypeText(M_Sub)
    WordDoc.Bookmarks("BODY").Select
    Call oWord.Selection.TypeText(M_BODY)
    WordDoc.Bookmarks("MAIN").Select
    Call oWord.Selection.TypeText(M_MAIN)
    WordDoc.Bookmarks("BEND").Select
    Call oWord.Selection.TypeText(M_BEND)
   
    ''==========================
    'oWord.documents(1).SaveAs "c:\Tmp\WM20101223.doc"
End Sub

--
看到、想到、說到、做到 
能夠填平大海的誓言,也比不上邁出一步的價值 
是以吾輩此生,再無任何誓言

2010年8月25日 星期三

取得所有資料表筆數

create   table   #tb
(
Table_Name sysname,筆數 int ,
保留空間 varchar(10),
使用空間 varchar(10),
索引使用空間 varchar(10),
未用空間 varchar(10))
insert into #tb exec sp_MSforeachtable 'EXEC sp_spaceused ''?'''
select * from #tb order by Table_name
go
drop table #tb


--
看到、想到、說到、做到 
能夠填平大海的誓言,也比不上邁出一步的價值 
是以吾輩此生,再無任何誓言

2010年8月9日 星期一

SQl連線數

如何查SQL目前使用者連線數量
 
SELECT cntr_value AS User_Connections FROM master..sysperfinfo as p
WHERE p.object_name = 'SQLServer:General Statistics' And p.counter_name = 'User Connections'


--
看到、想到、說到、做到 
能夠填平大海的誓言,也比不上邁出一步的價值 
是以吾輩此生,再無任何誓言

2010年7月19日 星期一

禁用瀏覽器快取

從標頭來∼

<HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
</HEAD>


從程式來∼

Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Response.Cache.SetExpires(DateTime.MinValue);


--

看到、想到、說到、做到 
能夠填平大海的誓言,也比不上邁出一步的價值 
是以吾輩此生,再無任何誓言