質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Delphi

DelphiはPascalを拡張してオブジェクト指向を導入したWindows, OS X,iOS,Androidのネイティブアプリケーションを開発するための言語です。旧称はObject Pascal。開発用IDE「Delphi」にあわせ現在の名前に改称されました。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

3回答

2821閲覧

DelphiからMysql接続する

nor275

総合スコア6

Delphi

DelphiはPascalを拡張してオブジェクト指向を導入したWindows, OS X,iOS,Androidのネイティブアプリケーションを開発するための言語です。旧称はObject Pascal。開発用IDE「Delphi」にあわせ現在の名前に改称されました。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2018/07/28 16:58

編集2018/07/29 00:05

前提・実現したいこと

Delphi10.2 Community Editionを使ってデータベースアプリケーションを作ろうと思っています。(ビジネスではなく趣味です。)
最初にDelphiからMySQLへの接続をしようとしているのですが、上手くいきません。どうすればいいのか教えてもらえますでしょうか?
Delphiのデータ エクスプローラから、dbExpress > MySQLを選んで右クリックで"新規接続を追加"を選び、適当な名前(とりあえずTest)を入力しました。
接続の変更のところでは、ホスト名:"localhost",データベース"BookDB"(自分で作ったデータベースです),ユーザ名:"root",パスワードは自分で設定したものを入力しました。
"接続テスト"ボタンを押すと、エラーメッセージが出ました。

発生している問題・エラーメッセージ

"DBX エラー: ドライバを正しく初期化できませんでした。
クライアントライブラリが見つからない、正しくインストールされていない、バージョンが間違っているのいずれか、
あるいは、ドライバがシステム パスに含まれていない可能性があります。"

試したこと

とりあえずMySQLのversionを8.0から5.6に変えましたが、それでもNGでした。
このサイトを見ながらなんとかしようとしたのですが、私には無理でした。
参考サイト,DBXエラーについて
ちなみにMySQL Server 5.6 for win64 を使っています。Pathは、"C:\Program Files\MySQL\MySQL Server 5.6\bin"を設定してあります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Orlofsky

2018/07/28 20:21

タグ[MySQL]も追加した方がコメントが付き易いです。
nor275

2018/07/29 00:06

Orlofskyさん  アドバイスをありがとうございます。タグを追加して、URLをリンク先に飛べるように編集しました。
m.ts10806

2018/07/29 03:13

MySQL は起動しているのでしょうか。
nor275

2018/07/29 06:35

はい、起動していると思います。コマンドプロンプトで,"mysql -u root -p"を入力し、パスワードを入れました。"Wlcome to the MySQL・・”とメッセージが出たので、MySQLは起動していると思います。
nor275

2018/07/29 11:54

mts10806さん やってみました。"mysqld is alive"が表示されたので起動してます。
guest

回答3

0

自己解決

解決したといと言ったら言い過ぎかもしれませんが、firedacを使いfirebirdに接続することができました。DBにdelphiから接続できればOKなので、これで解決です。sysjojoさん、みなさん、ありがとうございました。

投稿2018/08/17 23:45

nor275

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Delphiは7以降触っていないので、解決に直結するコメントは難しいかもしれませんが、ベースは同じだと思いますので。

ページ自体が古そうなので参考程度ですが、dbExpressが接続に使うコンポーネントの説明ページにMySQLは5.1までしか載っていない、というのがあるので、5.6にもしかすると古いコンポーネントでは対応できない変更があるのかもしれません。

上記の説明ページではTSQLConnectionからODBCを経由して接続することもできそうなので、ODBCドライバを導入してそちらで試す方が近道かもしれません。

但し、ググった結果を斜め読みしているとC++ BuilderでdbExpress接続に別オプションが必要、といった記述がされた記事もみられましたので、dbExpress以外の接続方法を検討してみてもよいかもしれません。

余談ですが、Delphi、情報少ないですね。いろんなものが増えてて昔使ってた身から見ても今から使うとしたら学び直しな感じがします。
あと、embarcadero.comのページものすごい古い情報も見分けがつかない感じで載っているので、新しい情報か確認しながら取捨選択された方がよいかと思います。(この辺のTDataSet使って繋ぐ話とかBDEなら分かる。FireDACは門外漢)

投稿2018/08/03 00:20

編集2018/08/03 06:15
sysjojo

総合スコア325

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

0

Delphiはお試し程度の経験しかないのですが、だれもコメントしないので、、、

提示されたURLに以下の記述があります。
readme.html の確認等チェックされましたか?該当しなければ次に、、、と調べていきましょう。
全部外れならエラーメッセージでググります。

. このエラーには以下の原因が考えられます。

PC上で見つけた接続しようとしているデータベース用のクライアントのバージョンが不正。これは、このエラーの最も一般的な原因です。サポートされているクライアントの一覧は、製品に含まれている readme.html を確認します。
接続しようとしているデータベースのクライアントが、パスの中に含まれていない。
接続しようとしているデータベースのクライアントが、インストールされていない。
接続しようとしているデータベースのクライアントが、正しくインストールされていない。
接続しようとしているデータベースのクライアントが、複数回インストールされているため、パス情報の最初に古い情報が含まれている。
接続しようとしているデータベースのクライアントが異なるビット数のクライアントをインストールしていた。たとえば 32bitアプリケーションにも関わらず、クライアントに 64bitのバージョンをインストールしていた。

投稿2018/07/29 19:34

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nor275

2018/07/29 23:10

Orlofskyさん  Delphiをインストールしたフォルダで、readme.html を検索したところ、ファイルが見つかりました。最初は、readme.html がどこにあるかわからなかったのですが、見つけました。そこにMysql関係のことが書いてありました。バージョン的には要件を満たしているようですが、詳しい設定方法が書いてあったのでそれを見ながらトライしてみます。
nor275

2018/08/02 23:00

Orlofskyさん MySQLへの接続は、結局はどうやったらいいのかわかりませんでした。Firebirdに対してDelphiから接続したところ、簡単に接続ができました。絶対にMySQLじゃないといけないというわけでもないので、これでよしということにして先に進んでいきます。コメントをありがとうございました。
Orlofsky

2018/08/02 23:34

MySQLへ接続できないとDelphiの市場価値が下がるので、エンバカデロ・テクノロジーズ社にMySQLへ接続方法を公開しては? って問合せてみては? https://www.embarcadero.com/jp/
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問