星期一, 9月 11, 2017

Backup and Sync from Google 無法啟動

Google 最近將 Google Drive 的電腦版改成了 Backup and Sync from Google,結果新電腦安裝後啟動就遇到問題了,明明檔案存在,但是卻讀不到的錯誤,


只好 Google 一下,Visual C++ Redistributable for Visual Studio 沒有安裝,於是我安裝了
for Visual Studio 2008 一樣不能啟動
for Visual Studio 2012 還是不能啟動
最後安裝到  for Visual Studio 2015 ,就可以正常啟動了

https://www.microsoft.com/en-us/download/details.aspx?id=48145


星期四, 7月 13, 2017

VB6.0 專案開啟出現"無法載入mscomctl.ocx"

安裝好新的開發環境後,開啟 VB6 的專案竟然出現"無法載入 mscomctl.ocx" 的錯誤,
奇怪,我連 SP6 都已經安裝了呀,怎麼會有這種錯誤呢?

後來找到了一個 SP6 的安全彙總更新 ( 什麼鬼啦,都到SP6了還有安全問題唷 )


安裝之後就可以順利開啟專案了


參考:http://heryla.tian.yam.com/posts/56195148 

星期二, 6月 27, 2017

SQL Trigger 來紀錄哪些欄位被修改了


SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER TRIGGER [dbo].[TR_TestTable_Modify] on [dbo].[TestTable]

   AFTER UPDATE

AS

BEGIN

  DECLARE @DBTableID int;

  DECLARE @Columnid int;

  DECLARE @ColumnCount int;

  DECLARE @i int;

  DECLARE @ColumnName varchar(20);

  DECLARE @SQL varchar(4000);

  DECLARE @LogTime datetime;

  DECLARE @program nvarchar(200)





  SELECT @DBTableID=id from sysobjects where name='TestTable'

  SELECT @ColumnCount=MAX(column_id) FROM sys.columns WHERE [object_id]=@DBTableID

  SELECT @program=program_name from sys.dm_exec_sessions where session_id=@@SPID



  select * into #inserted from inserted;

  select * into #deleted from deleted;



  SET @i = 0

  SET @LogTime=GETDATE()



  WHILE @i < @ColumnCount

  BEGIN

   SET @i = @i+1



   SELECT @ColumnName=name FROM sys.columns WHERE [object_id]=@DBTableID AND column_id=@i

   SET @SQL = 'INSERT INTO LogTable SELECT a.invno,''‘TestTable'',''' + @ColumnName + ''',a.' + @ColumnName + ',b.'+ @ColumnName + ',''' + convert(varchar(30), @LogTime,121) + ''',''' + @program + ''' FROM #deleted a,#inserted b WHERE a.PK=b.PK AND a.' + @ColumnName + ' <> b.' + @ColumnName

   EXEC (@SQL)

  END



  drop table #inserted;

  drop table #deleted;



END

GO

C# DateTime 相減

每次用到都要去 Google,這次決定把他記下來

當兩個 DateTime 要相加減時就需要用到 TimeSpan

DateTime begDate = DateTime.Now;
TimeSpan ts = DateTime.Now - begDate;
string diff = ts.Minutes.ToString() + "分" + ts.Second.ToString() + "秒";

星期一, 6月 05, 2017

Transaction Log 備份失敗 - 因為沒有目前的資料庫備份

昨天突然 Transaction Log 備份出現了錯誤:因為沒有目前的資料庫備份。 BACKUP LOG 正在異常結束。

只好求助 Google 了,才知道原來是當時的資料庫的復原模式重簡單改成完整之後都沒有進行過完整備份或差異備份,所以 Transaction Log 沒有一個紀錄點,才會有這個錯誤發生。



Reference: https://dotblogs.com.tw/terrychuang/2013/08/28/115722

星期三, 5月 17, 2017

刪除重複的資料

在各分公司資料同步的過程,為了避免資料出問題,都沒有設定 PK,偶而就會造成資料重複傳送的問題,偶而就會需要刪除重複
SELECT DISTINCT * FROM [TableName]
通常我會很搞剛的先放到另一個 Table 去,然後清空資料再到回來

SELECT DISTINCT * INTO [Temp_TableName] FROM [TableName]
DELETE FROM [TableName]
INSERT INTO [TableName] SELECT * FROM [Temp_TableName]
DROP TABLE [Temp_TableName]

就這樣完成!!

星期四, 5月 11, 2017

不登入也能關機,遠端重開機

今天遇到要連到使用者的電腦時候,怎麼連線都是登入後就斷線,只好想辦法重開機看看,可是不能登入怎麼重開機呢?

在 Google 搜尋了一下發現還真的有

先打開命令提示字元,

然後輸入 net use \\PCName /user:loginaccount

接著輸入密碼,就可以登入成功了。

接著就是使用 shutdown 來進行重開機了,

shutdown -m \\\\PCName -f -r -t 10

還真的就成功了。

星期一, 5月 08, 2017

SQL Agent Job Failed: This error occurs when there is a cryptographic error.

從 DTS 轉移到 SSIS 的排程在執行時發生錯誤,錯誤畫面如下,看起來就像是沒有權限去解密執行,

Description: Failed to decrypt protected XML node "PassWord" with error 0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available.  End Error  Error: 2017-05-08 02:00:00.91     Code: 0xC0016016     Source:       Description: Failed to decrypt protected XML node "PassWord" with error 0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available.  End Error  Error: 2017-05-08 02:00:00.91     Code: 0xC0016016     Source:       Description: Failed to decrypt protected XML node "DTS:Password" with error 0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available.  End Error  Error: 2017-05-08 02:00:01.25     Code: 0xC002F304     


後來應該是我有編輯過,RUN AS 要改成我用來編輯的帳號來執行,因為預設會用該帳號去加密,所以這邊只要設定 Credentials 裡面先建立帳號,再到 SQL Server Agent 設定 Proxy


接著在 Run as 就可以選擇該帳號,執行就可以成功了。


Convert DTS from SQL Server 2000 to SQL Server 2008 R2 SSIS

當 SQL Server 從 2000 升級之後,就沒有 DTS 可以使用了,這時候只能將 DTS 轉成 SSIS,
需要安裝 Microsoft SQL Server 2000 DTS Designer Components 跟 Microsoft SQL Server 2005 Backward Compatibility Components 64 bit 就可以使用 DTS 封裝移轉精靈。

在 SQL Server 2008 Management Studio 展開 Management -> Legacy -> Data Transformation Service,按右鍵選擇 Migration Wizard

接下來就是選擇來源,這邊我選擇舊的 SQL Server 2000
 匯入到新的 SQL Server 2008
 選擇要轉換匯入成 SSIS 的 DTS
 找個地方來放 Log 的
 最後確認,沒問題點選 Finish 後開始轉換
接下來連到 Integration Service 就可以看到匯入的 SSIS 了


星期三, 4月 26, 2017

X220 升級 USB 3.0, 換鍵盤, 藍芽 4.0

X220 真的是一台好機器,可惜年代久遠,當時只有 i7 的機器有支援一個 USB 3.0,我手上這台 i5 就只能靠擴充卡去達到這目的

當然,當年也還沒有藍芽 4.0,可是現在的藍芽滑鼠都是 4.0 的,沒有向下支援,所以也要換掉。

 既然都要拆開了,就順便把鍵盤也換掉吧!
要換鍵盤跟開 C 蓋就只要卸除七個螺絲
藍芽的位置就在這裡,鬆開螺絲換上 4.0 的就可了。
Windows 10 開機就抓到了,什麼都不用安裝就可以使用,
換上新鍵盤,整個就乾淨多了。

星期四, 4月 13, 2017

SQLite Administrator

SQLite 是一個免費又好用的檔案型資料庫,第一次認識他是在上 Android 開發的課程,現在要開發 Windows Mobile 6.5 上面的程式時,就想到使用 SQLite 來當作資料庫紀錄,避免無線網路連線問題時,有資料的遺失。

既然是資料庫,就需要有一個管理介面了,網路上找到蠻好用的 SQLite Administrator 軟體

官網:http://sqliteadmin.orbmu2k.de/
下載:http://download.orbmu2k.de/download.php?id=19

整個介面就很簡單,而且還有正體中文可以選擇,建立好資料庫之後,新增 Table 也可以發現有很多欄位的設定可以使用,建立好 Table 後就可以放到 Mobile Device 中給程式使用了。


星期二, 4月 11, 2017

遠端桌面也可以多螢幕了

一直覺得遠端桌面只能用一個螢幕在工作上很不方便,突然發現 Windows 10 的遠端桌面在顯示有多一個選項可以選擇,"遠端工作階段使用我的所有監視器",看起來就像是可以遠端桌面使用多螢幕的意思,立馬就測試一下,真的是可以操作遠端桌面使用多螢幕。

灑花!!!以後從家裡連去公司就可以使用多螢幕了。



星期一, 4月 10, 2017

Windows Mobile Device Center(WMDC) 安裝至 Windows Server 2008

在 Windows Server 2008 安裝 Windows Mobile Device Center 的時候跳出錯誤,




無法安裝更新,至少缺少一個以上的 Windows 元件所需的 Windows Mobile 裝置中心

就這樣,停止安裝了,也不告訴我缺什麼東西,還好 Google 很厲害,馬上就找到了


  1. 按一下 [開始],指向 [系統管理工具],然後按一下 [伺服器管理員
  2. 在主控台樹狀目錄中,請按一下 [功能],然後按一下 [新增功能
  3. 在詳細資料] 窗格中,按一下以選取 [桌面體驗] 核取方塊。
  4. 按一下 [下一步],再安裝
  5. 重開機
接下來就可以安裝 Windows Mobile Device Center 。

參考:https://support.microsoft.com/zh-tw/help/950169/windows-mobile-device-center-requires-the-desktop-experience-on-windows-2008

星期一, 3月 27, 2017

.NET FTP library

發現一個還蠻好用的 FTP Library

在 Ftp.dll 很多常用的功能都已經寫好,

尤其是一些遠端的上傳下載整個資料夾的上傳跟下載,

SSL 的部份,還有取得 FTP File or Folder List 的部份,

還可以透過 Hash 來驗證上傳與下載的檔案是否完整,

免費的就很好用了,唯一缺點是上傳的時候有可能 filename 會被 Rename,

所以我上傳就用自己寫的,其他使用到的功能就用他提供的來進行。

下載 Ftp.dll

官網:https://www.limilabs.com/ftp/download

星期一, 3月 13, 2017

Windows Server 2008 單一帳號多重登入的方法

要設定這種系統相關的,當然就是要叫出 Local Group Policy Editor


接著就是找出設定了,路徑如下

Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Connections



找出 Restrict Remote Desktop Service users to a single Remote Desktop Services session 設置為停用就行了



星期三, 3月 08, 2017

VS 2017 offline installer

Visual Studio 2017

想說要來下載最新的 Visual Studio 2017 Community 版本,等有空的時候來安裝看看,

沒想到在官網下載後只能線上安裝,這也太不人性了吧
https://www.visualstudio.com/zh-hant/downloads/

馬上就找到另一個說明如何下載成 offline installer 方式
https://docs.microsoft.com/en-us/visualstudio/install/create-an-offline-installation-of-visual-studio

要從命令提示字元來進行 vs_community.exe --layout D:\vs2017offline

沒想到竟然是一個一個檔案的下載,沒有 ISO 檔可以下載,這樣真的會被抱怨呀。







新增:我也不知道下載了多久,下載完成後,檔案將近 15G,網路不夠快就要等很久很久。


星期二, 2月 14, 2017

Window Mobile 6 Hello

開始 VS2008 之後建立新專案,選擇智慧型裝置專案,我是選擇 C# 底下的,VB 跟 C++ 也是有一樣的範本
選擇對應的目標平台
選擇.Net Compact Framework 版本,範本我選擇裝置應用程式
接下來我們的 Form1 就跑出來囉
拉了一個 Label 到畫面中
點選開始偵錯後會跳出部署位置,這邊都是模擬器
等模擬器啟動後,程式部署完成

參考:https://dotblogs.com.tw/corner/2008/12/18/6437

星期三, 1月 25, 2017

Remote Desktop Connection Manager 2.7

之前 Windows 7 所使用的內建遠端桌面工具在升級成 Windows 10 之後就不能使用了,只好在找找看有新的遠端桌面管理工具,

立刻就找到 Remote Desktop Connection Manager 2.7 這個工具,

下載點:Remote Desktop Connection Manager 2.7

對一個每天都在到處連線的我來說,這工具真的太重要了。






星期一, 1月 23, 2017

VMware Player: Error while powering on:Internal error

在關掉 VMWare 重開之後竟然出現無法開啟 Guest OS 的問題,


趕緊就上 Google 求救,找到第一個解決方法,對我來說失敗

http://my01info.blogspot.tw/2014/05/vmware-player-error-while-powering.html

接著繼續找,

https://www.youtube.com/watch?v=Jb62ISAODaA

檢查一下服務中的 VMware Authorization Service 是否有啟動,我這邊是沒有啟動的,所以我啟動此服務

在重新開啟 VMware Player 執行該 Guest OS 就可以正常啟動了。