因為公司一台測試環境電腦的DB突然掛了,
需要將另一個DB快速轉移過來,
怕自己以後忘記,先記錄下來步驟。
將要轉移的DB 複製到本機的資料夾中,
總共有2個檔案
1. xxx.mdf
2. xxx_log.ldf (可有可無)
檔案位置可能路徑如下,
C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA
開啟 SQL Server Management Studio 程式
使用預設最高權限登入資料庫
點選 [資料庫] -> 右鍵 (附加)
選擇要附加的資料庫檔名
如果選擇的 DB 沒有 xxx_log.ldf 檔案,會出現找不到檔案的警告,只要移除就可以了
接下來點選 [資料庫] - [新加入的DB名稱] - [安全性] - [使用者]
不能選到主要的 [安全性] ,刪錯就完了
如果裡面有指定 User Name ,必須移除,因為該 User ID 已不能使用,
再重新建立 User (視需求而定,是否要同名稱,或是新的 User 都可以)
這裡要選的是根目錄那層的安全性,不是資料庫裡的
然後根據需求,輸入帳號密碼,還有驗證方式
最後選擇預設資料庫,指到剛才加入的 DB Name
在左邊的選取頁面中,點選 [伺服器角色],勾選 Public (依實際需求)
左邊的選取頁面中,點選 [使用者對應] ,勾選要對應的 DB Name 和角色成員
加入後就可以在原來的
[資料庫] - [新加入的DB名稱] - [安全性] - [使用者]
找到新加入的 User Name 了
最後使用新建立的 UserID / Password 連線資料庫看看,是不是 Table 都可以看到了。
如果資料庫不想用需要缷離,只要點選該資料庫,右鍵 [工作]->[缷離] 就可以了
2019年11月25日 星期一
2019年5月14日 星期二
在64位元環境下動態載入DLL
繼2011年發佈一篇文章
將非 COM 元件的外部 DLL ,包入 .NET 開發的執行檔中
直到現在又遇到問題了,趕緊寫下來記錄
本來專案都 Complier 成 x86,所以在64位元系統下仍然以 32位元在RUN,
但最近公司要求換成 AnyCPU,這下子就出問題了,
''原來的寫法,在64位元系統會取到 IntPtr 值為 0 的問題 Friend Declare Function GetProcAddress Lib "kernel32" (ByVal ModuleHandle As Integer, ByVal ProcName As String) As Integer ''改成 IntPtr ,執行到 GetProcAddress 會有數學運算溢位的錯誤 Friend Declare Function GetProcAddress Lib "kernel32" (ByVal ModuleHandle As Integer, ByVal ProcName As String) As IntPtr
後來在
https://www.daniweb.com/programming/software-development/threads/207639/getprocaddress-and-function-pointers
的文章發現一個寫法,
Private Declare Function GetProcAddress Lib "kernel32" (ByVal ModuleHandle As IntPtr, <[In](), MarshalAs(UnmanagedType.LPStr)> ByVal lpProcName As String) As IntPtr
我一直以為在 64位元 GetProcAddress 回傳的值要改成 IntPtr,漏了傳入參數也要跟著換,
最後換成以下寫法就可以,
Friend Declare Function GetProcAddress Lib "kernel32" (ByVal ModuleHandle As IntPtr, ByVal ProcName As String) As IntPtr
換完後,好奇的我再試一下 x86 是否可以通用,
結果是可以的,再查了一下 IntPtr ,才發現這個元件根據 OS 的位元數,所回傳的值也會不同,
也就是從頭到尾只要統一用 IntPtr 就可以了,嗯~又學到一課了!
2019年1月24日 星期四
挑戰 9x9乘法表 練習小程式 (小學數學 加法,減法,乘法 練習)
為了小朋友的9x9乘法表練習,寫了一個挑戰9x9乘法表的小程式,
主要目的是訓練小朋友熟悉9x9乘法表,
可以選擇時間長度,最少1分鐘
再來是要做的題目數多少?
當點撃[開始挑戰] 按鈕時,會進入另一個答題畫面,
只要在答案欄中輸入答案,直接按下 Enter 就可以繼續下一題,
結束後會有統計資料,若是答題錯誤,在右邊的記錄欄可以清楚看到紅色標記
當時間有限,有時又要思考比較久,小朋友可以直接按下 Enter 讓答案空白,
在事後統計時,可以針對答錯的部份再多加練習。
程式中也加了一些音效,增加趣味性,希望小朋友願意多練習!
執行檔下載 (7z 檔案, 173 kB)
程式碼下載 (VB.Net 2015)
2019/10/28 更新
在程式主畫面中,點選題目範圍的綠色框內容,會跳出設定畫面
預設 加減法最大到99,乘法最大數到10
設定題目最大的數目,若勾選加入測驗,
則出題會包含所選的算式,
如果回答錯誤,右邊記錄欄會順便把正確解答放在後面
V1.0.1.1 執行檔下載 (7z 檔案, 181 kB)
V1.0.1.1 程式碼下載 (VB.Net 2015) (7z 檔案, 162 kB)
檔案壓縮為 7Z 若無法解壓縮請到官網自行下載軟體安裝(免費). https://www.developershome.com/7-zip/
主要目的是訓練小朋友熟悉9x9乘法表,
可以選擇時間長度,最少1分鐘
再來是要做的題目數多少?
當點撃[開始挑戰] 按鈕時,會進入另一個答題畫面,
只要在答案欄中輸入答案,直接按下 Enter 就可以繼續下一題,
結束後會有統計資料,若是答題錯誤,在右邊的記錄欄可以清楚看到紅色標記
當時間有限,有時又要思考比較久,小朋友可以直接按下 Enter 讓答案空白,
在事後統計時,可以針對答錯的部份再多加練習。
程式中也加了一些音效,增加趣味性,希望小朋友願意多練習!
執行檔下載 (7z 檔案, 173 kB)
程式碼下載 (VB.Net 2015)
2019/10/28 更新
1. 新增加法,減法的練習
2. 新增測驗範圍設定畫面
在程式主畫面中,點選題目範圍的綠色框內容,會跳出設定畫面
預設 加減法最大到99,乘法最大數到10
設定題目最大的數目,若勾選加入測驗,
則出題會包含所選的算式,
如果回答錯誤,右邊記錄欄會順便把正確解答放在後面
V1.0.1.1 執行檔下載 (7z 檔案, 181 kB)
V1.0.1.1 程式碼下載 (VB.Net 2015) (7z 檔案, 162 kB)
檔案壓縮為 7Z 若無法解壓縮請到官網自行下載軟體安裝(免費). https://www.developershome.com/7-zip/
訂閱:
文章 (Atom)
熱門文章
-
今天一位朋友在問我,他的電腦無法開機, 電源一開都沒畫面....怎麼辦? 通常螢幕沒有畫面的問題很多種, 第一考慮的是螢幕有沒有壞掉? 怎麼判斷呢? 1.檢查螢幕 先開螢幕的總電源,看是不是有亮電源燈? 若有表示電源輸入沒問題,再來就按螢幕的功能鍵, 看會不會跳出螢幕設定視窗...
-
前陣子玩了一些水耕的設備, 因為要天天記錄溫度、EC(電導度)、PH(酸鹼度), 顯得有點麻煩,所以打算自己 DIY 一些設備來玩玩。 首先考慮到程式開發的速度,選擇使用 Arduino 的板子來 DIY 我所購買的板子是 Arduino Leonardo, 另外購買 ...
-
魚菜共生的作法有很多種, 我所採用的是介質床加上 Bell Siphon(鐘虹吸) 產生潮汐現象, 網路上查詢的結果是這樣成功率比較高。 但是先前 DIY 的 Bell Siphon 調整了好久,才能有正常的虹吸現象, 原因就是虹吸的進水口水平難以調整, 後來去上了魚...