Re:SALOON & VBA

HTA/MySQL版 読書履歴管理システム 環境設定

HTAは、IEがあれば、何もいらない
とはいえ、何らかのデータベースは必要です。

読書履歴管理システム(以下、BOOKLOG)では、お手軽 MariaDB(MY SQLですが)を使っていますが、
それも、まあ、設定が必要なので、ちょっとした、障壁ではありますね。

さてさて、今回プライベートで、PCを変えたので,
BOOKLOGの移植をやってみました。
まとめながらなので、2時間くらいかかりましたが
(ODBC設定で上手くいかなかったのもあり…)
最短なら、小一時間もあれば・・・出来なくはないかもしれなくはない・・・(汗)

↓以下がその手順です。

参考:WindowsにMariaDBをインストールする手順
https://www.trifields.jp/how-to-install-mariadb-on-windows-2440

①ファイルのダウンロード
MariaDBのダウンロードサイトを開く。
https://downloads.mariadb.org/

②Download 10.3.13 Stable Now! のボタンを押す。(数字は、最新で変わります)
安定板であるStableを選択した方が良いとのこと。

③インストールファイルを選択
32bit版と64bit版の違いは、インストールするPCに依る。
ちなみに、僕は、mariadb-10.3.13-winx64.msi を選択。
名前など入力する画面に切り替わるが、入力しなくても、ダウンロードは開始する。

後で必要なので、ODBCのドライバーもダウンロードしておく
MariaDB Connector/ODBC *.* Series から、
僕は、
MariaDB Connector/ODBC 3.1.0 Windows Installersを選択
(32bit版でないとダメかも…)

④インストールファイルを実行
mariadb-10.3.13-winx64.msi をクリック

⑤セットアップ画面で、「Next」をクリック

⑥「I accept the terms in the License Agreement」にチェックを入れ、「Next」をクリック

⑦カスタムセットアップ画面で、「Next」をクリック

⑧rootのパスワードを設定、「Use UTF8 as default server’s character set」にチェックし
「Next」をクリック

⑨デフォルトインスタンスのプロパティ画面は、そのまま「Next」をクリック

⑩利用情報送信確認画面は、チェックを入れずに「Next」をクリック

⑪「Install」をクリックしてインストールを開始

⑫インストールが完了したら、「Finish」をクリック

⑬一緒にインストールされた、HeidiSQLを起動
 新規で、パスワード:を入力し名前を付けてセッションを保存

⑭test を選択し、以下のSQL をクエリに貼り付けて実行
CREATE TABLE `booklog` (
`isbn13` VARCHAR(13) NOT NULL COLLATE 'utf16_unicode_520_ci',
`isbn10` VARCHAR(10) NULL DEFAULT NULL COLLATE 'utf16_unicode_520_ci',
`bookname` VARCHAR(50) NOT NULL COLLATE 'utf16_unicode_520_ci',
`author` VARCHAR(25) NULL DEFAULT NULL COLLATE 'utf16_unicode_520_ci',
`publisher` VARCHAR(25) NULL DEFAULT NULL COLLATE 'utf16_unicode_520_ci',
`genre` VARCHAR(25) NULL DEFAULT NULL COLLATE 'utf16_unicode_520_ci',
`issuedate` DATE NULL DEFAULT NULL,
`getdate` DATE NOT NULL,
`readdate` DATE NULL DEFAULT NULL,
`ownership` TINYINT(1) NULL DEFAULT NULL,
`purchase` INT(11) NULL DEFAULT '0',
`library` VARCHAR(25) NULL DEFAULT NULL COLLATE 'utf16_unicode_520_ci',
`overview` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf16_unicode_520_ci',
`impressions` TEXT NULL DEFAULT NULL COLLATE 'utf16_unicode_520_ci',
`state` INT(10) NULL DEFAULT '0',
`coverimg` VARCHAR(41) NULL DEFAULT NULL COLLATE 'utf16_unicode_520_ci',
PRIMARY KEY (`isbn13`)
)
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB
;

⑮ODBCドライバーをインストール
 手順は、MariaDBと同様「Agreement」「Next」「Finish」
参考:http://mgate.info/db/mysql/852/

⑯MySQLへのODBC接続設定をする
コントロールパネル >> システムとセキュリティ >> 管理ツール >> データソース(ODBC)」を選択
ユーザーDSN または、システムDSN または、ファイルDSN で
「BOOKLOG_MYSQL」という名前で、



DSNを作成…BOOKLOG.js で使用している名前なので(変更する場合は、合わせて修正)



TEST DSN ボタンを押して確認(押してないとCHAR-SETが選べない)
構成は、⑬のセッションと同じ、CHAR-SETは、utf8mb4

ところが、
※ODBC接続エラー
「指定されたDSNには、ドライバーとアプリケーションのアーキテクチャの不一致が含まれています」
となったので、64bit版は、使えなかった(理由は、分からないが、HTAの制限?)
32bit版を入れ直してOKとなった。

⑰HTAソースをダウンロード(GitHubで、ソース公開しています。)
GitHub - frontflg/BOOKLOG_HTA: HTA + MySQL + BOOK LOG SYSTEM


任意のフォルダに置いて、BOOKLOG.hta をダブルクリック。
これで、僕は動きました。

※追加・修正情報があるので、Comment ↓ も見てください。

コメント一覧

オーナー
動いたのは嘘
> これで、僕は動きました。
というのは、実は嘘で
データが未登録状態での話。
登録後のデータ表示(詳細画面)で落ちます。

TEXT型が、ダメ見たい。

今回、MY SQL のドライバーから
最新のMariaDBのドライバーに変更したのですが、その影響かなあと・・・

で、
テーブル定義を

`impressions` TEXT NULL DEFAULT NULL COLLATE 'utf16_unicode_520_ci',
から
`impressions` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf16_unicode_520_ci',
にしたら、動くようになりましたが・・・

うーん、どうしたものか・・・
名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

※ブログ作成者から承認されるまでコメントは反映されません。

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最新の画像もっと見る

最近の「HTA」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事