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

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

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

MySQL

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

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

Q&A

解決済

1回答

1758閲覧

C#アプリケーションでMySQLに接続できない

tat255

総合スコア1

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

MySQL

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

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

0グッド

0クリップ

投稿2020/07/08 02:10

前提・実現したいこと

visual studioでアプリケーション開発をしています.作成したアプリケーションに使用制限をつけようと思ってます.そこで,MySQLを利用して登録されたMACアドレスと実行機のMACアドレスを比べ登録済みだった場合のみ実行されるようにしたいです.しかし,MySQLに接続することができません.DBを扱うのは初めてなのでほとんどわかっていません.よろしくお願いします.

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

unable to connect to any of the specified MySQL hosts.

該当のソースコード

イメージ説明
上のABCDとしたのABCDは同じものを書いています.そして,MySQL5.7ホスト名の部分とAの部分は別のものになっており,どっちでも試しました.また,上記のphpmyadminというのを押すと,新たなタブが開きそこにBとCを入力するとログインができ,データを更新することができます.そちらでの接続は確認できていますが,そのほかでは一度もログインできていません.

// MySQLへの接続情報 string server = "A"; // MySQLサーバホスト名 string user = "B"; // MySQLユーザ名 string pass = "C"; // MySQLパスワード string database = "D"; // 接続するデータベース名 string connectionString = string.Format("Server={0};Database={1}Uid={2};Pwd={3}", server, database, user, pass); // MySQLへの接続 try { MySqlConnection connection = new MySqlConnection(connectionString); connection.Open(); MessageBox.Show("MySQLに接続しました!"); // 接続の解除 connection.Close(); } catch (MySqlException me) { MessageBox.Show("ERROR: " + me.Message); }

よろしくお願いします.

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2020/07/08 02:29

MySQL のことを聞いているのだから、MySQL のバージョンと、MySQL 本体以外に何をインストールしたかぐらいは書きませんか? あと、開発環境も書いて下さい。
tat255

2020/07/08 02:34

MySQLのバージョンは,画像にあるように,5.7だと思います.開発環境はvisualstudio2017です.MySQLのインストールなども試しましたが,よくわかりません.MySQLはインストールしなければならないのですか?契約しているstarサーバーさんからデータをもらうだけなので必要ないと考えたのですが… 引き続きよろしくお願い致します.
退会済みユーザー

退会済みユーザー

2020/07/08 02:44

StarServer というのは全く知りませんが、ググると https://www.star.ne.jp/ という HP がヒットし、それを見る限り PHP ベースの Web アプリをホストする目的で提供されているサービスで、MySQL には Web サーバーの PHP アプリから接続して使うというように見えます。 その MySQL に、質問者さんは .NET Framework ベースのアプリから接続して使おうとしているようですが、そもそもそのようなことは可能なのか、StarServer には確認済なのですか?
yoorwm

2020/07/08 02:44

先にツール使って接続出来るのか?を試してみた方が、そもそも接続出来ない設定なのか?とか切り分けられていいですね。 > unable to connect to any of the specified MySQL hosts. ここからするとホストまでつながらない訳だから、「MySQL5.7ホスト名」か「IPアドレス」で確かめてみるといいかと思います。 (A,B,CはMySQLのユーザ権限の情報に見えるけど・・・ホストとか書いてあるのがよく分からないですね)
tat255

2020/07/08 02:59

皆さん,早期の反応ありがとうございます.大変助かっています. SurferOnWwwさんおっしゃる通り,直接の接続ができないのではないかとhttps://knowledge.sakura.ad.jp/9701/ こちらのサイトを拝見したときに思いました.しかし,その場合の対応が私にはわかりません…他のサービスを利用するしかないのでしょうか…? yoorwmさん,あまり使い方がわかっていないのですが,MySQLのコマンドラインからログインしようとしてもダメでした.いろいろサイトを調べてみても,皆さんローカルばかりで接続しているので,自分のやり方が本当にあっているのかわからず,困っていました... よろしくお願いします...
退会済みユーザー

退会済みユーザー

2020/07/08 03:20 編集

StarServer のサポートに直接聞けない事情があるのですか? なければ、まず StarServer のサポートに質問者さんがやろうとしていることが可能か聞いてください。 何か聞けない事情があるとすると、StarServer を使って質問者さんがやろうとしていることを実際にやったことがある回答者が現れるのを待つほかなさそうです。でも、質問者さんが何をしたいのかもここに書いてある情報ではよく分からないし、それは期待薄かもしれません。
tat255

2020/07/08 03:22

わかりました.starserverに聞いてみます.できなかった場合,おすすめのSQLサーバーなどご存じないでしょうか…?容量は少しでいいので無料で使えるとこなど教えていただけると幸いです.
退会済みユーザー

退会済みユーザー

2020/07/08 03:39 編集

> おすすめのSQLサーバーなどご存じないでしょうか…? それをここで聞くのは間違っているかと思いますよ。質問者さんのアプリから直接接続できなければ、StarServer の Web サーバーの PHP アプリからは当然問題なく接続できるのでしょうから、PHP の API の作り方を勉強して作って StarServer の Web サーバーにデプロイし、以下のような構成にしてはいかがですか? 質問者さんのアプリ(HttpClient など実装) ⇔ API ⇔ MySQL
tat255

2020/07/08 03:41

わかりました.ご親切にありがとうございます.
tat255

2020/07/08 03:48

えっと…先ほどの修正依頼を,回答にもう一度送っていただけませんか?
guest

回答1

0

ベストアンサー

質問者さんが利用されている StarServer というのは自分は分かりませんが、ググると https://www.star.ne.jp/ という HP がヒットし、それを見る限り PHP ベースの Web アプリをホストする目的で提供されているサービスで、MySQL には Web サーバーの PHP アプリから接続して使うというように見えます。

その MySQL に、質問者さんは .NET Framework ベースのアプリから接続して使おうとしているようですが、そもそもそのようなことは可能なのか、StarServer には確認済なのですか? 未確認なら、まず StarServer のサポートに質問者さんがやろうとしていることが可能か聞いてください。

質問者さんのアプリから直接接続できなければ、StarServer の Web サーバーの PHP アプリからは当然問題なく接続できるのでしょうから、PHP の API の作り方を勉強して作って StarServer の Web サーバーにデプロイし、以下のような構成にしてはいかがですか?

質問者さんのアプリ(HttpClient など実装) ⇔ API ⇔ MySQL

StarServer に確認した結果、接続できるという回答があればその旨この回答のコメント欄に書いてください。

投稿2020/07/08 04:08

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

tat255

2020/07/08 04:11

わかりました.ありがとうございました.
tat255

2020/07/08 15:31

借りているウェブサーバからのみ繋がります。ウェブサーバ上で稼働させるプログラムから接続する方法でないといけません。 あくまでも、ウェブサイト用として附随するサービスです。データベースサーバそのものを貸出す趣旨のサービスではありません。 一般のクライアントマシンからアクセス可能にしてしまうと、高負荷な使われ方もするでしょうし、セキュリティ面でも危険になります。(RDBMSを単発で貸し出す趣旨ならばもっと高額にしないと使いものにならないかと思います) やはり無理みたいですね…
退会済みユーザー

退会済みユーザー

2020/07/08 21:40

確認結果の連絡をありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問