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

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

ただいまの
回答率

90.52%

  • MySQL

    5854questions

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

  • Delphi

    17questions

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

DelphiからMysql接続する

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 291

nor275

score 2

 前提・実現したいこと

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"を設定してあります。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • nor275

    2018/07/29 15:35

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

    キャンセル

  • mts10806

    2018/07/29 15:49

    起動確認は直ログインよりこちらのコマンドを。 http://mysql.javarou.com/dat/000409.html

    キャンセル

  • nor275

    2018/07/29 20:54

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

    キャンセル

回答 3

check解決した方法

0

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

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

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

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/07/30 08:10

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

    キャンセル

  • 2018/08/03 08:00

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

    キャンセル

  • 2018/08/03 08:34

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

    キャンセル

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 09:35

    https://www.embarcadero.com/jp/products/delphi/starter/faq
    を見ると「ローカルおよび組込データベース接続」に対応、とあり
    https://qiita.com/ht_deko/items/3c4c83157fe072532912
    の脚注にローカル接続用のdbExpress、とあるので、ローカル接続であればdbExpressは使えそうですね。

    キャンセル

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

  • ただいまの回答率 90.52%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • MySQL

    5854questions

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

  • Delphi

    17questions

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