カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

SQLServerで完全バックアップから別のデータベースに復元

SQL Server Management Studioでデータベースのバックアップから別のデータベースにデータを復元する方法

1.「データベース」を右クリックして、「新しいデータベース」を作成。

2.作成したデータベースを右クリックして[タスク]-[復元]をクリック。

3.復元用のソースを「デバイスから」とし、完全バックアップのファイルを指定。

4.[オプション]タブで「既存のデータベースを上書きする」にチェック。

5.[オプション]タブの「次のデータベースファイルに復元」で指定されているパスを新しく作成したデータベースのファイルに変更する。
そうしないと、元のデータベースとは復元先が違うのでエラーが発生します。

参考URL:
https://siguniang.wordpress.com/2010/04/25/sqlserver%E5%AE%8C%E5%85%A8%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E3%82%92%E5%88%A5%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AB%E5%BE%A9%E5%85%83%E3%81%99%E3%82%8B/

18,188 views

文字列の長さを求める Len/LenB

VBAで文字列の長さを求める際は少し注意が必要です。
通常のLen関数を使用した場合、半角・全角に関わらず全ての文字を一文字として計算します。
かといって、LenB関数を使用しても、全ての文字を2バイトとして計算するため、答えは倍になるだけです。

他のプログラム、例えばPHPならstrlen関数になりますが、こちらでは半角は1バイト、全角なら2バイトとなります。
こちらと同じようにVBAでも計算したい場合はどうすれば良いのでしょうか?
答えは以下のようになります。

'長さを求めたい文字列
HenkanStr = "LenB関数"
MsgBox LenB(StrConv(HenkanStr, vbFromUnicode))

出力結果は「8」となります。

StrConvについては以下をご覧ください。
https://k-sugi.sakura.ne.jp/it_synthesis/windows/vb/81/

4,907 views

データ競合のエラーを無視する

ACCESSで発生したデータ競合のエラーを無視するにはエラーイベントに
以下のような記述をします。

Private Sub Form_Error(DataErr As Integer, Response As Integer)

    If DataErr = 7787 Then
         Response = acDataErrContinue
    End If

End Sub

「7787」はデータ競合エラーのエラー番号

定数「acDataErrContinue」の値は「0」です。

これで競合エラーを無視した場合は、[他のユーザーによる変更を反映]を
選択したのと同じ扱いになります。

5,770 views

コンピュータの再起動とシャットダウン

コンピュータの再起動とシャットダウンする方法をご紹介します。

コンピュータの再起動

int flag = 0;
flag = ShutdownLibWrap.Reboot;
flag |= ShutdownLibWrap.ForceIfHung;
ShutdownLibWrap.DoExitWindows(flag);

シャットダウンのキャンセル

何か処理を実行しているときに、Windows Update等で勝手にシャットダウンされないようにしたいときに便利です。

フォームのLoadイベントに以下を記述します。

// アプリケーションが閉じられる時のイベントを追加
SystemEvents.SessionEnding += new SessionEndingEventHandler(SystemEvents_SessionEnding);

シャットダウンを検知したらキャンセルします。

private void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
{
    e.Cancel = true;
}
3,823 views

OS起動時にアプリケーションを自動的に実行する

OS起動時にアプリケーションを自動的に実行するには、通常ならスタートアップに登録しますが、
アプリケーションから登録したい場合は、レジストリキーに登録する必要があります。

登録するキーは以下のようになります。

起動時に毎回実行する場合
Software\Microsoft\Windows\CurrentVersion\Run

次回起動時に1度だけ実行する場合
Software\Microsoft\Windows\CurrentVersion\RunOnce

レジストリキーを開きます。
第1引数は設定するキーのパス、第2引数は書き込み可能な状態で開くかどうかを指定します。

Microsoft.Win32.RegistryKey regkey =
    Microsoft.Win32.Registry.CurrentUser.OpenSubKey(
    @"Software\Microsoft\Windows\CurrentVersion\RunOnce", true);

キーに値を設定します。
第1引数はアプリケーション名、第2引数は実行ファイルまでのパスです。

regkey.SetValue(Application.ProductName, Application.ExecutablePath);

キーを閉じます。

regkey.Close();

続きを読む…»

7,926 views