因為公司一台測試環境電腦的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 調整了好久,才能有正常的虹吸現象, 原因就是虹吸的進水口水平難以調整, 後來去上了魚...