Didier 帝迪ㄟ珍天帝

Didier 帝迪ㄟ珍天帝與你分享
我就是我 世上無人可取代 正面、積極、樂觀、享受人生
將心情、觀感、心愛的大小老婆、建議及所知道的技術文件一一POST出來

2007年12月24日 星期一

騎木馬

自從教煒寶如何上木馬
一歲一個月的他越騎越高了

2007年12月23日 星期日

煒寶走路

一歲二個月又四天的煒寶
12/23(日)也許是看到大她兩個月的影響
今天晚上都用走的不爬了
除非有階

2007年12月20日 星期四

無效的回傳或回呼引數。已在組態中使用 或在網頁中使用 <%@ Page EnableEventValidation="true" %> 啟用事件驗證。基於安全性理由,這項功能驗證回傳或回呼引數是來自原本呈現它們的伺服器控制項

無效的回傳或回呼引數。已在組態中使用 或在網頁中使用 <%@ Page EnableEventValidation="true" %> 啟用事件驗證。基於安全性理由,這項功能驗證回傳或回呼引數是來自原本呈現它們的伺服器控制項。如果資料為有效並且是必需的,請使用 ClientScriptManager.RegisterForEventValidation 方法註冊回傳或回呼資料,以進行驗證。

後來發現是Page_Load中
多了個 GridView1.DataBind();造成的

2007年12月15日 星期六

Viewstate MAC 的驗證失敗。如果此應用程式是由 Web 伺服陣列或叢集所裝載,請確定 組態指定有相同的 validationKey 和驗證演算法。AutoGenerate 無法在叢集中使用。

有以下兩種可能
1.網頁有導向非ContentPage網頁

如<script language=JavaScript>top.location.href='http://xxxxxxxxxx/Error.aspx';</script>

2.Server有做Cluster
你有兩台Web Server,當另一台要驗證ViewState時,
validationKey或decryptionKey必須是相同的,所以必須自行產生validationKey後,
才能以相同的驗證碼來處理ViewState甚至cookie等

在預設狀況ASP.NET會隨機建立manchineKey當作驗證碼,

<configuration>
<system.web >
<machineKey validationKey = "AutoGenerate,IsolateApps"
decryptionKey = "AutoGenerate,IsolateApps" validation = "SHA1"/>
</system.web>
</configuration>

2007年12月13日 星期四

ASP.NET 2.0VS 1.1

1.存取Web.config設定參數,使用System.Configuration.ConfigurationManager.AppSettings
Web.config Set

<appSettings>
<add key="AAA" value="AAAValue"/>
</appSettings>

C# Get

System.Configuration.ConfigurationManager.AppSettings["AAA"].ToString()

2007年12月12日 星期三

HTML TAG在C#問題

1.結尾要 /> 前要空一格

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

2.Title 要分段或空格不然會有錯誤

<title>
Menu Page
</title>

3.C#裡所有屬性值要以""包起來

亂碼UTF-8 BIG5 GB2312

ASP
1.如果是ANSI檔案格式ASP
要寫unicode資料到nvarchar DB時
要將cmd前加N
update TableA set ColumnA=N'測試' where ColumnB=1
2.如果是UTF-8格式程式
就可以直接處理
記得設定Meta
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

C#
將Web.config檔設定UTF-8
<globalization
requestEncoding="UTF-8"
responseEncoding="UTF-8"
fileEncoding="UTF-8"
/>
並將ASPX及CS或VB檔存成UTF-8 with signature

DB資料庫
將欄位設定成nvarchar或nchar
就可以儲存Unicode了

考慮的相機

富士 FinePix F50fd 公司貨
13980
http://shopping.pchome.com.tw/?mod=item&func=exhibit&IT_NO=ABAL1R-A15985583&SR_NO=ABAL1R&ROWNO=3
8790
http://shopping.pchome.com.tw/?mod=item&func=exhibit&IT_NO=ABAL2T-A16341306&SR_NO=ABAL2O&ROWNO=14

Nikon Coolpix L14 小巧輕盈700萬數位相機
4680
http://buy.yahoo.com.tw/gdsale/gdsale.asp?gdid=702988
http://www.dcview.com.tw/article/newreadarticle.asp?id=5732

2007年12月10日 星期一

70工作30自我提升

把所有心力放在工作
反而少了許多創意及自我提升
這樣容易讓自己陷入消耗自我和工作機器的困境

所以應該70%時間精力放在工作上

30%的精力放在感興趣的活動上

3M甚至要求員工每個禮拜要有一天不要工作,去做有興趣的事
Google也是鼓勵員工開發有興趣的系統

2007年12月7日 星期五

研究ActvieX

http://www.hosp.ncku.edu.tw/~cww/oldguy/activex1.htm
http://www.hosp.ncku.edu.tw/~cww/oldguy/activex2.htm
http://msdn2.microsoft.com/en-us/library/ms974288.aspx
http://msdn2.microsoft.com/en-us/library/ms974291.aspx
ActiveX 元件,可能要自行撰寫,用 VB6 或 Delphi 或 C++ 都可以撰寫 ActiveX 元件。
不過我很難三言兩語跟你說明 ActiveX 元件怎麼撰寫,它比較偏向視窗程式的撰寫

2007年12月6日 星期四

Download Youtube

http://www.downloadyoutubevideos.com/
輸入URL
按Download Video
存成XXX.flv就可以了

flv轉wmv
http://www.download.com/CinemaForge/3000-2169_4-10373646.html

Download Youtube

http://www.downloadyoutubevideos.com/
輸入URL
按Download Video
存成XXX.flv就可以了

2007年12月2日 星期日

CSS標籤

常用的CSS標籤符號

BACKGROUND:#CCFFFF
text-decoration: none
font-family:Arial
font-size:16px
color: #330066

BODY
{
scrollbar-face-color: #FFFFFF;
scrollbar-shadow-color: blue;
scrollbar-highlight-color: blue;
scrollbar-3dlight-color: blue;
scrollbar-darkshadow-color: #CCEEFF;
scrollbar-track-color: #FFFFFF;
scrollbar-arrow-color: blue
}
valign=TOP
align=(ABSBOTTOM|ABSMIDDLE|BASELINE|BOTTOM|MIDDLE|TEXTTOP|TOP)

分散置中style="text-align: justify; text-justify: distribute-all-lines; text-align-last: justify"

Background Color: #666666
Border Color: #666666
Text Color: #26AEED
Link Color: #FFFFFF
URL Color: #26AEED

2007年11月29日 星期四

OCS [0xC3EC7970] 無法在 Windows 2000 混合模式網域中

只要將AD的模式修改成Win2003就可以啦
AD網域及信任 /按右鍵提高等級
You can fix this by right clicking your domain in Active Directory Domains and Trust and choose Raise Domain Functional Level.

皮膚科

推薦江子翠捷運站4號出口旁 <聖原中醫>
地址是: 雙十路二段170號
黃禎憲在土城開的溫莉診所
電話:(02)2270-4779
傳真:02-2270-4831
地址:台北縣土城市中央路2段223之10號2樓(健業藥局土城店2樓;捷運土城站2號出口,元復醫院對面)

2007年11月23日 星期五

星光合唱指定賽 賴銘偉+周定緯

星光合唱指定賽 賴銘偉+周定緯

2007年11月22日 星期四

行動影音內容

已經有VOD甚至光碟產品
下一目標可以將現有影音內容加以應用
應可朝向Mobile移動式裝置邁進
建置播放平台系統

可讓學員免費看想看的內容課程
在內容前後穿插廣告
用行銷廣告以獲取利潤

2007年11月21日 星期三

Man becomes what he thinks about

今天看了一段影片The Secret
一位墜機的駕駛
從癱瘓八個月到靠自己力量走出醫院

說出這段六字箴言
Man becomes what he thinks about

thoughts becomes things
good feeling or bad feeling
First laws is attraction
The creative process
1.Ask 2.Believe 3.Receive

Powerful Processes
gratitude、visualize

Vision Board將實現你的想法虛擬變實際
你的想法決定一切
要正面思考不要抱怨
集中意念在好的美的事物上
來到這世上你有目的
享受你覺得美好的人生吧!



我要年底前英文聽力大幅提升

2007年11月19日 星期一

IT & Program

回想開始接觸電腦是從
高中Basic音樂
大學WWW叫汪汪汪 Fortran
研究所Perl CGI HTML網頁
當兵 資料庫維護 ASP Excel Access VBA 等

退伍後就接觸
EC WebSite Deliph VB SQL
也經歷SQL Injection攻擊
建置教育訓練Elearning系統
VOIP CDR Billing System
到DRM數位教學產業

工作十六真言

BeSt PC
Brand品牌價值
Skill技術根本
Create創意提升
Product產品改造

人是公司最重要的價值
具開創性的人更有價值

利益從改善來
唯有不斷改善應變才能不被淘汰

做自己覺得有價值的事
讓工作更愉快

2007年11月16日 星期五

手動設定IP與自動設定

Linux
找到IP設定檔
/etc/sysconfig/network-scritp/eth0
編輯i a :w :q
vi eth0
停用
ifdown eth0
使用
ifup eth0

Window
(1)DHCP
執行指令DHCP.Bat
netsh exec D:\ipDHCP.cfg
設定IpDHCP.cfg檔內容如下
==========================
pushd interface ip
# "Local" 的介面 IP 設定
#name(網路連線名稱)、source(兩種選擇 static/dhcp )、addr(IP位址)、mask(子網路遮罩)
set address name="INTEL" source=dhcp
set dns name="INTEL" source=static addr=168.95.1.1 register=PRIMARY
(2)指定IP
執行指令IP.Bat
netsh exec D:\IpSet.cfg
設定IpSet.cfg檔內容如下
==========================
# ----------------------------------
# 介面 IP 設定
# ----------------------------------
pushd interface ip
# "Local" 的介面 IP 設定
#name(網路連線名稱)、source(兩種選擇 static/dhcp )、addr(IP位址)、mask(子網路遮罩)
set address name="INTEL" source=static addr=10.1.4.151 mask=255.255.255.0
#gateway(通訊閘)、gwmetric(WINS)
set address name="INTEL" gateway=10.1.4.254 gwmetric=none
#set dns name="INTEL" source=static addr=168.95.1.1 register=PRIMARY
set dns name="INTEL" source=static addr=10.255.255.251
#set wins name="Local" source=static addr=none popd

快速建置作業系統環境

常需要一些不同的作業環境
所以用VM建置了
1.Win2003
2.Win2003+Sql2000
3.XP
4.Vista
等系統環境
並在VM環境True Image備份起來
需要的時候就可以轉移到任何台電腦上

而VM上則不斷保留最新版
執行Windows Update
以免Restore系統後還要再更新

2007年11月15日 星期四

Request.ServerVariables

判斷是否使用SSL
Request.ServerVariables("HTTPS")="on"
IP
Request.ServerVariables("Remote_addr")
判斷上一頁的來源
request.servervariables("HTTP_REFERER")
是否用了代理
Request.ServerVariables("HTTP_X_FORWARDED_FOR")
Proxy真實的IP為
Request.ServerVariables("HTTP_X_FORWARDED_FOR")
服務器名
Request.ServerVariables("SERVER_NAME")
服務器IP
Request.ServerVariables("LOCAL_ADDR")
服務器端口
Request.ServerVariables("SERVER_PORT")
IIS版本
Request.ServerVariables"SERVER_SOFTWARE")
腳本超時時間
Server.ScriptTimeout
程式路徑
Request.ServerVariables("SCRIPT_NAME"))
服務器CPU數量
Request.ServerVariables("NUMBER_OF_PROCESSORS")
服務器操作系統
Request.ServerVariables("OS")

Http_reffer是NULL空白

目前有些防毒軟體會擋
例如Norton Internet Security會防堵

Split分隔資料

C#
string[] sTypeParent = sType.Split(',');
foreach (string sTypeChild in sTypeParent)
{
}

ASP
aTemp = Split(sString,",")
sPassword = aTemp(0)
sPassword2 = aTemp(1)
for i = 0 to ubound(aTemp)

Javascript
var sRate1='12,34';
var aRate1=sRate1.split(",");
iRate11=Math.round(aRate1[0]);
iRate12=Math.round(aRate1[1]);

iframe讓網頁更彈性

最近發現iframe在各大網站
廣泛被使用

有讓iframe
自動縮放的功能不錯用
<script language="JavaScript" >
//** iframe自動適應頁面 **//

//輸入你希望根據頁面高度自動調整高度的iframe的名稱的列表
//用逗號把每個iframe的ID分隔. 例如: ["myframe1", "myframe2"],可以只有一個窗體,則不用逗號。

//定義iframe的ID
var iframeids=["km240"]

//如果用戶的瀏覽器不支持iframe是否將iframe隱藏 yes 表示隱藏,no表示不隱藏
var iframehide="yes"

function dyniframesize()
{
var dyniframe=new Array()
for (i=0; i<iframeids.length; i++)
{
if (document.getElementById)
{
//自動調整iframe高度
dyniframe[dyniframe.length] = document.getElementById(iframeids[i]);
if (dyniframe[i] && !window.opera)
{
dyniframe[i].style.display="block"
if (dyniframe[i].contentDocument && dyniframe[i].contentDocument.body.offsetHeight) //如果用戶的瀏覽器是NetScape
dyniframe[i].height = dyniframe[i].contentDocument.body.offsetHeight;
else if (dyniframe[i].Document && dyniframe[i].Document.body.scrollHeight) //如果用戶的瀏覽器是IE
dyniframe[i].height = dyniframe[i].Document.body.scrollHeight;
}
}
//根據設定的參數來處理不支持iframe的瀏覽器的顯示問題
if ((document.all || document.getElementById) && iframehide=="no")
{
var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i])
tempobj.style.display="block"
}
}
}

if (window.addEventListener)
window.addEventListener("load", dyniframesize, false)
else if (window.attachEvent)
window.attachEvent("onload", dyniframesize)
else
window.onload=dyniframesize
</script>

2007年11月14日 星期三

防笨、防呆、防小人

系統設計需考慮到
防笨、防呆、防小人

1.防小人上可以在程式中藏EMAIL通知管理者
讓使用者抱怨前先通知相關人
所以設定共用通知模式
只要在錯誤CASE上設定參數
以便整合所有相關錯誤傳遞的資訊
Email給誰、名稱、主旨、內容等

2007年11月9日 星期五

員工工作電腦環境

行動式的辦公環境
是我覺得未來趨勢

1.NB
除了彈性的放置環境
還要讓使用者具快速移動性
買NB比Desktop好
可讓使用者帶回去工作
或在外地工作
也算是給員工的福利

2.AP & DHCP
配合無線網卡讓NB自動上網
當然也要搭配AP的授權
設定DHCP讓使用者不用設定IP(自動取得IP)

3.AD
搭配AD權限設定
讓使用者的Share Folder備份資料等程序

部門管理者應該做

部門管理者應該要規劃
這部門大方向
設定短中長目標

並規劃部署未來發展
目前可以發展的方向
並可以配合部門大方向

人員離職一定與主管有關
員工用青春在工作上
而公司是否可以替員工許個未來(創造未來)
是員工能否待下去的重要因素

所有工作經驗要傳承
並做好代理
不僅對公司好
也對員工好(壓力全放在一個人身上)
這個員工也就不能生病休長假囉!
工作不能只有一個人會
也沒有不能取代的工作

但員工要自我創造個人價值
你與別人的差異價值-是你晉升的本錢
不可取代的價值
只要你肯想,多想多規劃絕對沒錯

解決問題還是規劃願景

為何會很忙
忙到中午沒吃
晚上睡不好覺

可能是你只在解決問題
問題只有不斷發生
所以只會一直在解決發生的問題

至少可以解決問題
已經比不會解決的人好很多啦

但與能規劃願景還是有一段差距
規劃好就可從根本解決問題
事先想到問題去解決
當然層次是不一樣的

2007年11月7日 星期三

5是10的一半

5是10的一半 不要只是教0
0很空洞10很滿足
我們採用的是10進位的數學
所以小時候背 個、十、百、千、萬、十萬、百萬、千萬、億
金錢則是三位一撇 千Thousand、百萬Million、十億Billion
數位上Power of 10 Power of 2 則是
kilo K 10^3 2^10
mega M 10^6 2^20
giga G 10^9 2^30
tera T 10^12 2^40
peta P 10^15 2^50
exa E 10^18 2^60
zetta Z 10^21 2^70
yotta Y 10^24 2^80

國中時記得有位物理老師
教導背
5X5 =25
15X15=(1X2)25=225
25X25=(2X3)25=625
35X35=(3X4)25=1225
45X45=(4X5)25=2025
以此類推
其實仔細了解5是10的一半

為何是25X25=(2X3)25=625
要分解動作
1.個位數相乘
5X5=25所以最後兩位是25
2.十位數相乘
2 0 X2 0=4 00
3.十位個位相乘+個位十位數相乘
2X5+5X2=2 X 10

所以動作2、3
可以看作2X2+2=2X3
得到25X25=(2X3)25=625

2007年11月2日 星期五

Office Communications Server2007

昨天去參加Office Communications Server2007上市發表會

此解決方案早在兩年前就有相似解決方案
只是MS把系統弄得更整合在一起

此方向我覺得是對的
光我現在跟同事溝通每天就需要數十通電話

光節省電話費就很可觀

應該總務單位檢視
各部門內部電話溝通的成本

就可以知道有多少COST DOWN

2007年10月31日 星期三

幼兒

食補還是有用

肥兒八珍
http://www.techerb.com.tw/TecHerb_P_A01.htm

http://class.ruten.com.tw/user/index.php?sid=venus168

2007年10月30日 星期二

所在目錄

c#
using System.IO;
Directory.GetCurrentDirectory();

asp
Server.Mappath("\a.asp")

2007年10月29日 星期一

投籃機

原本只是聚餐後的遊戲
竟然變成每天與Flashon每天中午的必經行程

吃完飯後散步到捷運地下街

從原本右手練到現在左右開弓
讓原本遲緩的左手都厲害起來

每天原本練習四次現在兩次就很累了(10元/次)
球數有增加很多

最高紀錄
925(5關300秒)
770分+73命中率(5關210秒Shooter)

最多顆
392顆

Tom's Dinner

80年代的老歌卻如此時尚
在ICRT撥歌時 記住時間到網站上找出來的
終於知道這首是Suzanne Vega經典歌曲

I am sitting in the morning
At the diner on the corner
I am waiting at the counter
For the man to pour the coffee
And he fills it only halfway
And before I even argue
He is looking out the window at somebody coming in

"It is always nice to see you" Says the man
Behind the counter to the woman
Who has come in she is shaking her umbrella
And I look the other way
As they are kissing their hellos
I'm pretending not to see them
Instead I pour the milk

I open up the paper there's a story
Of an actor Who had died
While he was drinking
It was no one I had heard of
And I'm turning To the horoscope
And looking for the funnies
When I'm feeling someone watching me
And so I raise my head

There's a woman on the outside looking inside
Does she see me?
No she does not Really see me
Cause she sees her own reflection
And I'm trying not to notice
That she's hitching up her skirt
And while she's straightening her stockings
her hair is getting wet

Oh, this rain it will continue
Through the morning As I'm listening
to the bells of the cathedral
I am thinking of your voice...


horoscope占星術;星象(算命)
pour倒,灌,注
hitching up her skirt 把裙頭拉高
straightening her stockings 把褲襪拉直
cathedral大教堂

英文歌

想要學好英文
可以聽聽英文老歌
打算好好練練英文歌
慢慢一首一首找回來
了解其中意境
並能唱出來才算喔!

2007年10月26日 星期五

Web網站規劃

網站基本上是以人為主體
就是人方便找的介面
以顧客為出發點

將產品分類明確區分
每一產品下可以包含以下項目
1.主頁
2.會員
3.QA
4.客服
等等

連絡電話地址傳真最好每頁最底下或最上方都有

主要是要讓顧客知道使用者
身處是何處,快速找到他要的東西

左右腦功能圖-破解為何旋轉每次看都不一樣


網路上找到關於左右腦功能
我仔細看之後
讓你左右轉控制的方法

1.在腳移動到最邊邊時頭晃一下
就可以想像腳往前面轉過來

2.只要你把它移動的前腿
看作左腿就會順時鐘旋轉
看作右腿就會逆時鐘旋轉



以下是網路上對左右腦的功能說明
順時針的話,屬於是用右腦較多的類型
逆時針屬於用左腦較多的類型
大部分人的眼裡裡是逆時針方向轉動,但也有人看來是順時針方向轉動的.
順時針的情況,女性比男性多~~


左腦功能 右腦功能
說話 閱讀中能掌握蘊藏(比喻)的含義
閱讀 容貌識別
寫字 身體左側及視覺空間的合一
綜合性的語言記憶 空間知覺
抽象的分類 路徑探索能力
學習音樂的能力 視覺結果
連續性的細微動作 音樂的感覺
一次可看見一項以上的事物 綜合記憶的形成能分辨左右
詳細畫面 適當畫面的形成
史丹福比奈的反應知能測試(較弱) 史丹福比奈的反應知能測試(較弱)
維克斯勒的語言知能測試以及
史丹福比奈測試(更弱) 維克斯勒的語言知能測試(較弱)

左腦發達的人特質:

管理邏輯強、語言、數學、分析、序列、模式、細節。

右腦發達的人特質:

浪漫、空間、影像、音樂、想像力、創意

藝術家右腦靈活

科學家左腦發達

喜歡看書

我們家鄉薌很喜歡看書
所以幫她買一個2萬多可調整桌面的書桌
並且買書或借書給她看
常常都是拜託我們讓她看書
真是推崇她(我小時候好像都只知道玩、書都沒看多少)
阿姨大姊親朋好友也不時會貢獻一些書

想一想看書與看電視有何不同

看書是經過讀書由字轉意
不懂的地方還重覆讀一次
並且自由想像畫面

但電視就是不斷地
把該電視劇及廣告想表達的意念
推銷傳遞給你

對於沒有衍生想法的人來說
可能只是吸收接受

但卻可能少了判斷、思考及咀嚼
這的確會容易讓小朋友習慣只接收
而且沒有使用到他的左腦
久而久之就沒有創造力
所以讓小朋友不要單方面接收資訊很重要

備註:
資訊4類型有數字、文字、聲音、圖像
左腦六項功能
1表單、清冊
2邏輯、歸納
3行列、線性
4文字、語言
5數字、算數
6順序、秩序

右腦六項功能
1韻律、節奏
2空間、時間
3想像、幻想
4影像、圖像
5色彩、顏色
6全球、整體

不看電視看影帶

今天看到書上寫到
美國電視的普及率高卻造成總總小孩子青少年的問題
也深深影響了人們思考的能力
沒有思考地被電視洗腦
廣告不斷催眠
讓人們去購買

所以對小孩子好
就是關掉電視
陪她玩、陪她看書、陪她聊天

只看你想給他看的影帶

Play Along Sing Along

這個Disney出版的影音產品
在薌薌1歲起我們讓她看的卡通片
(在家裡也只能看這個,沒裝有線電視所以沒有幼幼台)
剛開始薌只能看一會兒
慢慢就很喜歡

每次看的時間短短10~40分鐘
不想看就停
一天最多上下午一次

這影片發音備受教英文的Gina媽媽肯定
也希望以較正確道地的發音讓她習慣

10X10乘法表

為何我們數學都是背9X9乘法表
我覺得應該10X10乘法表

我個人覺得
1.10進位的數學應該最終就是10所以當然要以10為終點
2.可以延伸對數字的體驗
把10減1就是9
9加1等於10
3.並且背時除之前提的顛倒也要背之外2x10=20 10x2=2
4.有了10的倍數之後,在減1個2 3 4 5 6 7 8 9
就可以將2x9=2x10-2=18
3x9=27=30-3
4x9=36=40-4
數字就是這麼有趣
從不同方向作理解會比背誦來得更不同吧!

2007年10月25日 星期四

Web IIS 站台如何建立

Web網站
以MicroSoft系統IIS Server介紹
站台建立
1.將共用目錄獨立,使用目錄非需要不要用虛擬目錄
2.相關版型圖片集中以便管理
3.可上傳、下載或後端管理目錄,獨立建置目錄區隔
並可單獨為其設定權限
4.建置LoadBlance機制
5.使用元件管理設定DLL取代Reqsvr32註冊

所有網站在接收或建立之後

一定要獨立重新建立過一次(不然掛了怎麼辦)
建置過程中可逐步簡化或改成CMD方式簡單完成
以提升建置的能力及主控性

績效管理

最近看了
The Worlds Greatest Principle of management 世界上最偉大的管理原則
裡面提到績效管理
試問自己有沒有自我訂定目標
隨時檢視是否達成

我的主管是否有在使用績效管理
評核人員又該如何

大多是單向,而非雙向

如果我是主管是否做得更好?

九九乘法表

最近幼稚園大班大女兒說
要背九九乘法表
背熟了要到學校跟同學講

我嚇了一大跳 我小學三年級努力背好久!!
現在竟然主動跟我說要背

我跟她說你到學校可以教其他同學

接著就開始教女兒
2X1=2
2X2=4
2X3=6順便要念3X2=6
數字不同就正反都背
並且在洗澡的時候跟她複習
先完成2的再往3 4 5 6 7 8 9
希望從小讓她覺得數學很有趣
還有告訴她為什麼要數學

就是要實用在生活裡

資料庫將會留置於載入狀態以便讓您套用另一個記錄檔檔

這個記錄檔檔案包含指定的時間點之前所記錄的資料錄。資料庫將會留置於載入狀態以便讓您套用另一個記錄檔
是由於SQL restore log stopat的時間不在該FILE數上
查詢一下該FILE集要Stopat點的檔案數
就可以啦


restore database KM from disk='c:\Backup\SQL\KM-Full-22-3.BAK' with norecovery
GO
restore log KM from disk='c:\Backup\SQL\KM-Log-22-3.BAK'
With FILE =1,NORECOVERY
GO
restore log KM from disk='c:\Backup\SQL\KM-Log-22-3.BAK'
With FILE =2,NORECOVERY
GO
restore log KM from disk='c:\Backup\SQL\KM-Log-22-3.BAK'
With FILE = 3 ,stopat='2007/5/30 16:10:00',RECOVERY

2007年10月23日 星期二

百戰天龍 馬蓋先 MacGyver


令人懷念的馬蓋先
是我國中時的最愛影集

2007年10月18日 星期四

Escape and comment characters 各種逃脫字元及註解符號

SQL
'為Escape character
/ * text_of_comment * /
-- line of comment
Ex:
declare @s varchar(100)
set @s='didier''s'
select @s

ASP(VB)
"為Escape character
' text of comment

C#
\@ 為Escape character
char sChar = '\0';
string sString = @"C:\Winnt";
string sString2 = "c:\\Winnt";
string sString3 = " \"That's a question\" ";

/ * text of comment * /
// line of comment


Javascript
// text of comment

HTML

Apache IIS Server inculde方式大不同

include 在Apache IIS Server上有不同也有相同
尤其在使用相對目錄時
./本層
../上層
建議Apache使用virtual

IIS使用file

這樣就可以用的輕鬆方便
不用考慮現在要放的是哪一台Server

Backup All DataBase

MS SQL2000 Server
Create Backup Folder set @sBackupPath=''D:\Backup\SQL\''
This Schedule include all DB FULL、DIFFERENTIAL and Transcation Log Backup
then auto delete one week later backup data.
1.Backup Master Msdb

BEGIN TRANSACTION
DECLARE @JobID BINARY(16)
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'[Uncategorized (Local)]') < 1
EXECUTE msdb.dbo.sp_add_category @name = N'[Uncategorized (Local)]'

-- 刪除相同名稱作業 (如果作業存在)
SELECT @JobID = job_id
FROM msdb.dbo.sysjobs
WHERE (name = N'Backup master 7,1,2,3,4,5,6')
IF (@JobID IS NOT NULL)
BEGIN
-- 檢查作業是否是為多重伺服器的作業
IF (EXISTS (SELECT *
FROM msdb.dbo.sysjobservers
WHERE (job_id = @JobID) AND (server_id <> 0)))
BEGIN
-- 有,所以中斷指令碼
RAISERROR (N'無法匯入作業 'Backup master 7,1,2,3,4,5,6',因為多重伺服器已經有這個名稱。', 16, 1)
GOTO QuitWithRollback
END
ELSE
-- 刪除 [本機] 作業
EXECUTE msdb.dbo.sp_delete_job @job_name = N'Backup master 7,1,2,3,4,5,6'
SELECT @JobID = NULL
END

BEGIN

-- 新增作業
EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT , @job_name = N'Backup master 7,1,2,3,4,5,6', @owner_login_name = N'sa', @description = N'沒有可用的描述。', @category_name = N'[Uncategorized (Local)]', @enabled = 1, @notify_level_email = 0, @notify_level_page = 0, @notify_level_netsend = 0, @notify_level_eventlog = 2, @delete_level= 0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- 新增作業步驟
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 1, @step_name = N'Backup master 7,1,2,3,4,5,6', @command = N'--宣告變數
declare @dWeek varchar(10),@dWeek2 varchar(10),@dWeekDay varchar(10),@sDBName varchar(20) ,@sBackupPath varchar(20)
--顯示第幾週、星期幾、DB名稱及備份路徑
set @dWeek=DATEPART(week,getdate())
set @dWeek2=DATEPART(week,getdate()-7)
set @dWeekDay=DATEPART(weekday,getdate()) -1
set @sDBName=''master''
set @sBackupPath=''D:\Backup\SQL\''
--執行指令
Exec(''BACKUP DATABASE [''
+@sDBName+''] TO DISK = N''''''+@sBackupPath+@sDBName+''-''+@dWeek+''.BAK'''' WITH INIT, NOUNLOAD , NAME = N''''''+@sDBName+''-''+@dWeek +''備份'''', NOSKIP , STATS = 10, NOFORMAT '')
--刪除前一禮拜資料
Exec(''xp_cmdshell ''''del ''+@sBackupPath+@sDBName+''-''+@dWeek2+''.BAK '''''')
', @database_name = N'master', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 1, @on_fail_step_id = 0, @on_fail_action = 2
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1

IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- 新增作業排程
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N'Backup master 7,1,2,3,4,5,6', @enabled = 1, @freq_type = 4, @active_start_date = 20050429, @active_start_time = 20000, @freq_interval = 1, @freq_subday_type = 1, @freq_subday_interval = 0, @freq_relative_interval = 0, @freq_recurrence_factor = 0, @active_end_date = 99991231, @active_end_time = 235959
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- 新增目標伺服器
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

END
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:


GO
BEGIN TRANSACTION
DECLARE @JobID BINARY(16)
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'[Uncategorized (Local)]') < 1
EXECUTE msdb.dbo.sp_add_category @name = N'[Uncategorized (Local)]'

-- 刪除相同名稱作業 (如果作業存在)
SELECT @JobID = job_id
FROM msdb.dbo.sysjobs
WHERE (name = N'Backup msdb 7,1,2,3,4,5,6')
IF (@JobID IS NOT NULL)
BEGIN
-- 檢查作業是否是為多重伺服器的作業
IF (EXISTS (SELECT *
FROM msdb.dbo.sysjobservers
WHERE (job_id = @JobID) AND (server_id <> 0)))
BEGIN
-- 有,所以中斷指令碼
RAISERROR (N'無法匯入作業 'Backup msdb 7,1,2,3,4,5,6',因為多重伺服器已經有這個名稱。', 16, 1)
GOTO QuitWithRollback
END
ELSE
-- 刪除 [本機] 作業
EXECUTE msdb.dbo.sp_delete_job @job_name = N'Backup msdb 7,1,2,3,4,5,6'
SELECT @JobID = NULL
END

BEGIN

-- 新增作業
EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT , @job_name = N'Backup msdb 7,1,2,3,4,5,6', @owner_login_name = N'sa', @description = N'沒有可用的描述。', @category_name = N'[Uncategorized (Local)]', @enabled = 1, @notify_level_email = 0, @notify_level_page = 0, @notify_level_netsend = 0, @notify_level_eventlog = 2, @delete_level= 0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- 新增作業步驟
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 1, @step_name = N'Backup msdb 7,1,2,3,4,5,6', @command = N'--宣告變數
declare @dWeek varchar(10),@dWeek2 varchar(10),@dWeekDay varchar(10),@sDBName varchar(20) ,@sBackupPath varchar(20)
--顯示第幾週、星期幾、DB名稱及備份路徑
set @dWeek=DATEPART(week,getdate())
set @dWeek2=DATEPART(week,getdate()-7)
set @dWeekDay=DATEPART(weekday,getdate()) -1
set @sDBName=''msdb''
set @sBackupPath=''D:\Backup\SQL\''
--執行指令
Exec(''BACKUP DATABASE [''
+@sDBName+''] TO DISK = N''''''+@sBackupPath+@sDBName+''-''+@dWeek+''.BAK'''' WITH INIT, NOUNLOAD , NAME = N''''''+@sDBName+''-''+@dWeek +''備份'''', NOSKIP , STATS = 10, NOFORMAT '')
--刪除前一禮拜資料
Exec(''xp_cmdshell ''''del ''+@sBackupPath+@sDBName+''-''+@dWeek2+''.BAK '''''')
', @database_name = N'master', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 1, @on_fail_step_id = 0, @on_fail_action = 2
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1

IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- 新增作業排程
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N'Backup msdb 7,1,2,3,4,5,6', @enabled = 1, @freq_type = 4, @active_start_date = 20050429, @active_start_time = 10000, @freq_interval = 1, @freq_subday_type = 1, @freq_subday_interval = 0, @freq_relative_interval = 0, @freq_recurrence_factor = 0, @active_end_date = 99991231, @active_end_time = 235959
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- 新增目標伺服器
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

END
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:

GO

2.Backup All Other DB
-- 指令碼產生於 2006/5/22 下午 05:11
-- 由: sa
-- 伺服器: ECTEST01

BEGIN TRANSACTION
DECLARE @JobID BINARY(16)
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'[Uncategorized (Local)]') < 1
EXECUTE msdb.dbo.sp_add_category @name = N'[Uncategorized (Local)]'

-- 刪除相同名稱作業 (如果作業存在)
SELECT @JobID = job_id
FROM msdb.dbo.sysjobs
WHERE (name = N'Backup DB Diff 2,3,5,6')
IF (@JobID IS NOT NULL)
BEGIN
-- 檢查作業是否是為多重伺服器的作業
IF (EXISTS (SELECT *
FROM msdb.dbo.sysjobservers
WHERE (job_id = @JobID) AND (server_id <> 0)))
BEGIN
-- 有,所以中斷指令碼
RAISERROR (N'無法匯入作業 ''Backup DB Diff 2,3,5,6'',因為多重伺服器已經有這個名稱。', 16, 1)
GOTO QuitWithRollback
END
ELSE
-- 刪除 [本機] 作業
EXECUTE msdb.dbo.sp_delete_job @job_name = N'Backup DB Diff 2,3,5,6'
SELECT @JobID = NULL
END

BEGIN

-- 新增作業
EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT , @job_name = N'Backup DB Diff 2,3,5,6', @owner_login_name = N'sa', @description = N'沒有可用的描述。', @category_name = N'[Uncategorized (Local)]', @enabled = 1, @notify_level_email = 0, @notify_level_page = 0, @notify_level_netsend = 0, @notify_level_eventlog = 2, @delete_level= 0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- 新增作業步驟
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 1, @step_name = N'Diff Backup', @command = N'
--宣告變數
declare @dWeek varchar(10), @dWeek2 varchar(10),@dWeekDay varchar(10),@sDBName varchar(50) ,@sBackupPath varchar(20)
--顯示第幾週、星期幾、DB名稱及備份路徑
set @dWeek=DATEPART(week,getdate())
set @dWeek2=DATEPART(week,getdate()-7)
set @dWeekDay=DATEPART(weekday,getdate()) -1
set @sBackupPath=''D:\Backup\SQL\''
-- Declare the cursor from AgentMember
DECLARE curBill CURSOR FOR

SELECT name FROM sysdatabases WHERE (name NOT IN (''master'', ''model'', ''msdb'', ''pubs'', ''tempdb''))

--uid=1 dbo
--Open Cursor
OPEN curBill
--Fetch Next Cursor
FETCH NEXT FROM curBill
INTO @sDBName
--Cursor 迴圈===================
WHILE @@FETCH_STATUS = 0
BEGIN
--執行指令
Exec(''BACKUP DATABASE [''
+@sDBName+''] TO DISK = N''''''+@sBackupPath+@sDBName+''-Diff-''+@dWeek +''-''+@dWeekDay +''.BAK'''' WITH INIT , NOUNLOAD , DIFFERENTIAL , NAME = N''''''+@sDBName+''-Diff-''+@dWeek +''-''+@dWeekDay +''備份'''', NOSKIP , STATS = 10, NOFORMAT '')
--刪除前一禮拜資料
Exec(''xp_cmdshell ''''del ''+@sBackupPath+@sDBName+''-Diff-''+@dWeek2+''-''+@dWeekDay+''.BAK '''''')

--Fetch Next Cursor
FETCH NEXT FROM curBill
INTO @sDBName

END
--Cursor 迴圈===================
-- Close and deallocate the cusor from memory.
close curBill
deallocate curBill


', @database_name = N'master', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 1, @on_fail_step_id = 0, @on_fail_action = 2
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1

IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- 新增作業排程
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N'Diff Backup', @enabled = 1, @freq_type = 8, @active_start_date = 20050429, @active_start_time = 100, @freq_interval = 108, @freq_subday_type = 1, @freq_subday_interval = 0, @freq_relative_interval = 0, @freq_recurrence_factor = 1, @active_end_date = 99991231, @active_end_time = 235959
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- 新增目標伺服器
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

END
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:


GO
BEGIN TRANSACTION
DECLARE @JobID BINARY(16)
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'[Uncategorized (Local)]') < 1
EXECUTE msdb.dbo.sp_add_category @name = N'[Uncategorized (Local)]'

-- 刪除相同名稱作業 (如果作業存在)
SELECT @JobID = job_id
FROM msdb.dbo.sysjobs
WHERE (name = N'Backup DB Log 7,1,2,3,4,5,6')
IF (@JobID IS NOT NULL)
BEGIN
-- 檢查作業是否是為多重伺服器的作業
IF (EXISTS (SELECT *
FROM msdb.dbo.sysjobservers
WHERE (job_id = @JobID) AND (server_id <> 0)))
BEGIN
-- 有,所以中斷指令碼
RAISERROR (N'無法匯入作業 ''Backup DB Log 7,1,2,3,4,5,6'',因為多重伺服器已經有這個名稱。', 16, 1)
GOTO QuitWithRollback
END
ELSE
-- 刪除 [本機] 作業
EXECUTE msdb.dbo.sp_delete_job @job_name = N'Backup DB Log 7,1,2,3,4,5,6'
SELECT @JobID = NULL
END

BEGIN

-- 新增作業
EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT , @job_name = N'Backup DB Log 7,1,2,3,4,5,6', @owner_login_name = N'sa', @description = N'沒有可用的描述。', @category_name = N'[Uncategorized (Local)]', @enabled = 1, @notify_level_email = 0, @notify_level_page = 0, @notify_level_netsend = 0, @notify_level_eventlog = 2, @delete_level= 0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- 新增作業步驟
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 1, @step_name = N'Trx Log Backup', @command = N'
--宣告變數
declare @dWeek varchar(10), @dWeek2 varchar(10),@dWeekDay varchar(10),@sDBName varchar(50) ,@sBackupPath varchar(20)
--顯示第幾週、星期幾、DB名稱及備份路徑
set @dWeek=DATEPART(week,getdate())
set @dWeek2=DATEPART(week,getdate()-7)
set @dWeekDay=DATEPART(weekday,getdate()) -1
set @sBackupPath=''D:\Backup\SQL\''
-- Declare the cursor from AgentMember
DECLARE curBill CURSOR FOR

SELECT name FROM sysdatabases WHERE (name NOT IN (''master'', ''model'', ''msdb'', ''pubs'', ''tempdb''))

--uid=1 dbo
--Open Cursor
OPEN curBill
--Fetch Next Cursor
FETCH NEXT FROM curBill
INTO @sDBName
--Cursor 迴圈===================
WHILE @@FETCH_STATUS = 0
BEGIN
--執行指令
Exec(''BACKUP LOG [''
+@sDBName+''] TO DISK = N''''''+@sBackupPath+@sDBName+''-Log-''+@dWeek +''-''+@dWeekDay+''.BAK'''' WITH NOINIT, NOUNLOAD , NAME = N''''''+@sDBName+''-Log-''+@dWeek +''-''+@dWeekDay+''備份'''', NOSKIP , STATS = 10, NOFORMAT '')
--刪除前一禮拜資料
Exec(''xp_cmdshell ''''del ''+@sBackupPath+@sDBName+''-Log-''+@dWeek2+''-''+@dWeekDay+''.BAK '''''')

--Fetch Next Cursor
FETCH NEXT FROM curBill
INTO @sDBName
END
--Cursor 迴圈===================
-- Close and deallocate the cusor from memory.
close curBill
deallocate curBill


', @database_name = N'master', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 1, @on_fail_step_id = 0, @on_fail_action = 2
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1

IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- 新增作業排程
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N'Trx Log Backup', @enabled = 1, @freq_type = 4, @active_start_date = 20050429, @active_start_time = 1330, @freq_interval = 1, @freq_subday_type = 8, @freq_subday_interval = 1, @freq_relative_interval = 0, @freq_recurrence_factor = 0, @active_end_date = 99991231, @active_end_time = 234630
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- 新增目標伺服器
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

END
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:


GO
BEGIN TRANSACTION
DECLARE @JobID BINARY(16)
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'[Uncategorized (Local)]') < 1
EXECUTE msdb.dbo.sp_add_category @name = N'[Uncategorized (Local)]'

-- 刪除相同名稱作業 (如果作業存在)
SELECT @JobID = job_id
FROM msdb.dbo.sysjobs
WHERE (name = N'Backup DB Full 7,1,2,3,4,5,6')
IF (@JobID IS NOT NULL)
BEGIN
-- 檢查作業是否是為多重伺服器的作業
IF (EXISTS (SELECT *
FROM msdb.dbo.sysjobservers
WHERE (job_id = @JobID) AND (server_id <> 0)))
BEGIN
-- 有,所以中斷指令碼
RAISERROR (N'無法匯入作業 ''Backup DB Full 7,1,2,3,4,5,6'',因為多重伺服器已經有這個名稱。', 16, 1)
GOTO QuitWithRollback
END
ELSE
-- 刪除 [本機] 作業
EXECUTE msdb.dbo.sp_delete_job @job_name = N'Backup DB Full 7,1,2,3,4,5,6'
SELECT @JobID = NULL
END

BEGIN

-- 新增作業
EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT , @job_name = N'Backup DB Full 7,1,2,3,4,5,6', @owner_login_name = N'sa', @description = N'沒有可用的描述。', @category_name = N'[Uncategorized (Local)]', @enabled = 1, @notify_level_email = 0, @notify_level_page = 0, @notify_level_netsend = 0, @notify_level_eventlog = 2, @delete_level= 0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- 新增作業步驟
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 1, @step_name = N'Backup DB 7,1,2,3,4,5,6', @command = N'
--宣告變數
declare @dWeek varchar(10), @dWeek2 varchar(10),@dWeekDay varchar(10),@sDBName varchar(50) ,@sBackupPath varchar(20)
--顯示第幾週、星期幾、DB名稱及備份路徑
set @dWeek=DATEPART(week,getdate())
set @dWeek2=DATEPART(week,getdate()-7)
set @dWeekDay=DATEPART(weekday,getdate()) -1
set @sBackupPath=''D:\Backup\SQL\''
-- Declare the cursor from AgentMember
DECLARE curBill CURSOR FOR

SELECT name FROM sysdatabases WHERE (name NOT IN (''master'', ''model'', ''msdb'', ''pubs'', ''tempdb''))

--uid=1 dbo
--Open Cursor
OPEN curBill
--Fetch Next Cursor
FETCH NEXT FROM curBill
INTO @sDBName
--Cursor 迴圈===================
WHILE @@FETCH_STATUS = 0
BEGIN
--執行指令
Exec(''BACKUP DATABASE [''
+@sDBName+''] TO DISK = N''''''+@sBackupPath+@sDBName+''-Full-''+@dWeek +''-''+@dWeekDay +''.BAK'''' WITH INIT , NOUNLOAD , NAME = N''''''+@sDBName+''-Full-''+@dWeek +''-''+@dWeekDay +''備份'''', NOSKIP , STATS = 10, NOFORMAT '')
--刪除前一禮拜資料
Exec(''xp_cmdshell ''''del ''+@sBackupPath+@sDBName+''-Full-''+@dWeek2+''-''+@dWeekDay+''.BAK '''''')

--Fetch Next Cursor
FETCH NEXT FROM curBill
INTO @sDBName
END
--Cursor 迴圈===================
-- Close and deallocate the cusor from memory.
close curBill
deallocate curBill


', @database_name = N'master', @server = N'', @database_user_name = N'', @subsystem = N'TSQL', @cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0, @retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0, @on_success_action = 1, @on_fail_step_id = 0, @on_fail_action = 2
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1

IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- 新增作業排程
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N'Backup DB 7,1,2,3,4,5,6', @enabled = 1, @freq_type = 4, @active_start_date = 20050429, @active_start_time = 20000, @freq_interval = 1, @freq_subday_type = 1, @freq_subday_interval = 0, @freq_relative_interval = 0, @freq_recurrence_factor = 0, @active_end_date = 99991231, @active_end_time = 235959
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

-- 新增目標伺服器
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

END
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:


GO

The World Is Flat

今天早上開信
看到一封來自BLOG的留言
竟然是國外不認識的網友David Santos
對於我發表的文章作回應,真是感動

感到莫名的高興
網路真是如此無遠坲界

決定將自己所知道的技術發表
也許是野人獻曝
但也是一個自我實現的好園地
還有儘量中英文都寫囉!順便提升一下英文能力

2007年10月17日 星期三

Media Player Auto PlayList 網頁自動播放

HMTL
使用playlist將需要的檔案list並隱藏
<object classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" width="240" height="240" align="top" id="MediaPlayer1">
<param name="URL" value="">
<param name="rate" value="1">
<param name="balance" value="0">
<param name="currentPosition" value="0">
<param name="defaultFrame" value>
<param name="playCount" value="1">
<param name="autoStart" value="1">
<param name="Filename" value="" valuetype="ref">
</object>
<!-- play list -->
<div id=playListLayer><select name="playList">
<option value="1.mp3">1</option>
<option value="2.mp3" >2</option>
<option value="3.mp3" >3</option>
<option value="4.mp3" >4</option>
</select></div>
<!-- play list -->
<INPUT TYPE="hidden" NAME="playListNow" value="">


Javascript
每秒檢查Media Player播放狀態是否為停止,如停止就播放下一個檔案
當然就必須知道現在在播放什麼
<script language="JavaScript" type="text/JavaScript">
<!--
init();
//
function init()
{
playListLayer.style.visibility='hidden';
MediaPlayer1.URL=playList[0].value;
MediaPlayer1.controls.play();
playList_dblClick();
}

function CheckNextOne()
{
var iLength;
iLength=playList.length;
for (i = 0; i <iLength ; i++)
{
if(playList[i].selected==true)
{
if (i==iLength-1) {
playListNow.value=playList[0].value;
playList[0].selected=true;}
else
{
playListNow.value=playList[i+1].value;
playList[i+1].selected=true;}
break;
}
else
playListNow.value=playList[0].value;
}
}
function playList_dblClick(){
try{
//Stop Media Play Next
if(MediaPlayer1.PlayState==1)
{
CheckNextOne();
MediaPlayer1.URL=playListNow.value;
MediaPlayer1.controls.play();
}
}
catch(e)
{

}
setTimeout('playList_dblClick()',1000);
}
</script>

Text Box顯示隱藏

HTML 隱藏
style="visibility='hidden'"

Javascript
顯示
XXX.style.visibility='hidden';
隱藏
XXX.style.visibility='hidden';

Enhanced PCI to USB 無法辨識

近來發現電源Power是兇手
關掉總電源等待個數分鐘後
重開後
竟然可以了

外接式USB硬碟
如有電源請先開啟
再接連接線
可以讓你USB硬碟使用的更長遠喔

路不是只有一條

昨天聽到一件主機需停機的狀況
我就問是否有其他解決方案
提說是否有其它方式,再挑選狀況條件後
再選擇,不是只有一條路可選

竟然聽到對方激動的說
之前HA架構被拿掉
所以只剩這個方案
其他備份還原程序目前他們都不會也不敢碰

我心想那幹麻要備份資料
解決之路只有一條路嗎?

如果可以提出其他解決之道
那人的價值是不是就是這個
而不是只用錢去推出來
或者請廠商Support

2007年10月16日 星期二

查此電腦PORT連線狀況

>netstat -an
會列出TCP UTP的狀況
不正常的IP及PORT可能是木馬病毒在作怪喔

自動解除按一下取得控制問題

IE使用Flash時都要按一下取得控制
可以使用以下方式解決
1.製作一個fix_ieflash.js檔

var objects = document.getElementsByTagName("object");
for (var i=0; i<objects.length; i++)
objects[i].outerHTML = objects[i].outerHTML;

2.HTML最後面引用此檔
</HTML>
<SCRIPT language=JavaScript src="./fix_ieflash.js"></SCRIPT>

3.注意事項
一定要在所有物件之後才有效喔
一定要使用引用才有效,不能直接寫在HTML的Script裡
如果有使用其他引用Script的話,要在其他引用上加defer
<script type="text/javascript" src="./js/Default.js" defer="defer"></script>

defer是腳本程序強大功能中的一個“無名英雄”。它告訴瀏覽器Script段包含了無需立即執行的代碼,並且,與SRC屬性聯合使用,它還可以使這些腳本在後台被下載
一個常用的優化性能的方法是:當腳本不需要立即運行時,在<SCRIPT>標籤中設置“defer”屬性。

2007年10月15日 星期一

剖析器錯誤訊息: 無法載入檔案或組件 'System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或其相依性的其中之一。 系統找不到指定的檔案

C#錯誤訊息
行 41: <httpModules>
行 42: <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
行 43: </httpModules>

只要在bin/加入
AJAX的System.Web.Extensions.dll

2007年10月14日 星期日

數學運算比判斷快

在做數值模擬時
如果可以使用+-*/方式取代太多的IF判斷
例如
兩數值要取大值取小值
A B兩值
取大值
=(A+B)/2 + abs(A-B)/2
取小值
=(A+B)/2 - abs(A-B)/2

2007年10月12日 星期五

下拉選單或單選複選 自動到位

下拉選單
Javascript加入以下function
//--SelectItem----------------------
function SelectItem(sSelected,sObj)
{
var sVar
var sVar2
sVar=eval(sObj+'.length')
if (typeof(sVar)=="undefined")
{
sVar2=eval( sObj+'.value' );
if ( sVar2==sSelected)
{
eval(sObj+'.selected=true');
}
}
else
{
for (i = 0; i < sVar; i++)
{
sVar2=eval( sObj+'['+i+'].value' );
if ( sVar2==sSelected )
{eval(sObj+'['+i+'].selected=true'); break;}
}
}
}
//--SelectItem----------------------
最後將要選擇的項目物件指定,並帶入想拉選擇的值即可


單選複選
Javascript加入以下function

//--CheckItem----------------------
function CheckItem(sSelected,sObj)
{
var sVar
var sVar2
sVar=eval(sObj+'.length');
if (typeof(sVar)=="undefined")
{
sVar2=eval( sObj+'.value' );
if ( sVar2==sSelected)
{
eval(sObj+'.checked=true');
}
}
else
{
for (i = 0; i < sVar; i++)
{
sVar2=eval( sObj+'['+i+'].value' );
if ( sVar2==sSelected )
{eval(sObj+'['+i+'].checked=true'); break;}
}
}
}
//--CheckItem----------------------
最後將要選擇的項目物件指定,並帶入想拉選擇的值即可

各式取日期方法YYYYMMDD

ASP
function sNowDate()
sNowDateY=year(now)
sNowDateM=month(now)
if sNowDateM < 10 then sNowDateM="0" & sNowDateM
sNowDateD=Day(now)
if sNowDateD < 10 then sNowDateD="0" & sNowDateD
sNowDateHH=hour(now)
if sNowDateHH < 10 then sNowDateHH="0" & sNowDateHH
sNowDateMM=minute(now)
if sNowDateMM < 10 then sNowDateMM="0" & sNowDateMM
sNowDateSS=second(now)
if sNowDateSS < 10 then sNowDateSS="0" & sNowDateSS
sNowDate=sNowDateY & sNowDateM & sNowDateD & sNowDateHH & sNowDateMM & sNowDateSS
end function
C#
DateTime.Now.ToString("yyyyMMdd")
忽略系統時間格式設置DateTime.Now.ToString("yyyyMMdd", System.Globalization.DateTimeFormatInfo.InvariantInfo);

SQL
--8碼===========
set @dDate=(select CONVERT(char(8),getdate(), 112 ))
--14碼==========
set @dDate=(select CONVERT(char(8),getdate(), 112 )+CONVERT(char(6),replace(CONVERT(char(8),getdate(), 114 ),':','')) )
--14碼時間差=========
declare @dDate varchar(14)set @dDate=CONVERT(char(8),dateadd(hour,-1,getdate()), 112 ) + replace(CONVERT(char(14),dateadd(hour,-1,getdate()), 114 ),':','')select @dDate

2007年10月11日 星期四

網頁企劃

應規劃相關人員教育訓練
設計人員
1.相關作品的原始檔版本
2.共用可重複的元件設計
3.相關設計理念經驗傳承

以利後續人員參考或重複使用

網頁編輯人員
1.網頁切割表單的規範
2.使用共用CSS JS或Image的規範
3.目錄建置以利版本建立
保留所有設計版型

需不斷教育訓練相關人員
並提供修改的空間
讓規範可以被大家遵守才有意義

我像是個工具

明天要上線的網頁
缺少程式
要我支援
怎樣的需求都不明確

擺明你只是工具
先解決短期問題就好

不作長期規劃
只治標不治本

2007年10月10日 星期三

Asbala絕地大反攻

10/10內湖主委盃壘球賽
我們球隊Asbala打出兩場一分差的比賽
15:00這一場險勝一分
16:00這一場在七局上最後反攻
我們還落後5分
一口氣追回6分
並穩穩地守住7七下對方最後的反攻
大家還從未在落後這麼多的狀況下獲勝
過程中還不斷相互打氣
呼起口號
真是過癮

專案挫折

昨天一手將進行許久的專案
確認終止,找理由給主管台階下

從暫存主機難產,歸屬權是誰的
到主管認為產品內容主控權

讓我看到主管格局的狹小

我想的是整個公司立場
盡力想共用架構,讓系統穩定安全
方便複製同一模式,以因應近來擴店需求

反正把這經驗收起來
引以為鑒

2007年10月8日 星期一

進行專案

專案負責人進行專案
應該如何做
1.確認專案目標是否得到所有高層主管支持
2.規劃專案次要目標及階段
3.分階段進行並定時回報進度
4.獎勵相關負責人員並持續回饋改善相關作業
所有系統都是Beta版將持續改善

2007年10月7日 星期日

改善交通-全民監控

全民監控
但要如何讓公車確實靠站

可由交通部規定公車宣導
並訂定罰則 由全民拍Video檢舉
可以在罰款中撥30%給通報者

一方面可以讓全民一起監控又有賺頭
一方面可讓公車按照規定靠入公車專用格

常常看到因為公車貪圖一時方便停在車道上
利用些方面讓所有公車都遵守

以免造成交通壅塞

我愛洗澡澡

薌薌唸完這本書後
就會背著唸出來
好厲害喔! 我這年紀會嗎?
肯定不會 我小學時 念課文還很不順呢!

所以要求您小孩 會這個! 會哪個之前
先回想你笨笨的小時候

感動 讚賞 好厲害喔!
===我愛洗澡澡===
洗澡澡,抹泡泡
毛巾擦一擦
嗓子拉一拉
刷刷牙,梳梳頭髮
穿一件睡袍
抱一隻熊寶寶
說聲晚安,把燈關上
睡著甜,睡著香
夢見了一群小綿羊

2007年10月6日 星期六

耶!




可愛的薌薌到台北植物園

留下美美的大圓臉

讓人忍不住跟著她開心地笑

2007年10月4日 星期四

真水

大老婆與大情人

台大櫻花季
想讓薌薌體會台大美美的校園

MIS整體規劃

每個公司都有MIS
歷經多家公司後建議規劃如下
1.設定MIS工作目標
a.安全性
b.功能性
c.穩定性
可與部門員工執行相互討論,以匯集共識及績效目標

2.建置基本環境
a.對內服務 intra、File、Printer
b.對外服務 WWW、Mail、FTP

3.工作分配
a.一般硬體維護(PC、Printer等使用者)
b.Server維護
c.軟體系統維護建置
d.線路規劃建置維護

4.建議架構
a.使用AP、DHCP、DNS、WINS讓系統運作更為簡便可批次集中控制
b.使用AD撘配NoteBook Wireless AP建置一個可移動互相替補的電腦作業環境
c.主機需分等級建置 1.備份 2.備援 3.LoadBlance環境 4.異地備援等機制
d.網路線路環境亦可規劃備援Fault Tolerance

容錯(Fault Tolerance)
分散式系統的容錯特性讓分散式系統成為dependable systems(可信賴系
統),dependable systems 具備以下4 個需求:
˙ Availability(有效性)
˙ Reliability(可靠性)
˙ Safety(安全性)
˙ Maintainability(可維護性)
造成系統產生error 的原因稱為fault,當系統無法正常提供服務的狀態稱
為fail,造成部份系統狀態為fail 的原因則稱做error

查IP的電腦 查網路ISP 重起SMTP IIS Windows AllService

1.查IP的電腦
>nbtstat -A 10.1.1.x
2.用IP查網路ISP
http://wq.apnic.net/apnic-bin/whois.pl?search=10.1.1.x
3.重起SMTP
net stop SMTPSVC
net start SMTPSVC
4.重起IIS
iisrest
5.Windows AllService
MSFTPSVC
NNTPSVC
SMTPSVC
W3SVC
BROKSVC
LDAPSVC
SGBLDSVC
IISERROR
IISReset -Stop -start

Window系統自動登入

1.
機碼 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon
新增字串 AutoAdminLogon,內容設為 1
DefaultDomainName 設定欲登入的網域名稱或本機電腦名稱
DefaultUserName 設定欲登入的使用者帳號
DefaultPassword 該帳號的密碼

2.
執行 control userpasswords2
勾選需要輸入使用者帳號密碼,才能使用此電腦
選擇要自動登入的帳號
再把勾選項拿掉即可

網路監控程序

使用HTTP 監控網站是否正常運作
1.DB紀錄相關需要監控的網址、時間,錯誤時須通知EMAIL、手機等資訊
2.網站準備監控網頁回應固定訊息OK,讓系統判斷是否正常
3.使用Client Http傳回固定訊息OK,並定時查詢DB上需監控WebSite並回到狀況
4.有錯誤時發出EMAIL或發出SMS簡訊給管理者,正常的WebSite則紀錄時間標記及狀態改變

曲線圖


使用C#

using System.Drawing;
using System.Drawing.Imaging;

2007年10月3日 星期三

MIS是良心事業

之前上MIS課程時老師不斷提到
『MIS是良心事業』

越來越是感受深刻
電腦可以做設定自動化的
能批次作業的
ㄧ定想辦法

1.自動異地備份(要能比對差異的部份)
2.自動開關機
3.自動登入帳號
4.批次加密
5.批次下載套用
6.自動監控回報
7.自動監控+自動處理(重新啟動)

電腦意外關機-自動關機開機

公司有數台Server今天看到EventLog 2006/7/12以來
每天晚上都被人強迫關機,真是不知該怎麼說
好像小孩每天都被保母偷偷打一樣

能由系統自動做的就自動做
不然也應該教育訓練好使用者

(1)自動關機
Win2003
C:\WINNT\system32\shutdown.exe可以COPY到XP或Win2000即可
可設定排程 每天固定時間執行60秒後關機
shutdown /s /t 60
(2)自動開機
則必須要在BIOS上設定
在 BIOS 設置主界面中選擇 [ Power Management Setup ],進入電源管理窗口。
預設情況下,「Resume By Alarm( 定時開機 ) 」選項是關閉的,將光標移到該項,用「Pagedown」鍵將「Disabled」改為「Enabled」,此時「Resume By Alarm」選項下原本是灰色的日期和時間設置會變亮。將光標先後移到「Date Alarm( 開機日期 ) 」和「Time Alarm( 開機時間 ) 」上,用「Pageup」、「Pagedown」設定好。
OK,到了你設定的時刻,電腦就會自動啟動。當然,不同的主機版功能有差異
(3)網路開機
為了喚醒網路上的電腦,用戶還必須發出一種數據包,該數據包的格式與普通數據包不同,而且還必須使用相應的專用軟體才能產生。Magic Packet(下載地址:http://ftp.pconline.com.cn/pub/download/200304/magic_pkt.exe ) 是 AMD 公司開發的一款軟體,這款軟體可以產生網路喚醒所需要的特殊數據包(包含有連續 6 個位元組的 “FF” 和連續重複 16 次的 MAC 地址)。
先進入需要被喚醒的電腦的 BIOS 中,在 “Power Management Setup” 選項裏找著 “PowerOn by Ring”( 有的可能是 “Wake Up On LAN”),把它設定成 “Enable” 後保存退出

2007年10月2日 星期二

知識KM+DRM

建立教學KM影音平台
每段教學檔都以數分鐘為單位
提供學員快速上手,Step By Step的操作畫面

可以提供公司KM平台
讓經驗能藉由此傳承
1.可評比
2.可搜尋
3.可自製(搭配簡易製作工具)

規劃先以使用者常使用的電腦小常識先製作
並以此當做基本版,提供企業KM用
相關內容可以開放網友提供
如有販售或點閱則回饋提供者

搭配DRM機制可以控制存取檔案的安全性

如何改善作業流程

1.了解現行運作流程
列出所有工作
相關成員權責分配
配合的廠商作業需求
2.找出可節省的流程和工作

3.更新流程,重新規劃
大夥重新確認相關流程
4.使用工具系統節省人力工時
評估可使用工具系統的流程工作
5.調整人員權責
安排人員適當的工作內容

持續不斷因應變化彈性調整流程
需要全員有奮鬥的共識
a.社會價值
b.公司整體利益
c.員工福利

找不到ConfigurationManager這個類別

C#

已經using System.Configuration但是還找不到ConfigurationManager類別
可以加入參考到System.Configuration.dll

如何使用
1.<appsettings><add value="didiernctu.blogspot.com" key="AAA"></appsettings>

2.System.Configuration.ConfigurationManager.AppSettings["AAA"].ToString()

深坑老街

這張有你和媽媽的屁屁
你戴原住民的帽飾
好可愛又好會擺POSE喔!

我的大寶

當媽媽跟我的同事講說
我大女兒有時候早上都比我們早起
然後就坐在書桌前唸書
媽媽的同事就說『你的女兒好特別喔!』
她有時候還會把棉被摺好
然後自己泡牛奶喝
媽媽同事:『天阿!她真的太特別了』
媽媽:『不是每個小孩都這樣嗎?』
媽媽同事:『才不是呢!你的女兒真的很特別!』

別人都這麼欣賞你
怎麼爸爸媽媽還忍心常苛責你呢?
薌 媽媽要常常提醒自己
要『好好欣賞你』

2007年10月1日 星期一

心肝寶貝


這張是我最愛的一張心肝寶貝合照

教育篇

近來在回答女兒問題時
想到的一些教學方法
寫出來給大家參考

尤其在現在失敗教改的折磨下
更希望由家庭教育做些改變

環境如此惡劣
卻又不自覺得,把所有教育責任推給老師或大環境
(老婆是老師所已體認更深)

一起好好做好家庭教育吧!

2007年9月29日 星期六

緣起

之前有一本寫給姊姊
再來有一本寫給煒寶

這一本寫甜蜜的家
沒辦法 媽媽年老時要靠這個來回憶
誰叫媽媽是"忘"小姐呢?

這是姐姐幫媽媽取的綽號,因為媽媽總是忘東忘西的
而姊姊自封是"金"小姐,因為姊姊有一顆超級金頭腦

改善交通-公車篇

1.公車站牌路線可以重新評估規劃
a.避免太過集中
b.避免站牌設立於需轉內側路線前100公尺

2.要求公車靠站要入公車專用格內
目前大多公車為方便駛離站牌,就會停在公車專用格外
造成馬路狹窄,機車汽車危險超車

3.公車門改成兩側都可上下車(像捷運車廂)

共用後端權限

建置可以任意建置功能,設定權限、群組等功能
1.設定網址錯誤自動導向後端網址
2.建置單一功能及群組的內含功能(每個功能屬於單一群組)
3.建置使用者擁有的群組

表單系統

建置一個多系統共用的表單系統
1.前端網頁自編
設定參數Hidden即可
網頁可用選項有一定規則
2.後端設定介面
新增參數名稱
編號、名稱、目前輸入次數、限制次數、超過次數訊息、網頁放置位置、成功導向網頁
如果空白就顯示成功訊息,如果有填就導向此網頁不顯示訊息。
成功訊息、失敗訊息、不可重複項目、重複訊息
DB重複項目sName 不檢查 檢查sSubject 不檢查 檢查sID 不檢查 檢查sEmail 不檢查 檢查DB重複訊息、侷限網站、亂數檢查、Email寄送服務、EMAIL主旨、Email Re、寄件者Email、寄件者
EMAIL TO、EMAIL BCC

廣告播放系統

實際建置一多Domain的廣告Ad.xxx.com.tw網站
廣告播放定時上下架、廣告輪撥、倒數播放圖片等機制
分以下功能
1.廣告內容
2.廣告主
3.廣告播放
4.廣告分析
提供一個集中管理的廣告管理播放平台,簡化上下架播放廣告程序,並可量化網站的價值,廣告區可用於集團內部或公關甚至對外招廣告用。

簡單異地備援

簡單PC加上隨身碟兩顆(交互用)
使用SyncBackSE 備份軟體
設定排程進行集中式備份

使用者這樣的設備
每天4小時執行備份
A.SQL備份檔
B.網站資料

手動刪除與壓縮SQL Server 交易紀錄檔


SET NOCOUNT ON
DECLARE @LogicalFileName sysname,@MaxMinutes INT,@NewSize INT

-- *** MAKE SURE TO CHANGE THE NEXT 4 LINES WITH YOUR CRITERIA. ***
---要處理的 Database
USE [wbbs_w01] -- This is the name of the database
-- for which the log will be shrunk.
---要刪的 Log 檔 , 用 sp_helpfile 指令來找出正確的檔名
SELECT @LogicalFileName = 'Wbbs_W01_Log' -- Use sp_helpfile to
-- identify the logical file
-- name that you want to shrink.

set @MaxMinutes = 10 -- Limit on time allowed to wrap log.
---刪除後的啟始大小
set @NewSize = 100 -- in MB

-- Setup / initialize
DECLARE @OriginalSize int
SELECT @OriginalSize = size -- in 8K pages
FROM sysfiles
WHERE name = @LogicalFileName
SELECT 'Original Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName

CREATE TABLE DummyTrans
(DummyColumn char (8000) not null)

-- Wrap log and truncate it.
DECLARE @Counter INT,
@StartTime DATETIME,
@TruncLog VARCHAR(255)
SELECT @StartTime = GETDATE(),
@TruncLog = 'BACKUP LOG ['+ db_name() + '] WITH TRUNCATE_ONLY'
-- Try an initial shrink.
DBCC SHRINKFILE (@LogicalFileName, @NewSize)

EXEC (@TruncLog)

-- Wrap the log if necessary.
WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE())
-- time has not expired.
AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName) -- the log has not shrunk
AND (@OriginalSize * 8 /1024) > @NewSize -- The value passed in for new size is smaller than the current size.
BEGIN -- Outer loop.
SELECT @Counter = 0
WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))
BEGIN -- update
INSERT DummyTrans VALUES ('Fill Log') -- Because it is a char field it inserts 8000 bytes.
DELETE DummyTrans
SELECT @Counter = @Counter + 1
END -- update
EXEC (@TruncLog) -- See if a trunc of the log shrinks it.
END -- outer loop
SELECT 'Final Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),size) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName
DROP TABLE DummyTrans
PRINT '*** Perform a full database backup ***'
SET NOCOUNT OFF
drop TABLE DummyTrans

SQL2000 如果不小心刪到交易資料檔(LOG) 救的回來嗎?

SQL2000 如果不小心刪到交易資料檔(LOG)
由於沒有事先deattach所以在attch DB時發生錯誤
也不讓您繼續下去..........
目前還保留mdf資料檔案
資料庫救得回來嗎?
或者可以從裡面會出table資料來?

我終於把資料救回來了
經過這一段時間到處找解決方法
最後到http://www.sqlserver.com.tw/
找到解決方式與大家分享
首先先將系統改為允許更新系統資料表狀態

use master
go
exec sp_configure 'allow updates',1
go
reconfigure with override
go

接下來就是把資料表改為唯讀\離線\緊急模式


use master
go
update sysdatabases set status=-32768 where name='db Name'
go

再將SQL停掉

覆蓋該檔

再啟動SQL

如此就可以在管理介面看到資料表了
接下來就可以匯出您寶貴的資料了
如果有其他問題可email給我

活動媒合平台

一個之前與好友討論的機制
將使用者、舉辦活動者及支援廠商緊密結合在一起
1.使用者-可以藉此平台搜尋想要參加的活動
2.舉辦者-可以透過此平台刊登活動,宣傳活動
3.廠商-可以登錄場地設備供舉辦者

藉此向廠商舉辦者收取刊登的手續費,以維持該機制運作

網頁錄影報到登錄系統

看到Flash高手Flashon最近研究Flash上用Webcam互動
突發奇想
(一)利用此機制紀錄學員報到或員工打卡紀錄
可避免代打卡問題
又有圖像紀錄,至少讓人不可否認性(畫面上加註系統時間)
(二)會員制的平台系統,紀錄學員登入狀況

在未來互動的網際網路世界裡,此機制應可被廣泛應用

DRM與Elearning

DRM 屬於半離線的學習方式
可以搭配實體網路學院或光碟方式學習
目前有多家DRM保護機制MS、iTune提供解決方案

Elearning則屬於線上學習方式
要搭配LMS平台及符合SCORM的課程內容
可針對使用者記錄相關學習歷程

但最終如何提供好的學習內容才是重點
現在學員都習慣跳躍式的學習方式
所以如何以最適合的最小單位,來規劃課程內容很關鍵
時間不要太長,要能現學現賣最好
學員也被搜尋引擎訓練,以關鍵字找到適合的內容

賴銘偉「最想念的聲音」口是心非-超好聽的


歌詞
口是心非 原唱:張雨生 口是心非
 你深情的承諾 都隨著西風飄渺遠走
 癡人夢話我鐘情的倚托就像枯萎凋零的花朵
 星火燎原我熱情的眼眸曾點亮最燦爛的天空晴天霹靂
 你絕情的放手在我最需要你的時候
 於是愛恨交錯人消瘦
 怕是怕這些苦沒來由 於是悲歡起落人靜默
 等一等這些傷會自由 口是心非你矯情的面容都烙印在心靈的角落
 無話可說我縱情的結果就像殘破光禿的山頭
 渾然天成我純情的悸動曾奔放最滾燙的節奏
 不可收拾你濫情的拋空所有晶瑩剔透的感受

因為這首歌讓我更喜歡賴銘偉者位參賽者

2007年9月28日 星期五

DRM規劃

概分四層架構
1.使用端播放介面
a.可以要求安裝AP控制,便於取得使者CPU序號-以判斷是否為同一台電腦
b.或以讓使用者備份授權的方式管控(但要確保史用者無法轉移到另一台電腦)
2.取得授權的管控(包含使用者管控及後端控制訂購單狀態)
3.授權發送的控制介面,可以提供不同來源及導向指定的授權主機
4.授權及加密主機,提供加密AP或程序

webcam遊戲-超厲害的FLASH

薌心肝


我的心肝,近來不斷給予賞識及讚美,表現就越來好了
感謝『賞識你的小孩』這本書的作者-周弘

煒寶貝


可愛的煒寶貝
像極了小時候的我
胖胖臉很可愛喔!

2007年9月27日 星期四

惡人沒膽

說到煒寶,姊姊最常說你『生氣喔?』
『脾氣這麼大喔?』
的確你不到一歲,可是很凶,姊姊都讓你欺負著玩的
真不知該不該人小,氣不小

但是其實你阿!惡人沒膽
坐在推車上,推你過馬路或有車子經過
你會嚇一跳,然後不肯坐,要媽媽抱
媽媽抱你起來後,再有車子經過,你會像無尾熊一樣
雙手雙腳把媽媽夾得很緊

不過,老實說,被你需要是幸福的。

2007年9月10日 星期一

長二顆牙

下排門牙 長二顆牙了
不用硬扒他嘴巴就清析可見了

煒寶快兩11個月了^_^
今天大媽媽等不及先送了你一套書(寶寶也會說故事)
當生日禮物,雖然距離你生日還有一個多月

今天馬上念了那篇"紅襪子"給你聽
你看起來頗專心至少沒有一直"啃"書

看著你和姊姊面對面躺在下舖
睡得香甜又可愛的模樣
媽媽總會在旁邊向欣賞一幅畫一樣
除了幸福就是感動

長大,也要這麼相親相愛喔!
聽到沒薌兒、寶兒♡