他クライアントからの接続に関するエラー

このQ&Aのポイント
  • C#で作成したプログラムを自分の開発環境以外のクライアントで実行したところ、エラーでMySqlへ接続ができませんでした。
  • 自身の開発環境では、アクセスできますが、他クライアントから実行するとエラーとなってしまいます。
  • 各クライアントへは、自開発環境と同じく、「mysql-connector-net-6.1.5」をインストールしてあります。エラーの内容としては、「アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。」と表示されます。原因を教えて頂きたくお願いします。
回答を見る
  • ベストアンサー

他クライアントからの接続に関して

教えて下さい。 C#で作成したプログラムを自分の開発環境以外のクライアントで実行したところ、 エラーでMySqlへ接続ができませんでした。 自身の開発環境では、アクセスできますが、そのEXEファイルを他クライアント から実行するとエラーとなってしまいます。 各クライアントへは、自開発環境と同じく、"mysql-connector-net-6.1.5"をインストール してあります。 ちなみにソース上の記述は以下のようになっています。 《記述内容》 using MySql.Data.MySqlClient; string sqlcmd = "userid=root;" + "password=000000;" + "database=db_name;" + "Host=999.999.999.999"; string cmdstr; cmdstr = "select * from t_user ;"; MySqlDataReader reader = null; MySqlConnection conn = new MySqlConnection(sqlcmd); //MySQLコマンド MySqlCommand selcmd = new MySqlCommand(cmdstr, conn); エラーの内容は、   "アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。[続行」   をクリックすると、アプリケーションはこのエラーを無視し、続行しようとします。[終了]   をクリックすると、アプリケーションは直ちに終了します。   ファイルまたはアセンブリ'MySql.data,Version=5.0.9.0,Culture=neutral,PublicKeyToken =C5687fc88969c44d'、またはその依存関係の1つが読み込めませんでした。 指定されたファイル   が見つかりません。" と表示されます。 原因を教えて頂きたく。。。。 よろしくお願いします。 

  • MySQL
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
noname#128134
noname#128134
回答No.1

どのタイミングで発生しているのかも気になりますが、よくあるconnector のバージョン違いというのは無いでしょうか? あとMySQL connector がVisualStudio2010 に未対応だった時期もありましたが?当方はその時6.3.4 というベータリリースに変更しました。現在は6.3.6 のようですね。 参考になれば幸いです。

yurix_1
質問者

お礼

大変参考になりました! 確かにバージョンが異なりました。 ありがとうございました。

関連するQ&A

  • Mysqlへの接続に関して

    MysqlへVisual Studio 2008 のC#で接続しようとしています。 接続方法としては、クライアントから"mysql-connector-net-6.1.5"をインストールして ODBCを使わずに接続しようとしています。 参照設定で、"MySql.data"を指定し、以下のように記述しましたが、どうしても下記の ようなエラーが出力されてしまいます。 原因がわかりましたら教えて頂きたいと思います。 《記述内容》 using MySql.Data.MySqlClient; string sqlcmd = "userid=root;" + "password=000000;" + "database=db_name;" + "Host=999.999.999.999"; string cmdstr, cmdcnt; cmdstr = "select * from t_user ;"; MySqlDataReader reader = null; MySqlConnection conn = new MySqlConnection(sqlcmd); //MySQLコマンド MySqlCommand selcmd = new MySqlCommand(cmdstr, conn); //MySQL接続 conn.Open(); この conn.Open(); のところで下記のエラーが出てしまう。 //エラー内容 Unable to connect to any of the specified MySQL hosts. よろしくお願いします。

    • ベストアンサー
    • MySQL
  • using文の使い方について

    visual C# 2010 Express を使用しています。 MySqlConnectionのデータベースのコネクション部分だけを次のようなメソッドとして、 そのオブジェクトだけを得たいと思いまして、次のような感じにしたのですが、 class Program { static void Main(string[] args) { MySqlConnection conn = GetConnection(); using (MySqlCommand cmd = new MySqlCommand("SELECT * FROM tbl where id = '1'", conn)) { conn.Open(); MySqlDataReader reader = null; reader = cmd.ExecuteReader(); reader.Read(); int i = reader.GetInt32(reader.GetOrdinal("id")); Console.WriteLine(i.ToString()); Console.ReadLine(); conn.Close(); } } static MySqlConnection GetConnection() { string connStr = "server=localhost;Database=test;Uid=root;Pwd="; using (MySqlConnection conn = new MySql.Data.MySqlClient.MySqlConnection(connStr)) { return conn; } } } 一応これで表示できたのですが、 これで生成したMySqlConnectionはちゃんと開放(消滅)されているのでしょうか? このようなやり方でデータを取得しているのを見たことがないで 大丈夫なのかな?と思いました。。

  • VB.NetによるMySQL接続について

    VB.NET(2012)よりMySQLへの接続についてご教示ください。 現状、下記のようなエラーが発生し、DB接続ができない状況です。 'MySQLConnection' は、名前空間 'MySql.Data.MySqlClient' では不適切です。 'MySQLCommand' は、名前空間 'MySql.Data.MySqlClient' では不適切です。 'MySQLDataReader' は、名前空間 'MySql.Data.MySqlClient' では不適切です。 【ソース】 Imports MySql.Data.MySqlClient Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim con As MySQLConnection Dim cmd As MySQLCommand Dim dr As MySQLDataReader End Sub End Class 【設定】 Connector/NETのインストール メニューのプロジェクト→参照の追加→拡張よりMySql.Dataを指定 メニューのプロジェクト→DB_Accessのプロパティ→参照よりMysql.Data→プロパティ内のローカルコピー:True 参照よりインポートされた名前空間(I)→Mysql、Mysql.Data・・・その他Mysqlのチェックをオン 【環境】 OS:Windows7 開発:.Net2012 DB・サーバ環境:XAMPP(アパッチ、MySQL) HPでいろいろ調べましたがどれも似たような内容の為、解決できておりません。 何か足りないのでしょうか。 何卒、ご教示のほどよろしくお願い致します。

  • C#からMySQLにデータを書き込んだ時の文字化け

    お世話になります。 C#でMySQLにアクセスしようとしています。 文字列以外はできているのですが、文字列の入力、 取得で文字化けしてしまいます。 対処の方法をご指導いただけますよう、お願いいたします。 下記がコードになります。 string myConnectionString = "Database=test;Data Source=localhost; User Id=root;Password=''"; MySqlConnection myConnection = new MySqlConnection(myConnectionString); string mySelectQuery = "insert into characters values('5','あいうえおかきくけこ','10','3')";                                            ↑この文字列が化ける MySqlCommand myCommand = new MySqlCommand(mySelectQuery, myConnection); myConnection.Open(); MySqlDataReader myReader; myReader = myCommand.ExecuteReader(); myReader.Close(); myConnection.Close(); mySelectQuery = "SELECT * FROM characters"; myCommand = new MySqlCommand(mySelectQuery, myConnection); myConnection.Open(); myReader = myCommand.ExecuteReader(); while (myReader.Read()) { MessageBox.Show(myReader.GetString(0) + ", " + myReader.GetString(1)); } myReader.Close(); myConnection.Close(); なお、MySQLはUTF-8を基準にしています。 以上、よろしくお願いいたします。

  • C# で発生したException.MessageをMysqlに登録した際に文字化けが発生する

    C# で発生したException.MessageをMysqlに登録した際に文字化けが発生する. すいませんが、皆様のお力をお貸しください。 以下のようなコードでC#で発生した例外の情報をMySQLに登録しようとしていますが、「??????????????」の様に文字化けして日本語が登録できません。 ---- C#のコード public void errorLog(Exception exception){ MySqlConnection mySqlConnection = new MySqlConnection(); mySqlConnection.ConnectionString = "Database=airreserve;Data Source=localhost;User Id=root;Password=root"; mySqlConnection.Open(); MySqlCommand mySqlCommand = mySqlConnection.CreateCommand(); StringBuilder sql = new StringBuilder(); sql.Append(" INSERT INTO system_error_log ("); sql.Append(" error_message, "); sql.Append(" error_detail, "); sql.Append(" update_time "); sql.Append(" ) VALUES ( "); sql.Append(" @message, "); sql.Append(" @error, "); sql.Append(" now() "); sql.Append(" ) "); mySqlCommand.CommandText = sql.ToString(); mySqlCommand.Parameters.AddWithValue("@message", exception.Message); mySqlCommand.Parameters.AddWithValue("@error", exception.StackTrace); mySqlCommand.ExecuteNonQuery(); } ---- MySQLの設定 -------------- mysql Ver 14.12 Distrib 5.0.85, for Win32 (ia32) Connection id: 3 Current database: airreserve Current user: root@localhost SSL: Not in use Using delimiter: ; Server version: 5.0.85-community-nt MySQL Community Edition (GPL) Protocol version: 10 Connection: localhost via TCP/IP Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 TCP port: 3306 Uptime: 8 hours 8 min 34 sec Threads: 5 Questions: 581 Slow queries: 0 Opens: 54 Flush tables: 1 Open tables: 1 Queries per second avg: 0.020 --------------

  • VB.netでのMySQLの接続エラーについて

    VB.netでのMySQLの接続エラーについて 『行いたい事』 レンタルサーバー(ロリポップ)で管理しているサイトのデータベース(MySQL)にパソコンから接続したいと考えています。 パソコンからレンタルサーバーで管理しているデーターベースにアクセスするための言語はVB.netを使用しています。 パソコンからVB.netにてSQLを使用してサーバーにあるデータベースのデータの取得等を行いたいと考えています。 『問題』 下記プログラムにてstrPasswordに直接、レンタルサーバー(ロリポップ)より取得したパスワードを記載しているのですが、Open() 時にエラーとなってしまいます。 下記★の部分が、会社からインターネットに接続する為のプロバイダーから取得しているパスワードに自動的に変わってしまいます。 基本的な事で申し訳ありませんが、ご教授のほどよろしくお願いします。 ●環境 ・Windows XP ・Visual Studio 2008 ・.NET Framework3.0 sp2 端末からデータベースへアクセスするためにConnector/Netを入手しインストールも行っています。 ●-----エラー内容----- Access denied for user 'ユーザID'@'★ここが変わっています★' (using password: YES) ●-------------------- ●-----プログラム----- Dim strServerName As String = "●●.lolipop.jp" Dim strUserID As String = "ユーザID" Dim strPassword As String = "パスワード" Dim strDataBaseName As String = "データベース名" Dim sqlStr As String Dim dr As MySqlDataReader Dim cmd As MySqlCommand Dim MySql As New MySqlConnection '接続パラメータ定義. Dim strParam = String.Format("Server={0};User ID={1};Password={2};Initial Catalog={3};Convert Zero Datetime=true", _ strServerName, strUserID, strPassword, strDataBaseName) '接続準備 MySql = New MySqlConnection(strParam) '接続 MySql.Open() ★この行でエラーとなり書き換わっています。 'クローズ MySql.Close() ●------------------

  • クライアントからサーバーに移行しエラー

    PHP+MYSQLにて作業をしております。 PC1台にMYSQL+PHPをインストールし作業していたのですが、 今回、レンタルサーバーにファイルを移し作業をすることになりました。 すると、クライアント時には問題なく動いていた処理がエラーになるようになりました。 $sql = mysql_connect('localhost', '*****', '*****'); 上記のようなmysqlとの接続でエラーが出るのはMYSQLがサーバー側に変わったので 理解できるのですが、 fwrite( $fp, $string, strlen($string)); // ファイルへの書き込み 等のファイル処理関数がエラーになったり、SQL文の $sql = 'SELECT 日時,始値,高値,安値,終値 FROM dol_days ORDER BY 日時 DESC LIMIT 0 , 22'; がエラーになったり、プログラムとMYSQLの文字コードをUTF8で揃えているのに 文字化けしてしまうなど、その他結構な量のエラーがでます。 ちなみにSQL文に関して $conn = mysql_query('SELECT * FROM dol_days');は 問題なくとおったので恐らくMYSQLへの接続には問題ないように思います。 クライアントからサーバーに移行する際に直しておかないといけないことなど なにか原因がわかる方がいらっしゃいましたらご教授お願いします。 バージョン  PHP5 MYSQL: 5.0.33

    • 締切済み
    • PHP
  • VB2008 で外部のMySQLに接続できません

    VisualBasic2008 で外部のサーバーにあるMySQLに接続できません。 Cnn.Open()の所で、こんなエラーがでます。 Unable to connect to any of the specified MySQL hosts. MysqlTest.vshost.exe Error: 0 : Unable to connect to any of the specified MySQL hosts. 'MySql.Data.MySqlClient.MySqlException' の初回例外が MySql.Data.dll で発生しました。 System.Transactions Critical: 0 : <TraceRecord xmlns="http://schemas.microsoft.com/2004~ ~~ PC内にあるMySQLには接続できるんですが。 外部のサーバーのMySQLには接続できないのでしょうか。 -------コード------------------ Dim sqlStr As String = "SELECT * FROM allitem" Dim CnnStr As String = "server=xxxxxxxxxxx.com:3306;database=PGTESTDB;User Id=pgtestuser;Password=xxxxxx" Dim Cnn As MySqlConnection = New MySqlConnection Cnn = New MySqlConnection(CnnStr) Cnn.Open()

  • DBから取得した値の変換方法

    DB MySQL カラム:name varchar(255),ucs2_bin データ:てすと 上記のデータを下記の処理で(VB.Net)取得しようと すると文字が化け(????)て取得されてしまうのですが デコードの仕方が良く分かりません。 System.Text.~を使うと思うのですが何を指定したら いいのか分からないのでご教授お願い致します。 ちなみに言語は日・中・英と対応する必要があります。 --処理-- Dim conn As New MySQLConnection( _ String.Format("Port={0};Server={1};Data Source={2};User ID={3};Password={4}", _ port, computer, database, user, password)) Dim cmd As MySQLCommand Dim red As MySQLDataReader conn.Open() Dim sql = "select name from test" cmd = New MySQLCommand(sql, conn) red = CType(cmd.ExecuteReader(), MySQLDataReader) Do While red.Read Console.WriteLine(red("NAME")) Loop red.Close() cmd.Dispose()

  • ADO.NETの処理分岐について教えて下さい。

    クライアントから取得したIPアドレスとDBの登録が一致した場合のみフォームを 出力するアプリケーションを作成しているのですがDBの登録があってもエラーのフォームの 分岐に行ってしまいます。 どこが違うのでしょうか?教えて下さい。 ASP.NETを勉強し始めて間もないのでまだまだ勉強不足ですが宜しくお願い致します。 Imports System Imports System.Data Imports System.Data.SqlClient Imports Microsoft.VisualBasic Imports System.Text Partial Class INDEX Inherits System.Web.UI.Page Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load '------------- IPアドレス取得 -------------- Dim ipAddr As String ipAd = Request.UserHostAddress '------------- SQL Server Connection -------------- Dim myDataReader As SqlDataReader Dim mySqlConnection As SqlConnection Dim mySqlCommand As SqlCommand mySqlConnection = New SqlConnection("Server=Name;database=Source;UID=id;PWD=pw") mySqlCommand = New SqlCommand("SELECT * FROM IPdb WHERE IPAddress='" & ipAd & "' AND sub='True'") mySqlConnection.Open() mySqlCommand.Connection = mySqlConnection myDataReader = mySqlCommand.ExecuteReader(CommandBehavior.CloseConnection) Do While (myDataReader.Read()) Loop If Not (myDataReader Is Nothing) Then Response.Redirect("LoginError.aspx") Else End If myDataReader.Close() mySqlConnection.Close() End Sub End Class