DOBON.NETプログラミング道掲示板
(現在 過去ログ3 を表示中)

[ 最新記事及び返信フォームをトピックトップへ ]

■33893 / inTopicNo.1)  .netからのAccessパスワード解除
  
□投稿者/ だんご 一般人(1回)-(2018/07/03(Tue) 15:55:19)
  • アイコン環境/言語:[VB.NET] 
    分類:[.NET] 

    VB.netからAccessに接続して、設定されているパスワードを解除しようとしています。
    排他モードで接続まではできるのですが、パスワードの解除ができません。
    Dim sql As String = ("ALTER DATABASE PASSWORD " + "null" + " " + PassWord)
    Using dbCmd As DbCommand = Cnn.CreateCommand
    dbCmd.CommandText = sql
    dbCmd.ExecuteNonQuery()
    End Using
    構文では、ALTER DATABASE PASSWORD newpassword oldpassword
    となっているので、newpasswordの部分に試しに、"null"といれるとパスワードが解除できる場合とできない場合があります。(旧パスワードによって分かれる)
    正しくは、newpasswordの部分はどのように指定するのでしょうか?

    解除できるパスワード例:"囹膸爬魎麓奠A部敍緒此薫鼇凄瀲"
    解除できないパスワード例:"[F#`l+<tB2"、"([Oks]I<g/"

    詳しい方宜しくお願い致します。1か月ぐらい悩んでいます。


引用返信 削除キー/
■33895 / inTopicNo.2)  Re[1]: .netからのAccessパスワード解除
□投稿者/ 魔界の仮面弁士 大御所(1120回)-(2018/07/03(Tue) 16:44:56)
  • アイコンNo33893に返信(だんごさんの記事)
    > Dim sql As String = ("ALTER DATABASE PASSWORD " + "null" + " " + PassWord)

    VB の文字列連結には、+ ではなく & を使うべきです。
    また、削除のための null 指定が固定指定となるのであれば、
     Dim sql As String = "ALTER DATABASE PASSWORD null " & PassWord
    だけで十分かと思います。


    > 旧パスワードによって分かれる
    まず、文字数の制限があります。
    パスワードの文字数は、最大14文字もしくは最大20文字です。
    (バージョンによって異なる)

    また、文字種の制限もあります。今回はこちらですね。
    https://support.microsoft.com/ja-jp/help/957994


    > 正しくは、newpasswordの部分はどのように指定するのでしょうか?
    DAO / ACEDAO の NewPassword メソッドを使ってみてはいかがでしょう。
    https://msdn.microsoft.com/ja-jp/library/office/ff844754.aspx

    https://yaplog.jp/orator/archive/53
    https://yaplog.jp/orator/archive/52
    https://yaplog.jp/orator/archive/51
引用返信 削除キー/
■33896 / inTopicNo.3)  Re[2]: .netからのAccessパスワード解除
□投稿者/ だんご 一般人(2回)-(2018/07/03(Tue) 20:00:08)
  • アイコン早速のご指導有難うございます。
    教えて頂いた方法で出来ました。

    大変助かりました。

    しかし、データベースは難しい・・・

    今後とも有難うございます。

解決み!
引用返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/


- Child Tree -