C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

解決しました


(過去ログ 62 を表示中)

[トピック内 12 記事 (1 - 12 表示)]  << 0 >>

■35648 / inTopicNo.1)  MySQLの接続がうまくいかない
  
□投稿者/ トッチー (1回)-(2009/05/11(Mon) 22:59:34)

分類:[VB.NET/VB2005 以降] 

こんばんは。
MySQL5.1(ローカル)+VS.NET2003(VB)で開発しています。

サーバーエクスプローラでDB接続設定して
参照設定で
「Microsoft.Data.Odbc.dll」
を追加しました。

フォーム上にある
cmdLinkというボタンを押下してつなげたいのですが
エラー
---------------------------
video
---------------------------
ERROR [IM002] [Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバが見つかりません。
---------------------------
OK   
---------------------------

となり、接続できません。
 

Imports Microsoft.Data.Odbc
    
(略)
    Private Sub cmdLink_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdLink.Click

    Try
            Dim MyConString As String = "DRIVER={MySQL ODBC 3.51 Driver};" + _
                                            "SERVER=localhost;" + _
                                            "DATABASE=hellodb;" + _
                                            "UID=root;" + _
                                            "PASSWORD=XXXX;" + _
                                            "OPTION=3"

            Dim MyConnection As New OdbcConnection(MyConString)
            MyConnection.Open()  'この次でcatch exに飛ぶ


            Dim cmd As New Microsoft.Data.Odbc.OdbcCommand("select * from emp", MyConnection)

            Dim reader As Microsoft.Data.Odbc.OdbcDataReader
            reader = cmd.ExecuteReader()
            While reader.Read()
                Console.WriteLine(reader.GetString(0))
            End While
            reader.Close()

            MyConnection.Close()


        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
  End sub

接続するにはどの点を修正すべきが
ご教授お願いします。

引用返信 編集キー/
■35655 / inTopicNo.2)  Re[1]: MySQLの接続がうまくいかない
□投稿者/ やじゅ (989回)-(2009/05/12(Tue) 00:22:46)
やじゅ さんの Web サイト
No35648 (トッチー さん) に返信
> こんばんは。
> MySQL5.1(ローカル)+VS.NET2003(VB)で開発しています。

MySQL用のODBCドライバは取得されていますか?
.NETでODBC接続できるように、ODBC.NETはインストールされましたか?
MDAC 2.7 以降がインストールされていますか?
http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200305/03050035.txt
http://support.microsoft.com/kb/310985/ja
ODBC作成 http://uelabo.net/blog/?p=261

接続する為の、前準備はどこまで出来ているのかなーん。
引用返信 編集キー/
■35659 / inTopicNo.3)  Re[2]: MySQLの接続がうまくいかない
□投稿者/ トッチー (2回)-(2009/05/12(Tue) 07:55:24)
> MySQL用のODBCドライバは取得されていますか?
→はい。取得しました。
> .NETでODBC接続できるように、ODBC.NETはインストールされましたか?
→はい。取得しました。
> MDAC 2.7 以降がインストールされていますか?
→これは2番目のURLは見たことがなかったのでインストールをしました。
> http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200305/03050035.txt
> http://support.microsoft.com/kb/310985/ja
> ODBC作成 http://uelabo.net/blog/?p=261

結果
変わらず、先ほどと同じメッセージが出ます。

MySQLのデータベース環境が
「localhost via TCP/IP.hellodb.root」
と書いてますが、

Dim MyConString As String = "DRIVER={MySQL ODBC 3.51 Driver};" + _
"SERVER=localhost;" + _
"DATABASE=hellodb;" + _
"UID=root;" + _
"PASSWORD=XXXX;" + _
"OPTION=3"
は間違っていないですよね。
引用返信 編集キー/
■35660 / inTopicNo.4)  Re[3]: MySQLの接続がうまくいかない
□投稿者/ ぱぱいやん (16回)-(2009/05/12(Tue) 09:10:55)
ぱぱいやん さんの Web サイト
No35659 (トッチー さん) に返信
>>MySQL用のODBCドライバは取得されていますか?
> →はい。取得しました。
>>.NETでODBC接続できるように、ODBC.NETはインストールされましたか?
> →はい。取得しました。
>>MDAC 2.7 以降がインストールされていますか?
> →これは2番目のURLは見たことがなかったのでインストールをしました。
>>http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200305/03050035.txt
>>http://support.microsoft.com/kb/310985/ja
>>ODBC作成 http://uelabo.net/blog/?p=261

ODBC ではなくて、MySQL 用のコネクタでは駄目なのでしょうか?

>ERROR [IM002] [Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバが見つかりません。

それと、MySQL Administrator などのソフトから、ターゲットとなるデータベースにアクセスできることを確認してみることで、問題を切り分けると良いと思います。
上記のエラーの具体的な内容はわかりませんが「データソース名〜」とあるので、ドライバだけの問題ではないように思います。

引用返信 編集キー/
■35663 / inTopicNo.5)  Re[4]: MySQLの接続がうまくいかない
□投稿者/ トッチー (3回)-(2009/05/12(Tue) 09:42:14)
ご回答ありがとうございます。
>ODBC ではなくて、MySQL 用のコネクタでは駄目なのでしょうか?
特にこだわっていません。
一応、調べてはいますが、
うまく検索できないのでヒントをください。

>それと、MySQL Administrator などのソフトから、ターゲットとなるデータベースにアクセスできることを確認してみることで、問題を切り分けると良いと思います。
上記のエラーの具体的な内容はわかりませんが「データソース名〜」とあるので、ドライバだけの問題ではないように思います。

eclipseのDBViewer、VB.NET2003のサーバーエクスプローラ(ってそれがODBCですか)からはデータの接続の確認は取れています。
(eclipse使うならJavaで開発したら良いのに思われるかもしれませんが、まず、今はVB.NETでコーディングしたいので・・・。)
引用返信 編集キー/
■35664 / inTopicNo.6)  Re[5]: MySQLの接続がうまくいかない
□投稿者/ みきぬ (421回)-(2009/05/12(Tue) 09:57:53)
No35663 (トッチー さん) に返信
> VB.NET2003のサーバーエクスプローラ(ってそれがODBCですか)からはデータの接続の確認は取れています。

であれば、接続文字列をそれと同じにして試してみるといいかも。
Visual Studio 2005 だと、サーバエクスプローラから作成した接続を選択するとプロパティのところに接続文字列が表示されるんだけど、2003だとどうだったかなぁ…。
引用返信 編集キー/
■35667 / inTopicNo.7)  Re[1]: MySQLの接続がうまくいかない
□投稿者/ オショウ (176回)-(2009/05/12(Tue) 11:43:03)
2009/05/12(Tue) 11:43:30 編集(投稿者)

No35648 (トッチー さん) に返信
> こんばんは。
> MySQL5.1(ローカル)+VS.NET2003(VB)で開発しています。

  MySQL Connector/Net &#8212; for connecting to MySQL from .NET
  MySQL Connector/Net 1.0 をお使いになった方が、よいのでは?

  http://dev.mysql.com/downloads/

  それと、MySQL 5.1 をインストールされた際、rootのパスワードの設定と
  ファイアウォールの設定を行う部分で、どう設定されたのでしょうか?

  MySQL Connector/Net のサンプルで、TableEditor と云うのがありますの
  で、これで正しく接続できているならば、デフォルトの設定で問題ないか
  と考えます。

※ 私はVISTA で、MySQL Connector/Net使ってますが、MySQLのインストール
  で、MySQL Server Instance Config Wizard が、インストーラ内から管理
  者権限で起動してくれないので、MySQL Server Instance Config Wizard
  の実行形式を直接管理者権限で起動して実行させ、問題なく動作するよう
  になりました。

以上。参考まで・・・
引用返信 編集キー/
■35708 / inTopicNo.8)  Re[2]: MySQLの接続がうまくいかない
□投稿者/ トッチー (4回)-(2009/05/12(Tue) 19:14:32)
オショウ 様へ

>   それと、MySQL 5.1 をインストールされた際、rootのパスワードの設定と
>   ファイアウォールの設定を行う部分で、どう設定されたのでしょうか?
>
   当マシンWinXPです。
   http://codezine.jp/article/detail/3813
   の手順でインストールしました。
   (ただし、MySQL Server Instance ConfigurationのEnable root access・・・ はチェックをONにしました)


>   MySQL Connector/Net のサンプルで、TableEditor と云うのがありますの
>   で、これで正しく接続できているならば、デフォルトの設定で問題ないか
>   と考えます。

   TableEditor が入っていましたねぇ。
   実行してデータベース名、ユーザ・パスワードを入れましたが、

---------------------------

---------------------------
Error connecting to the server: Unable to connect to any of the specified MySQL hosts.
---------------------------
OK
---------------------------

   が表示されてしまいました。
   何が設定不備なんでしょうか、教えてください。

引用返信 編集キー/
■35712 / inTopicNo.9)  Re[3]: MySQLの接続がうまくいかない
□投稿者/ オショウ (177回)-(2009/05/12(Tue) 20:51:08)
No35708 (トッチー さん) に返信
> オショウ 様へ
>
>    当マシンWinXPです。

  VISTAではないので、そのままインストールしてOKなはずなんですが。

>    http://codezine.jp/article/detail/3813
>    の手順でインストールしました。
>    (ただし、MySQL Server Instance ConfigurationのEnable root access・・・ はチェックをONにしました)

  ネットワーク上の他マシンからアクセスしないならOKですネ!

>    TableEditor が入っていましたねぇ。
>    実行してデータベース名、ユーザ・パスワードを入れましたが、

  これで動作しないなら、やはり何かコンフィグレーションに失敗?
  しているか、何か抜けているか・・・

>    が表示されてしまいました。
>    何が設定不備なんでしょうか、教えてください。

  Server: localhost
  UserID: root
  Password: xxxxxxxx <= コンフィグレーションで設定したやつ

  これでTableEditor使って失敗するなら、何かインストールに失敗
  しているか・・・何とも云えませんね・・・

  CodeZineでの設定が必ずしも真ではないのですが、問題があるとも
  思えないし・・・

  MySQL Server Instance Config Wizardでの最後のExecuteで、成功
  終了していますよネ?!

● CodeZine の設定を確認してみたら・・・

  現在配布されているやつだと、MySQL Server Instance Config Wizard
  では、networking options の画面(3306のポート変更できるところ)
  で、Add firewall exception for this port の設定にチェック入れな
  いと、ローカルでも接続できません。

  チェック入れてます?

  ※使用プロトコルはTCP/IPの場合・・・

以上。
引用返信 編集キー/
■35713 / inTopicNo.10)  Re[4]: MySQLの接続がうまくいかない
□投稿者/ トッチー (5回)-(2009/05/12(Tue) 21:26:30)
>   MySQL Server Instance Config Wizardでの最後のExecuteで、成功
>   終了していますよネ?!


>   現在配布されているやつだと、MySQL Server Instance Config Wizard
>   では、networking options の画面(3306のポート変更できるところ)
>   で、Add firewall exception for this port の設定にチェック入れな
>   いと、ローカルでも接続できません。
>
>   チェック入れてます?
>

MySQL Server Instance Config Wizard を再度実行しましたら、
チェックが入ってませんでした。

チェックを入れ、最後のExecuteで、成功終了を確認しました。


で、実行したら・・・だめですねぇ。

引用返信 編集キー/
■35714 / inTopicNo.11)  Re[5]: MySQLの接続がうまくいかない
□投稿者/ オショウ (178回)-(2009/05/12(Tue) 22:27:29)
> チェックを入れ、最後のExecuteで、成功終了を確認しました。
>
> で、実行したら・・・だめですねぇ。

  因みに、ファイアウォール以外にウィルス関係の方にも
  ファイアウォール機能があれば、3306ポートを通さない
  と繋がらない場合があるかと・・・

  ただその場合、TabelEditor動作させたら、『インターネットにアクセス・・・』
  とか云うメッセージ出ると思いますが、出ない?

  一旦、全アンインストールして再インストールしてみたら
  どうなりますか?(もうされました?)

以上。
引用返信 編集キー/
■36012 / inTopicNo.12)  解決しました
□投稿者/ トッチー (6回)-(2009/05/18(Mon) 12:37:47)
2009/05/18(Mon) 12:38:36 編集(投稿者)
色々試行錯誤しましたが、
なんとかできました。

以下、方法です。

 サーバーエクスプローラでDB接続設定して
 参照設定で
 「Microsoft.Data.Odbc.dll」
 を追加しました。

empテーブル
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| NO       | int(11)      | NO   | PRI | NULL    |       |
| LANGUAGE | varchar(50)  | YES  |     | NULL    |       |
| MESSAGE  | varchar(100) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+

mysql> select * from emp;
+----+----------+------------------+
| NO | LANGUAGE | MESSAGE          |
+----+----------+------------------+
|  1 | 日本語   | 初めまして       |
|  2 | 英語     | Nice to meet you |
+----+----------+------------------+

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
              Dim con As MySqlConnection
        Dim cmd As MySqlCommand
        Dim dr As MySqlDataReader

        Dim connectionString As String
        Dim sqlStr As String
        Try
            '接続文字列 
            connectionString = "server=localhost;database=hellodb;user id=root;password=root"

            'コネクション生成 
            con = New MySqlConnection(connectionString)

            '接続 
            con.Open()

            'SQL文 
            sqlStr = "select * from emp"

            'MySQLCommand作成 
            cmd = New MySqlCommand(sqlStr, con)

            'SQL文実行 
            dr = cmd.ExecuteReader

            '結果を表示 
            With lstResult
                .Items.Clear()
                While dr.Read()
                    .Items.Add(CStr(dr("NO")) + ":" + dr("LANGUAGE") + ":" + dr("MESSAGE"))
                End While
            End With
            'クローズ 
            con.Close()
            MsgBox("正常に接続できました")
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

で、リストボックス
lstResult
に実行結果が表示されます。

ありがとうございました。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -