2012年4月25日 星期三

如何刪除IBM DB2 ODBC DRIVER裡設定的別名?

        滿奇怪的設計,竟然不能直接刪,得下指令呢!

1.開啟DB2的指令視窗

2.輸入 db2

3.再輸入 UNCATALOG DATABASE TESTDB


連結伺服器"linked server"的OLE DB 提供者"IBMDADB2.DB2COPY1" 報告了錯誤。拒絕存取。

        當我建立好DB2的連結伺服器後,我試著使用SELECT語法去查詢連結伺服器的資料,結果出現如下錯誤

        訊息7399,層級16,狀態1,行1
        連結伺服器"linked server"的OLE DB 提供者"IBMDADB2.DB2COPY1" 報告了錯誤。拒絕存取。
        訊息7350,層級16,狀態2,行1
        無法從連結伺服器"DB2TEST" 的OLE DB 提供者"IBMDADB2.DB2COPY1" 取得資料行資訊。

2012年4月23日 星期一

使用IBM DB2 ODBC DRIVER,來建立DB2的連結伺服器

        如果想利用SQL Server來連結DB2,強烈不建議使用Microsoft OLE DB Provider for DB2喔!

        因為光是搞HostCCSID與PC code page這兩個編碼屬性我就快瘋了,弄了兩天我還是搞不定,不是中文顯示問號,就是變亂碼,再不然就是出錯,從1.0試到3.0,中英文版都試了也一樣

         後來使用Microsoft OLE DB Provider for DB2的資料存取工具去試試看到底支援哪些編碼,明明有950的啊,但偏偏設了就會出錯

錯誤一
         無法連接至資料來源 'DB2TEST':
        發生內部網路程式庫錯誤。要求命令包含了目標系統無法辨識,或不支援的參數值。         SQLSTATE: HY000, SQLCODE: -385
錯誤二
        無法連接至資料來源 'DB2TEST':
        處理命令時,發生一或多個錯誤。

        就在我要放棄的時候,我改用IBM DB2 ODBC DRIVER看看,結果上面那兩個屬性我根本不用設就OK了,中文顯示都很正常喔,真是白白浪費我兩天時間啊

2012年4月19日 星期四

[T-SQL]分組排名(SUBSQERY、CTE及用TOP))


        如何從銷售訂單資訊[SalesOrderHeader]資料表中,找出每個顧客[CustomerID]其應付總額[TotalDue]前三高的訂單[SalesOrderID],並顯示名次?呈現結果如下

        注意應付總額一樣的也要列喔

2012年4月14日 星期六

[DIY]RJ45轉RJ11

        最近很忙,都在維護公司客服的系統,連類比電話線都要自己DIY,我不是DBA嗎!怎麼愈來愈不像啦

        兩端都是RJ45網路線頭的,怎麼弄成一端是RJ45,另一端卻轉成四線的RJ11電話線頭呢?這用到的機會很少,現在交換機到IVR還在用類比內線的情況應該不多吧