統一編號演算示例

image

文字說明:
(一) 長度:共八位數,全部為數字。
(二) 計算公式
1、各數字分別乘以 1, 2, 1, 2, 1, 2, 4, 1
2、公式如下:
D1 D2 D3 D4 D5 D6 D7 D8
* 1    2    1    2    1    2    4    1 (第一列 * 第二列)

A1 B1 A2 B2 A3 B3 B4 A4  (Bx:相乘後的十位數)
+    C1       C2       C3 C4        (Cx:相乘後的個位數)

X1 X2 X3 X4 X5 X6 X7 X8 (Xx:相加後的十位數)
                                    Y7       (Yx:相加後的個位數)
Z1= X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8  或
Z1= X1 + X2 + X3 + X4 + X5 + X6 + Y7 + X8

3、當第 7 位數為 7 者,可取相加之倒數第二位取 0 及 1 來計算如 Z1 及 Z2 計算其和。
4、假如 Z1 或 Z2 能被 10 整除,則表示營利事業統一編號正確。

(三) 範例 ( 以 0 0 2 3 8 7 7 8 為例 )
0 0 2 3 8 7 7 8
*
1 2 1 2 1 2 4 1 (第一列 * 第二列)

0 0 2 6 8 1 2 8 (Bx:相乘後的十位數)
+             4 8   (Cx:相乘後的個位數)

0 0 2 6 8 5 1 8 (Xx:相加後的十位數)
                  0    (Yx:相加後的個位數)
Z1= 0+ 0+ 2+ 6+ 8+ 5+ 1+ 8 = 30 或
Z2= 0+ 0+ 2+ 6+ 8+ 5+ 0+ 8 = 29
因 30 能被 10 整除,故營利事利統一編號正確。

OpenDataSource 使用技巧及延伸

之前,曾經寫下 OpenDataSource 的用法;這方法一般來說,是夠使用了。
http://pertonchang.blogspot.com/search?q=OpenDataSource+

不過,當你使用的特殊字元來當密碼的一部份內容時,可能就會有問題。
==> 會抓不到資料.

再看下 OpenDataSource 的語法
SELECT   *
FROM OPENDATASOURCE(
     'SQLOLEDB',
     'Data Source=ServerName;User ID=MyUID;Password=MyPass'
          ).Northwind.dbo.Categories

記得用雙引號(")將特殊字元括住
SELECT   *
FROM OPENDATASOURCE(
     'SQLOLEDB',
     'Data Source=ServerName;User ID=MyUID;Password= "MyPass"'
          ).Northwind.dbo.Categories

另外,再介紹一個 Linked Server 的用法
如果你的環境有在 SQL Server ,Security / Linked Servers 中設定,例如:LOCAL
image
image
image

跨資料庫抓資料的語法,就變成了

SELECT   *
FROM LOCAL
.Northwind.dbo.Categories

指標的迷失問題?

函式指標     Pointer to Function
( * f ) ()        指向函式位址的指標

指標函式     Pointer Function
* f ()           傳回指標值的函式
* ( f () )

陣列指標     Pointer to Array
( * f ) []         指向陣列位址的指標

指標陣列     Pointer Array
* f []            存放指標元素的陣列

FTP 問題的排解可能

在使用 FTP 功能的過程中,可能會遇到無法正常運作的情形,
這時,可參考下列使用建議:

1. FTP 使用 (21)
2. Active mode , Passive mode

3. 用FTPS... (990 & 989)
4. 為 User 開一個SSL VPN帳號來連FTP用.... (443)
5. 透過網路硬碟 (Skydrive, Dropbox.....) (80 & 443)
6. 在命令模式下執行,傳檔時要設定傳送的檔案格式,才不會造成收到的檔案異常

觸發 (Trigger) 的設定及解除

對於 觸發 (Trigger) 的設定及解除,方式如下:

1. 設定
    直接在 Query Analyzer 中,執行已設計好的 觸發程式。
    如此,就可以讓該觸發程式依附在特定的資料表上。

2. Trigger 解除
    一般來說,可以指令來解除
    alter table iear01h disable trigger all

若是,要移除 Trigger 的資料表,有做同步的設定,上述指令會得到錯誤訊息:
Cannot alter the table 'iear01h' because it is being published for replication.

這時,只能先以 Table Design 的方式,先備份該 Trigger 程式,再將該 Trigger 刪除之。

刪除檔案或目錄的迷思?

對於一個多層次結構的目錄,其下擁有為數眾多的檔案及子目錄。
若是要刪除檔案,或是要刪除檔案也要刪除包含檔案的目錄,該如何下指令?

用 Del、Erase 或是要用 Rd ??

使用 下列指令,只會刪除各個目錄中的檔案,目錄是不會被刪除了。
Del  /F /S /Q *.* (or Path)
Erase /F /S /Q *.* (or Path)

但是,使用 下列指令,將會刪除各個目錄中的檔案,目錄也是會被刪除。
Rd /S /Q  Path

快速查詢到資料表的索引設定

想要快速查詢到資料表的索引設定,可以用什麼指令?

sp_helpindex iech43h

iech43h_1      clustered, unique located on PRIMARY    ch_ym, ch_ym1, el_no, su_no, od_id, ch_rate
iech43h_2      nonclustered located on PRIMARY          ch_ym, ch_ym1, el_no
iech43h_3      nonclustered located on PRIMARY          ch_yy
pk_iech43h    nonclustered, unique, primary key located on PRIMARY    uid