2011年11月17日 星期四

Meta 指令運用

meta 是用來在HTML文檔中模擬HTTP協議的響應頭報文,放於網頁中的與間。
meta 的屬性有name和http-equiv兩種,name屬性主要用於描述網頁性質並對應於content(網頁內容),以方便搜索引擎機器人(網站蜘蛛)查找及分類(目前幾乎所有的搜索引擎都使用網上機器人自動查找meta值來給網頁分類)。

  • 它必須放於與之間,主要用於本網頁的內容說明,以利自己或別人(搜索引擎)使用,另外也可以製造出一些自動翻頁等特殊效果。
  • http-equiv或NAME屬性,必須配合content屬性使用,兩者也可互替使用。
  • 後設語法標籤(META description tag)的用法隨各搜索引擎設定有所不同。
  • 有無Meta標籤,並不影響網頁正常顯示,其最大目的在於提供網頁各種資訊及產生特殊效果。
meta中最重要的是description(站點在搜索引擎上的描述)和keywords(分類關鍵詞)值的設定,因許多入口網站提供了搜尋服務,像是Google登錄了十億篇以上的網頁,Yahoo登錄了數百萬個以上的網站,但據估計仍不及網際網路上的內容十分之一。META標註指令就是用來協助這些搜尋引擎找到您的網站,讓其他的網友再透過這些搜尋引擎搜尋到您的網站,增加您的網站流量。 

讓搜索引擎容易找到您:

語法範例

網頁內文關鍵字,可使用中、英文均可

每個關鍵字用逗號(,)隔開;最好不要加上空白,例如:"key word keyword",因有些搜尋引擎會將它們視為三個不同的字,有些搜尋引擎會把它們當成一個字(視空白為一個字母)。理論上,您可以加上無數個和您的網頁有關的關鍵字。

阻擋所有的網路蜘蛛找到您:
name="robots"的屬性說明如下:

all:文件將被檢索,且頁面上的鏈接可以被查詢;
none:文件將不被檢索,且頁面上的鏈接不可以被查詢;
index:文件將被檢索;
follow:頁面上的鏈接可以被查詢;
noindex:文件將不被檢索,但頁面上的鏈接可以被查詢;
nofollow:文件將不被檢索,頁面上的鏈接可以被查詢。
語法範例



...

將上述起始的語法放置在網頁區段中,這個頁面就不會搜尋到,NAME的部份使用「robots」即可阻擋所有的網路蜘蛛,也可以指定特定名稱,例如Googlebot或Yahoo!Slurp,就可阻擋特定網站蜘蛛。CONTENT可指定noindex、nofollow等兩個屬性,noindex意指不可對本頁進行索引動作,nofollow指的是否可使用本頁的超連結再延伸出去擷取搜尋。

標示網頁語言文字編碼:
  
  1. Content-Type 文件內容格式
  2. text/html 純文字/超文字
  3. charset 字元組big5為中文繁體大五碼,如用iso-2022-jp是指日文
網頁自動更新: 
上例為每15秒自動重新整理(refresh)網頁一次。您若希望網頁每五分鐘自動更新一次,就設定CONTENT="300"(5x60秒=300)。 

自動轉址功能:

如果您須要進入網頁的訪客自動被導引至另一個網址時,就可利用網頁自動更新的語法做自動轉址的動作,如下:
 
如果您要顯示網站搬家訊息給訪客,可以設定停3至10秒以便顯示一段搬家訊息後再轉址,也可以設定為0秒,立即轉址。

網頁有效時期:
 
Expired 網頁終止標示
01-jan-2002 00:00:01 詳細日期時間

網頁完成時間:

 
Creation-Date 創作日期標示
01-jan-2001 14:41:01 詳細日期時間

網站相關內容描述:
 
Description 內容的主要描述

標示網頁作者:


標註本網頁作者姓名等資料 

用何編輯器完成的網頁:
  1. 標註本網頁作者姓名等資料
  2. Generator 編輯器
  3. Mozilla/3.0Gold(Win95)[Netscape] 編輯器等版本說明
進入或離開網頁、網站時的特效(限IE使用):
  1. http-equiv="Page-Enter是進入本頁、Page-Exit是離開本頁、Site-Enter是進入本站、Site-Exit是離開本站"。
  2. content="revealTrans(指定換頁特效)、blendTrans(設定換頁特效為"混合")。
  3. Duration=設定特效持續的時間(秒),建議在3-5秒之間。
  4. Transition=以0-23代替特效,如附表及範例。

2011年11月7日 星期一

MS SQL 200 資料型態

資料型態:

資料型態說明範例
INT長度為 4 個 bytes;介於 -2,147,483,648 與 2,147,483,647 間的整數 
SMALLINT長度為 2 個 bytes;介於 -32,768 與 32,767 間的整數 
TINYINT長度為 1 個 bytes;介於 0 與 255 間的整數 
BIGINT長度為 8 個 bytes;介於 -2^63 與 2^63-1 間的整數 
FLOAT[(n)]n 是儲存 float 數字的小數位數,介於 1 與 53 間; 若 n 介於 1 與 24 間,儲存大小為 4 個 bytes,有效位數為 7 位數;若 n 介於 25 與 53 間,儲存大小為 8 個 bytes,有效位數為 15 位數
create table p_ex (num1 real, num2 float)
insert into p_ex values(4000000.123456789, 
                  4000000.123456789012345)
insert into p_ex values(400.123456789, 
                  400.1234567890123456789)
select * from p_ex
// real 共顯示八位數,float 共顯示 17 位數
REAL長度為 4 個 bytes;介於 -3.4E-38 與 3.4E+38 間的浮點數;與 FLOAT(24) 相同 
DECIMAL[(p[,s])]使用 2 到 17 個 bytes 來儲存資料,可儲存的值介於 -1038-1 與 1038-1 之間;p 用來定義小數點兩邊可以被儲存的位數總數目,而 s 代表小數點右邊的有效位數(s < p);p的預設值為 18 而 s 的預設值為0
create table p_ex (num1 numeric(19,9), 
                   num2 decimal)
insert into p_ex values(4000000.123456789, 
                  4000000.123456789012345)
select * from p_ex
NUMERIC[(p[,s])]與 DECIMAL[(p[,s])] 同 
CHAR[(n)]固定長度為 n 的字元型態,n 必須介於 1 與 8000 之間 
VARCHAR[(n)]與 CHAR 相同,只是若輸入的資料小於 n,資料庫不會自動補空格,因此為變動長度之字串 
NCHAR 與 NVARCHAR與 CHAR 以及 VARCHAR 相同,只是每一個 字元為兩個 bytes 的 unicode,且 n 最大為 4000 
DATETIME長度為 8 個 bytes;介於 1/1/1753 與 12/31/9999 間的日期時間 
SMALLDATETIME長度為 4 個 bytes;介於 1/1/1900 與 6/6/2079間的日期時間
create table d_ex (d1 datetime, 
                   d2 smalldatetime)
insert into d_ex values ('1/1/1753', 
                       'Jan 2 1900')
select * from d_ex
MONEY長度為 8 個 bytes 的整數,小數點的精確度取四位 
SMALLMONEY長度為 4 個 bytes 的整數,小數點的精確度取四位 
BIT只佔用一個位元,且不允許存放 NULL 值 
BINARY[(n)]固定長度為 n+4 個 bytes; n 為 1 到 8000 的值,輸入的 值必需符合兩個條件: (1) 每一個值皆為 0-9、a-f 的值;(2)每一個值的前面必須有 0X
create table b_ex (x binary(1), y binary(2))
insert into b_ex values(0x0, 0x0)
insert into b_ex values(0x1, 0x1)
insert into b_ex values(0xff, 0xff)
insert into b_ex values(0xfff, 0xfff)
insert into b_ex values(0xff, 0xfff)
insert into b_ex values(0xffff, 0xffff)
insert into b_ex values(0xff, 0xffff)
select * from b_ex
VARBINARY[(n)]與 BINARY 相同,只是若輸入的資料小於 n,資料庫 不會自動補 0,因此長度為變動的 
TEXT用來儲存大量的(可高達兩億個位元組)字元資料,儲存空間 以 8k 為單位動態增加 
NTEXT和 TEXT 雷同,只是儲存的是 Unicode 資料 
IMAGE和 TEXT 雷同,只是儲存的是影像資料 
SQL_VARIANT此資料型別可儲存 text、ntext、timestamp 與 sql_variant以外的各種 SQL Server 支援的資料型別。a sql_variant column can contain smallint values for some rows, float values for other rows, and char/nchar values in the remainder.
create table  b_ex (x int, y sql_variant)
insert into b_ex values(5, '五十')
insert into b_ex values(6, 60)
select * from b_ex

MSSQL 簡體字存入亂碼解決方式

資料庫型態須定義為 ntext 或是 nchar , nvarchar

若定義成一般習慣前面未加 'n' 將只能放本國語系的文字

如果簡體字存入就會變成 '?'

而當 Insert 或是 UPDATE 資料時直接將簡體資料寫入也會變成 '?'

寫法必須改為 INSERT INTO table_name(test) VALUES(N'测试')

在寫入的資料前要加 N 他在存入資料庫時才會去呼掉到擴充字集..

如未加 N 他則是使用 big-5 字集...如果使用 .Net 裡面的 DataApdater 來

Update 資料也要注意 Parameters 裡面的關於每個參數的型態設定..

股票基本入門 2011.11.07 (一)

買進時需(手續費):0.001,425元
賣出時需(手續費):0.001,425元
賣出時需付(證交所稅)0.003元
以上總計 0.0585(基本費用)

1股10元,一張股票1000股
假設:1股10塊錢

你買進1張股票 =1,000股
買:1,000 X 10 X 0.001,425 = 14.25 元手續費
補允說明:14.25元手續費 但最低手續費不買20塊,都收20塊
補允建議:你還是湊買 20塊比較省點錢

每家證券行都有下單手續費 2.5~6折
以剛算的買進:14.25(手續費 ) X 0.6 = 8.55 (折古後手續費)
但是給你打六折手續費也沒用,因為基本手續費就20塊(哈哈哈)

買跟賣一樣都要手續費
賣的時候要多加一個證券交易稅(0.003元)
假設:1,000股 X 10 X 0.00,1425 = 14.25 元 (不足20元,自動調整20元)
100,000 - 20 = 99,980 元
9980 X 0.003 (證券費) =  29.94 元

所以 20 X 2(買.賣) + 29.94 = 69.94 (四捨五入進位:70元)
以上就是演算法,請參考

2011年11月6日 星期日

乾巧人之星巴克買一送一個方法

乾巧人之星巴克買一送一個方法


星巴克到今年年底, 持iBon的票根, 就可以到星巴克買一送一
但沒有iBon的票根怎麼辦?!
最快的方法就是去7-11買張 台北->板橋的兒童高鐵票
這樣只要花購票$20元 + iBon手續費$10 = $30
7-11馬上會給你一張iBon的票
這張高鐵票當然不是要你去搭
直接拿這張票, 就可以在星巴克買一送一囉!
當然這是兩個人臨時想喝星巴克才會用到的方法
有計畫一點的, 就可以提早弄到一些搭過的高鐵票根
這樣連$30元都可以省下來了.

P.S. 帶著濕衛生紙, 等星巴克店員蓋完章, 就用力地給它擦掉,
       下次又是一尾活龍~ 乾巧+1

Constraints 約束條件 (PK.FK.UC)

NOT NULL 設定該欄立不可含Null 值
UNIQUE 設定一個或多個欄位組合,資料內容需唯一不可重覆
PRIMARY KEY 設定資料表格不可重覆、空白或為Null的主鍵值
FOREIGN KEY 設定該欄位值的存在必須關連並參照指定資料表格的欄位值
CHECK 設定需符合所列示的條件值

注意事項
所有的Constraints資料均會存放在系統資料表格(Data Dictionary)中。建立Constraint時若賦予有意義的名稱,會較易查核Constraint的資料。Constraint標準的命名方式,應加入物件名稱。若未定名,則Oracle會自動以SYS_Cn的唯一名稱為之命名。USER_CONSTRAINTS可查核所設定的 Constraintion資料。

設立Constraints
CREATE TABLE [schema.]table
(column datatype [DEFAULT expr]
[column_constraint],...
[table_constraint][,...]);
Schema:與資料表格擁有者相同的名稱。
Table:設定資料表格名稱。
DEFAULT expr:為欄位設定預設值。
Column:設定資料表格內的欄位名稱。
Datatype:設定欄位資料型態及長度。
Column_constraint:設定欄位層級的約束條件,以維護資料的完整性。
Table_constraint:設定資料表格層級的約束條件,以維護資料的完整性。
ex:
CREATE TABLE emp(
empno NUMBER(4),
ename VARCHAR2(10),...
deptno NUMBER(7,2) NOT NULL,
CONSTRAINT emp_empno_pk
PRIMARY KEY (EMPNO));

建立 Constraints 的層級
欄位層級的 constraint
column [CONSTRAINT constraint_name] constraint_type,
資料表格層級的 constraint
column,...[CONSTRAINT constraint_name] constraint_type(column, ...),
Column 單一欄位的參照設定,可定義任何型態的Constraint。
Table 一個或多個欄位的參照設定,可定義除了NOT NULL以外的,任何型態Constraint。

NOT NULL Constraint的用途
新增資料時,Oracle會對不給值的欄位,預設填入Null值。若確保該欄位值不可為Null值,需於該欄位設定NOT NULL的Constraint條件,當資料異動時,即可自動執行資料內容檢核的動作。
ex:
..deptno NUMBER(7,2)
CONSTRAINT emp_deptno_nn NOT NULL…..

使用 UNIQUE Constraint
為一個或組合性的欄位,設立UNIQUE Constraints可確保一個或組合性的欄位值的資料唯一。為一個欄立設立UNIQUE Constraint時,可接受Null值。
ex:
CREATE TABLE dept(
deptno NUMBER(2),
dname VARCHAR2(14),
loc VARCHAR2(13),
CONSTRAINT dept_dname_uk UNIQUE(dname));
設立UNIQUE Constraint時,Oracle 會隱含式自動為所設立的欄位,建置Unique Index的索引檔。

PRIMARY KEYConstraint
每一個資料表格,僅能擁有一個PRIMARY KEY的Constraints,建立主鍵值。PRIMARY KEY可以是一個欄位或組合式欄位,其欄位值必須唯一且不可含Null值。
ex:
CREATE TABLE dept(
deptno NUMBER(2),
dname VARCHAR2(14),
loc VARCHAR2(13),
CONSTRAINT dept_dname_uk UNIQUE (dname),
CONSTRAINT dept_deptno_pk PRIMARY KEY(deptno));
設立PRIMARY KEY Constraint時,Oracle 會隱含式自動為所設立的欄位,建置Unique Index的索引檔。

FOREIGN KEYConstraint
FOREIGN KEY是維護資料庫資料完整性的Constraint。以FOREIGN KEY偵測一個或組合式欄位,與自有的或其他資料表格的PRIMARY KEY或UNIQUE Constraint欄位建立資料關連。如主檔與明細檔(父子檔)間的關連。單一的 FOREIGN KEY欄位,可接受Null值。設有FOREIGN KEY Constraint條件的欄位值(子檔),必須參照並符合被參照檔(父檔),已存在的欄位值。
ex:
CONSTRAINT emp_deptno_fk FOREIGN KEY (deptno) REFERENCES dept (deptno));
FOREIGN KEY要設定前,應先確定所要參照的PRIMARY KEY 或 UNIQUE 已事先設置完成,可供參照。

FOREIGN KEY 的保留字
FOREIGN KEY定義於子檔中,且子檔含有可參照父檔的關連欄位。
FOREIGN KEY的設定,由下列保留字所組成:
FOREIGN KEY:於子檔設定可關連參照的欄位。
REFERENCES:用以指定所參照的資料表格名稱及欄位名稱。
ON DELETE CASCADE:設定當父檔的資料刪除時,子檔中相關連的明細資料,亦會一併被刪除。

若未設定ON DELETE CASCADE,在刪除父檔的資料時,若子檔仍有相關連的明細資料存在,會產生錯誤訊息。

CHECK Constraint
若以CHECK Constraint為欄位設定列示值條件,資料表格中的每一筆資料列,均需符合所列示的限制條件。一個欄位,可設定多個CHECK Constraint列示條件,衹要邏輯條件不衝突,CHECK Constraint 的個數不限。CHECK Constraint,可設立於資料表格或欄位層級。
ex:
CONSTRAINT emp_deptno_ck
CHECK (DEPTNO BETWEEN 10 AND 99),...
每一資料列的資料內容,均需滿足檢核條件
不可做為檢核條件的表述句:
參照 CURRVAL, NEXTVAL, LEVEL, 及 ROWNUM 等虛擬欄位名稱呼叫 SYSDATE, UID, USER, 及 USERENV 等函數使用
以其它資料列的資料內容做為檢核條件

新增Constraints
於資料表格建置完成後,可使用ALTER TABLE..ADD方式新增Constraint。
Table:設定資料表格名稱。
Constraint:Constraint的保留字及所指定的Constraint名稱。
Type:設定所要新增的Constraint 種類。
Column:設定Constraint運作的欄位名稱。
ALTER TABLE table
ADD [CONSTRAINT constraint] type (column);
Constraint可以新增、刪除、啟動或關閉,但不能更改其架構。
欲在已建置完成的資料表格,新增NOT NULL Constraint時,需於 ALTER TABLE 指令中,使用 MODIFY子句,否則無法設立。新增NOT NULL Constraint 時,若資料表格中已有資料,Constraint會進行檢核,若已存在有Null值,設立Constraint時會產生錯誤訊息。
ex:
ALTER TABLE emp
ADD CONSTRAINT emp_mgr_fk
FOREIGN KEY(mgr) REFERENCES emp(empno);

刪除Constraints
刪除Constraint前,可先查核系統資料表格中的USER_CONSTRAINTS及USER_CONS_COLUMNS資料內容。確定需求後,再進行刪除作業。
ALTER TABLE table
DROP PRIMARY KEY | UNIQUE (column) |
CONSTRAINT constraint [CASCADE];

DROP指令,若使用CASCADE子句,可將有參照關連的Constraint一併刪除。

關閉Constraints
對於不想刪除再重建的Constraint,可使用ALTER TABLE..DISABLE指令,暫時性關閉Constraint的檢核作用。
ALTER TABLE emp
DISABLE CONSTRAINT
emp_empno_pk CASCADE;
DISABLE子句,可使用於CREATE TABLE 及ALTER TABLE語法中。
CASCADE子句,可同時關閉有參照關連的Constraint作用。

啟動Constraints
對於被設定為DISABLE的Constraint,可使用ALTER TABLE…..ENABLE指令,重新啟動Constraint的檢核作用。
ALTER TABLE table
ENABLE CONSTRAINT constraint;
啟動Constraint作用時,會對資料表格中的所有資料列,檢核欄位值的合理性,故已存在的資料內容,需符合Constraint 的檢核條件。
啟動UNIQUE或PRIMARY KEY的Constraint 時,Oralce會自動為所設定的欄位,建置一個Unique Index索引檔。
ENABLE子句,可使用於CREATE TABLE 及ALTER TABLE語法中。

查核Constraints資訊
資料表格建置完成後,若以DESC指令查驗資料表格的檔案結構,針對Constraint,衹能查看是否有NOT NULL的Constraint記錄。若要查看資料表格上的所有Constraint設定,可查核USER_CONSTRAINTS系統資料表格檔。若 Constraint設立之初,使用者未設定Constraint名稱,所查看到的會是系統所配置的系統名稱。

SELECT constraint_name,constraint_type,search_condition
FROM user_constraints
WHERE table_name = 'EMP';

USER_CONSTRAINT的Constraint Type欄位值定義:
P:Primary key。
R:Foreign key。
U:Unique。
C:Check 或 Not Null。

查核USER_CONS_COLUMNS
USER_CONS_COLUMNS系統資料表格,可查核Constraint所對應的欄位名稱。尤其是查核系統自動配置的系統名稱(SYS_Cn)所對應的欄位,非常有效。常與USER_CONSTRAINTS的查核,搭配使用。

ex:
SELECT constraint_name,column_name
FROM user_cons_columns
WHERE table_name = 'EMP';

2011年11月3日 星期四

【2011/11/03】股票開市交易時間

2、交易時間
 
證券
期權
興櫃
整股
盤後
零股
盤中交易時間
9:00~13:30
14:00~14:30
13:40~14:30
8:45~13:45
9:00~15:00
預約單時間
13:35~次交易日8:30
14:35~次交易日14:00
14:35~次交易日13:40
13:50~次交易日8:30
15:05~次交易日9:00
3、因應主管機關規定,電子交易須使用CA憑證,請先申請證後再下單。
4、每筆交易最低手續費為20元。
5、本公司提供之報價資訊僅供參考,所有報價及交易資訊以各交易所之資料為準。


2011年10月24日 星期一

Windows XP 修改遠端桌面連線 port


1. 啟動「登錄編輯程式」。
2. 找出並按一下下列登錄子機碼:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber
3. 在 [編輯] 功能表上,按一下 [修改],再按一下 [十進位]。
4. 輸入新的連接埠編號,然後按一下 [確定]。
5. 結束「登錄編輯器」。

2011年10月20日 星期四

【2012/12/27 - 完成此目標】MCTS 認證第一步.就是它了!


70-561 中文重點翻譯 Microsoft .NET Framework 3.5, ADO.NET Application Development
網址:http://www.dotblogs.com.tw/regionbbs/archive/2009/02/15/70-561.aspx


中文重點翻譯:70-562: TS: Microsoft .NET Framework 3.5, ASP.NET Application Development
網址:http://www.dotblogs.com.tw/regionbbs/archive/2009/02/15/70-562.aspx


中文重點翻譯:70-536: TS: Microsoft .NET Framework, Application Development Foundation 介紹
網址:http://www.dotblogs.com.tw/regionbbs/archive/2008/10/09/5641.aspx




考試地址:台北市公園路30號3樓(TI19)
台北 Prometric TI19 GJUN Information Taipei Co Ltd 23826015 3RD Floor NO.30 Gungyuan Road Jungjeng Chiu


http://zh.wikipedia.org/wiki/%E5%BE%AE%E8%BB%9F%E8%AA%8D%E8%AD%89%E6%8A%80%E8%A1%93%E5%B0%88%E5%93%A1

【2012/12/27 - 完成此目標】

ADO.NET 3.5精研講座

新書到...kkkk書

2011年10月17日 星期一

UBound 函數


UBound 函數 程式語言參考
  | Version 1 

請參閱

說明
傳回指定陣列某維最大可使用的陣列索引。
語法
UBound(arrayname[dimension])UBound 函數語法有下列幾部份:

組成部分說明
arrayname必要的引數。陣列變數的名稱,遵循標準變數命名規格。
dimension選擇項。表示傳回的是那一維的上限。1 表示第一維,2 表示第二維,依此類推。如果省略 dimension,則預設是 1。
註解
UBound 函數和 LBound 函數一起使用可以決定陣列的大小。使用 LBound 函數來找出陣列每一維的下限。任何維數預設的下限永遠是 0。所以,若陣列的維數如下所示,UBound 傳回如下表的值:

Dim A(100,3,4)

陳述式傳回值
UBound(A, 1)99
UBound(A, 2)2
UBound(A, 3)3

2011年10月12日 星期三

ASP ADO CursorLocation 說明


在Connection物件中CursorLocation的部份
指的就是使用那裏的記錄指標
adUseClient:使用用戶端的記錄指標,因此Cursor就用Client端所管理
adUseServer:使用伺服器端的記錄指標,因此Cursor就用Server端所管理
而CursorLocation這個屬性只有在Connection關閉的狀況下才能變更,也就是說Connection開啟了就變成了「唯讀」
CursorLocation的預設值是....adUseServer
這樣的解釋看似很簡單,但背後所代表的涵意就差很大了
這差異一下子也難以解釋清楚,筆者借用了網路上某一篇文章
這篇文章不是筆者的文章,它是來自DBmaker網站:http://www.dbmaker.com.tw/reference/tools/ado-sgml/x164.html
文章如下



先討論 Recordset 物件的 CursorLocation 特性對其有何影響。 ADO 對游標的處理可以交由 DBMaker 處理(CursorLocation 特性值設為 adUseServer), 或是交由 ADO 的 Cursor Engine 處理(CursorLocation 特性值設為 adUseClient)。

ADO 2.0 的 Cursor Engine 開啟記錄集的方式是將符合記錄的所有資料, 從資料庫載入到它所在的前端電腦上(請參考"2.5游標與鎖的型態")。 換句話說對記錄集的處理,除非是將資料更新回資料庫, 否則大部份的功能都和後端資料庫系統無關,而由 Cursor Engine 自行處理掉。 既然所有的資料都在前端電腦,就如同 dBase 此類的桌上型資料檔的處理方式一樣, 可以移動游標、可以對記錄集作排序(Recordset 的 Sort 特性, 若有需要 ADO 還會為記錄集建立暫時的索引檔)、支援 Bookmark 特性、 批次更新(每筆更改的記錄暫不反應到後端資料庫內容, 直到執行批次更新(UpdateBatch方法)時,才全部反應回資料庫)等等。
不過使用 ADO 2.0 的 Cursor Engine 有兩點要注意: 第一是整個記錄集經過網路傳到前端電腦,這等待的時間能不能忍受; 第二是整個記錄集都是暫存於記憶體處理, 所以必需保證記錄集的大小不能超過前端電腦可用記憶體的大小(包含實體與虛擬記憶體)。 第一個問題可以用非同步的方法擷取資料,資料傳回的過程中, 讓程式去執行別的工作。 第二個問題其實是可以用前端電腦的檔案系統來暫存超出記憶體所能容納的資料, 不知道將來的版本會不會決解此問題。讀者若有與趣, 可以將 CursorLocation 特性設為 adUseClient, 然後用 Open 方法透過網路向後端資料庫執行查詢表格指令, 並透過網路傳回超過一、二百 M 位元組資料的記錄集。 讀者就會發現透過網路傳回一、二百 M 位元組的資料其實需要一段時間, 而且電腦可用記憶體的容量將逐漸減少直到被耗盡為止。

將 CursorLocation 特性設為 adUseServer, 表示游標的實作是交由 DBMaker 來完成。認識 ODBC 介面的朋友, 對於 ODBC 的 Extended Fetch 的函數應該不陌生, ADO 2.0 的 Server Cursor 就是利用 Extended Fetch 來操作 DBMaker 資料庫。
利用 ADO 存取 DBMaker 3.5,將 CursorLocation 特性設為 Server Cursor 時, 有一些限制請 DBMaker 的使用者注意:

  • MaxRecords、RecordCount、AbsolutePosition、AbsolutePage、PageSize、PageCount、 Bookmark、Sort等特性沒有作用;
  • 游標型態只支援動態型態(這也是為何上述的特性無法支援的原因);
  • 查詢指令含有ORDER BY子句所得到的記錄集只能讀無法更新;
  • 不支援批次更新作業;
  • 不支援非同步處理(但ADO提供多線串(thread)的能力來執行非同步的處理);
  • 不支援多重結果集(即一個執行的SQL指令,不論是查詢命令或是執行預存函數,傳回不只 一個結果集)

2011年10月10日 星期一

VM 版本介紹

a.ESX Server
b.VMWare Server
c.Workstation



e.VMware vSphere


VMware vSphere 4 有四個主要版本,分別為 Standard, Advanced, Enterprise 及 Enterprise Plus。VMware vSphere 4 的軟體授權提供 VMware ESX 或 VMware ESXi 虛擬化環境及其他進階功能。 


以下為 VMware vSphere 4 不同版本的功能對照表。客戶須同時購買 VMware vCenter Server 方可實施有 (*) 的高階功能。

Standard
Advanced
Enterprise
Enterprise Plus
VMware ESX / VMware ESXiYesYesYesYes
vCenter Server CompatibilityvCenter Server Foundation & StandardvCenter Server Foundation & StandardvCenter Server Foundation & StandardvCenter Server Foundation & Standard
Cores Per Processor612612
vSMP Support4-way4-way4-way8-way
Memory/Physical Server256 GB256 GB256 GBNo license limit (vSphere 4 supports up to 1 TB)
Thin ProvisioningYesYesYesYes
VC Agent *YesYesYesYes
Update Manager *YesYesYesYes
VMSafe *YesYesYesYes
vStorage APIs *YesYesYesYes
High Availability (HA) *YesYesYesYes
Data Recovery *YesYesYes
Hot AddYesYesYes
Fault Tolerance *YesYesYes
vShield Zones *YesYesYes
VMotion *YesYesYes
Storage VMotion *YesYes
DRS+DPM *YesYes
vNetwork Distributed Switch *Yes
Host Profiles *Yes
Third Party Multipathing *Yes
價格網上報價表格

VMware vCenter Server

配合 VMware vSphere 4,VMware vCenter Server 方便技術人員中央管理伺服器和虛擬機,及作為其他高階服務的操作介面。

ServiceTech 為 vCenter Server 開發了獨特的手機短訊提示方案。除預設的電子郵件外,vCenter Server 的警報可自動利用短訊通知管理人員。

VMware vCenter


VMware Fault Tolerance (FT)

VMware Fault Tolerance 是 VMware vSphere 4 新增的最強大功能之一。它能為虛擬機製造一個同步運行的次虛擬機,在伺服器故障的情況下,使應用程式可連續運作。VMware Fault Tolerance 可保護自行開發的應用程式,及傳統 Cluster 產品不能支援的程式。

VMware vSphere 4 小型企業版本

VMware vSphere 4 增設 Essentials 及 Essentials Plus 版本,以針對小型企業需求。軟件授權價格相對十分廉宜,提供多合一的解決方案,但有最多三台實體伺服器的限制。

Essentials
Essentials Plus
Centralized ManagementvCenter Server for EssentialsvCenter Server for Essentials
Memory/Physical Server256 GB256 GB
Cores Per Processor66
Processor Support3 servers with up to 2 processors each3 servers with up to 2 processors each
Product Features
Thin ProvisioningYesYes
Update ManagerYesYes
vStorage APIsYesYes
Data RecoveryYes
High Availability (HA)Yes
VMotionYes
價格網上報價表格

VMware vCenter Server 提供的可延展並具擴充彈性的平台,可做為 虛擬化管理的基礎。VMware vCenter Server (前身為 VMware VirtualCenter) 能夠集中管理 VMwarevSphere 環境,讓 IT 管理員能夠大幅提升控管虛擬環境的能力,性能遠勝於其他種類的管理平台。 
: N% i! _5 l5 k+ y0 n
VMware vCenter Server, b5 k. H" E- p
‧為虛擬基礎架構的所有層級提供集中控制及透視能力! L! j% [/ G$ ?! x. B
‧透過主動式管理釋放 vSphere 的潛能- E+ }- s% K( }. q8 n5 i
‧是擁有廣大合作夥伴商業網路、可延展並具擴充彈性的管理平台

集中控管並深入透視虛每個層級
7 V u; F& p' J
VMware vCenter Server 是管理 VMware vSphere 最簡單有效的方式,無論您今天是要管理十部虛擬機或是面對成千上萬的虛擬機,一切都盡在掌控之中。 它能讓您從單一主控台統合管理資料中心內所有的主機和虛擬機,集中監控叢集、主機和虛擬機的效能。 VMwarevCenter Server 能讓管理員深入透視叢集、主機、虛擬機、儲存裝置、Guest 作業系統及其他關鍵虛擬基礎架構元件的狀態和組態 – 只要透過單一主控台就能掌握一切。2 x) A  q- E  l, y1 e2 X, A
+ I$ X" e  `3 A; k( t3 y
透過 VMware vCenter Server,虛擬化環境管理起來更為簡便:一位管理員可以管理 100 個或更多的工作負載,與管理實體基礎架構相比,生產力比一般狀況提高兩倍以上。8 K F) T% H; v8 ]6 \' j; u5 o# ~
( _9 O: B2 Y6 r/ ~: P
     ; q. v* V! y* z$ n5 k9 h
VMware vSphere 的主動式管理
動態資料中心環境需要主動式的管理,而標準化及自動化的模式更能充分發揮 VMwarevSphere 的彈性。 運用簡化且標準化的工作流程將業務需求與 IT 流程相互結合,有助於減少錯誤所帶來的高額成本,也降低對於手動作業的依賴。
2 p# O4 u9 y, h. f* \4 s. K
VMware vCenter Server 讓管理員運用標準化範本快速佈建虛擬機和主機,同時利用 vSphere 主機組態確保合乎法規,並透過自動修正功能維護主機和虛擬機的修補層級。VMware vCenter Server 也讓管理員掌控多項重要功能,包括 VMware vMotion、 Distributed Resource Scheduler、 High Availability及 Fault Tolerance。 強大的協調作業引擎讓管理員得以建立並輕鬆實作最佳實務工作流程。

透過主動式管理,VMware vCenter Server 能夠動態佈建新服務、配置資源並自動實施高可用性功能,協助您達成商業需求同時改善服務層級。, W5 l$ M5 q1 J1 k6 p W6 H1 m5 K

可延展並具擴充彈性的管理平台* y# {7 Q5 |) Z. R3 w6 q

在資料中心內擴展虛擬化作業時,您所需要的管理平台不但必須具延展性以因應組織要求,同時也要能直接搭配您現有的架構使用。 VMware vCenter Server 提供有效管理大型企業的功能,您可以利用單一主控台管理 1,000 部以上的主機以及最多 10,000 部虛擬機。

此外,VMware vCenter Server 的開放式外掛程式架構可支援 VMware 及其合作夥伴提供的大量額外功能。 有 300 家以上的 VMware 合作夥伴直接與 vCenter Server 完成整合,您可以直接擴充平台以使用更先進的管理功能,例如容量管理、法規遵循管理、業務續航力以及儲存監控等領域。 vCenter Server API 也能讓客戶利用自己選擇的企業管理工具連線至 vCenter Server,整合實體和虛擬的管理工具。

VMware vCenter Server 平台是業界最強大的虛擬化管理解決方案, 所擁有的進階功能為您的虛擬環境提供了最佳的透明度、主動式管理以及延展性。 您可以用 vCenter Server做為基礎輕鬆擴充,與您的實體環境進行端對端整合,並以此為開端打造私有雲端基礎架構。

以下清單略舉 VMware vCenter Server 的幾項重要功能:" d) {9 }0 U, a! Q# Q% M4 x
0 x, j) ?( m( o7 j
針對虛擬基礎架構的集中化管理和深入透視力
‧改良過的使用者介面,導覽起來更為簡便。 您可以透過 vCenter 首頁的全新控制面板和導覽列,存取 vSphere Client 的各個部分。
‧監視清單搜尋功能可讓您在 vCenter 的任何位置輕鬆掌控完整的 vCenter 監視清單,包括虛擬機、主機、資料儲存區以及網路等項目。
‧透過 CIM SMASH 進行 硬體監控的新功能,可以在主要硬體元件 (例如風扇、主機板和電源供應器) 發生故障時發出警報,提供您整合的實體和虛擬伺服器運作狀況檢視能力。* E" O6 h! l( ?2 f! q- B
‧新的儲存對應和報告功能,可以傳達儲存裝置使用、連線與組態的狀態資訊。 可自訂的拓撲檢視能讓您深入透視儲存基礎架構,同時協助您診斷並排解儲存方面的問題。0 m0 ^- D6 M7 U2 L  @' u
‧改進的警示與通知功能,支援新的實體、指標和事件,例如資料儲存區與虛擬機專屬的警報。 這些警報可以觸發自動化的工作流程,來修正問題或預防問題發生。 
‧改進的效能圖表提供更詳細的統計資料和圖表,讓您能即時或針對某段特定期間,監控虛擬機、資源集區和伺服器利用率及可用性。

VMware vSphere 的主動式管理  S- i8 e% c5 R; m3 \6 {# b8 O
‧新的主機設定檔能夠標準化並簡化 ESX 主機組態的設定與管理。 只要擷取某個已知且經過驗證的組態的藍圖 (其中包含網路、儲存與安全性設定),再將其套用至眾多主機上以簡化設定作業。 主機設定檔原則也可以監控法規遵循的狀況。 6 {. `' P* r! N2 m/ ?8 H% D) K+ z/ j! l
‧完整支援 VMware Distributed Power Management 以 提升能源效率,可以持續監控 DRS 叢集中的利用率,同時可以在叢集需要資源較少時讓主機進入待命狀態,以減少能源使用。
‧新的 vCenter Orchestrator 是功能強大的協調作業引擎,能協助您簡化管理作業。您可以利用其中立即可用的工作流程,或是透過簡單的拖放介面組合這些工作流程,來自動化 800 件以上的工作。9 X4 B9 i: X, N4 z6 z" L- R; R  o
‧vCenter Update Manager 的法規遵循控制面板、基準群組、共用修補程式資料貯存器能夠 改進修補程式管理作業,自動掃瞄 vSphere 主機和虛擬機並套用修補程式。
New vCenter Server Heartbeat(分開銷售) 能夠延伸 vCenter Server 的可用性,能夠透過 LAN 或 WAN 將管理伺服器和資料庫容錯移轉至待命伺服器之上。 vCenter ServerHeartbeat 能深入感知所有 vCenter Server 元件,設定與部署也極為簡便。
‧整合的實體機至虛擬機 (P2V) 轉換功能可以管理多重實體機同時轉換、非 VMware 虛擬機格式,以及將實體機映像備份至執行中虛擬機等作業。) u) \ X0 j$ r% U
‧Guided Consolidation 是 vCenter Server 的新模組,能夠引導您逐步完成整合的流程,包括自動搜索至多 500 部伺服器、效能分析、轉換以及在正確的主機進行聰明配置。

可延展並具擴充彈性的管理平台
‧使用 vCenter Server 能夠 改善大規模管理作業,因為它的設計目標就是要處理最大型的 IT 環境。 vCenter Server 現在是 64 位元 Windows 應用程式,在延展性方面已有大幅改進。 一個 vCenter Server 4.1 執行個體,便可管理多達 1,000 部主機和 10,000 部虛擬機。如果搭配連結模式,您就能管理分佈於 10 個 vCenter Server 執行個體上多達 30,000 部的虛擬機。 VMware HA 與 DRS 叢集最多可支援 32 部主機和 3,000 部虛擬機。
‧連結模式的可延展架構與透明度能夠橫跨多個 vCenter Server 執行個體,而角色、權限和授權也會複製到整個基礎架構中,因此您可以同時登入、檢視並搜尋所有 vCenter Server的監視清單。
‧透過 Web 服務 API 整合系統管理產品,能夠保護您的投資並讓您自由選擇管理環境的方式。

分散式資源最佳化) F' J' j. M" ^) a- E$ @2 c
‧虛擬機的 資源管理。 為同一部實體伺服器上執行的虛擬機配置處理器和記憶體資源。 為 CPU、記憶體、磁碟和網路頻寬建立最小、最大以及按比例分配的資源共用。 當虛擬機正在執行時修改配置。 讓應用程式能夠動態取得更多資源,以符合尖峰效能。$ i2 E" U* e5 ?, x
‧資源的動態配置。   VMware DRS 能夠持續監控各個資源集區的利用率,同時根據能夠反映商務需求以及不斷變動之優先順序的預先定義規則,在虛擬機之間聰明配置可用資源。 這樣一來,便可以建立一個具有自我管理能力、高度最佳化,並內建負載平衡功能的高效率 IT 環境。) f  G' @7 y/ b- v( V+ U
‧高效率的能源資源最佳化。VMware Distributed Power Management (實驗性) 能持續監控 DRS 叢集中的資源需求和耗電量。 當叢集需要的資源較少時,它能整合工作負載,並讓主機進入待命狀態以減少能源使用。 當工作負載的資源需求增加時,DPM 便會將電力中斷的主機恢復為線上狀態,確保符合服務層級。( V$ L- C$ Z" \4 w! C
8 B9 ]  m. y8 q
高可用性5 H+ P/ M/ D7 P2 @8 Z( M
‧透過 VMware HA 自動重新啟動虛擬機。 提供容易使用且具成本效益的容錯移轉解決方案。
0 U1 q' A! _2 b
安全性" o  B/ Z* [; _9 [ a
‧精密的存取控制。  利用可設定的分層式群組定義和精密的權限來確保環境的安全性。! D4 j  D$ R6 U
‧與 Microsoft® Active Directory 整合。  以現有的 Microsoft®Active Directory 驗證機製做為存取控制的基礎。
‧自訂角色和權限。  以使用者定義的角色來提升安全性和彈性。 具有適當權限的 VMwarevCenter Server 使用者可以建立自訂角色,例如夜班操作人員或備份管理員等等。 只要為使用者指定這些自訂角色,即可限制虛擬機、資源集區和伺服器的完整監視清單存取權限。
‧稽核記錄。  維護一份記錄,記載重要的組態變更以及實施這些變更的系統管理員。 將報告匯出,以進行事件追蹤。
‧工作階段管理。  搜索 (必要時中止) VMware vCenter Server 使用者工作階段。  x( p  Z' X* C1 R
‧修補程式管理。使用 VMware vCenter Update Manager,自動針對線上的 VMware ESX 主機和選定的 Microsoft 及 Linux 虛擬機進行掃瞄及修補作業,以確實遵循修補標準的規定。 為離線虛擬機進行安全修補作業,以減少環境中的安全性弱點,並在修補作業和復原前進行自動化快照,縮短停機時間。 將 VMware vCenter Update Manager 及 VMware DRS 整合後,可以在零停機時間的前提下完成 VMware ESX 主機修補作業。

  J) w- I9 w- p2 |: b
( k5 A) T: I+ I# ?  U' c; c