VB2010からMySqlConnectionで日本語名のDBへ接続する方法 への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 hogehoge1028  (社会人)
投稿日時
2017/2/22 17:28:23
返信がおそくなりまして申し訳ありません。
また、Initial CatalogではなくてDatabaseでも接続することが出来ませんでした。
database名が日本語でない場合は問題なく接続できます。
また、Initial CatalogではなくてDatabaseでも接続することが出来ませんでした。
database名が日本語でない場合は問題なく接続できます。
投稿者 shu  (社会人)
投稿日時
2017/2/21 07:57:52
Initial Catalog
ではなくて
Database
ではどうでしょう?
日本語でなければ接続できたのでしょうか?
ではなくて
Database
ではどうでしょう?
日本語でなければ接続できたのでしょうか?
投稿者 hogehoge1028  (社会人)
投稿日時
2017/2/20 09:20:01
魔界の仮面弁士 様
返信が遅くなりまして申し訳ありません。
また、ご提案ありがとうございました。
早速、提案頂いた内容を試してみましたが、
残念ながら解決には至りませんでした。
やはり日本語名でデータベースを構築することに問題があるのでしょうか。
返信が遅くなりまして申し訳ありません。
また、ご提案ありがとうございました。
早速、提案頂いた内容を試してみましたが、
残念ながら解決には至りませんでした。
やはり日本語名でデータベースを構築することに問題があるのでしょうか。
投稿者 hogehoge1028  (社会人)
投稿日時
2017/2/15 17:08:25
早速の返信ありがとうございます。
ご教授頂いたURLを覗いてみます。
その結果は、またこちらに記載させて頂きます。
宜しくお願いします。
ご教授頂いたURLを覗いてみます。
その結果は、またこちらに記載させて頂きます。
宜しくお願いします。
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2017/2/15 16:22:31
> 「UnKnown Database ????」となって接続できません。
Unknown ではなく
UnKnown なのですね。
MySQL を使った事がないため、以下は予想でしか無いのですが:
(提案1) 接続文字列に CHARSET=sjis を追加してみる。
http://d.hatena.ne.jp/THE_MIND/20080517/1211043732
(提案2) 非ASCII なデータベース名をバッククォートで囲ってみる
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1299601512
Unknown ではなく
UnKnown なのですね。
MySQL を使った事がないため、以下は予想でしか無いのですが:
(提案1) 接続文字列に CHARSET=sjis を追加してみる。
http://d.hatena.ne.jp/THE_MIND/20080517/1211043732
(提案2) 非ASCII なデータベース名をバッククォートで囲ってみる
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1299601512
投稿者 hogehoge1028  (社会人)
投稿日時
2017/2/15 15:07:42
いつも拝見しております。
久しぶりにVB2010でコーディングをすることになったものです。
VB2010を使ってMySqlConnectionにデータベース接続文字列を入力し、ネットワーク上のデータベースサーバーへ接続を試みていますが、例外処理でエラーを補足し、「UnKnown Database ????」となって接続できません。
このような現象についてご存知の方がいらっしゃいましたら、ご教授頂きたいと思います。
開発環境は以下の通りです。
■OS :Windows7 Professional 32bit
LANG:VB.Net2010 SP1
DB:サーバー側:MySQL 5.1
※データベースはsjisで構築されています。
クライアント側:MySQL Connector 6.7.4を利用しています。
下記、プログラム
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
Private Function MyFunc() As Long
Dim con As New MySqlConnection
Dim nNum as Long = -1
Try
con.ConnectionString = "Server=[サーバー名];UserID=[ユーザー];Password=[パスワード];Initial Catalog=[テスト]"
~~~~~~~~~ここが日本語です。
con.Open()
~~~~~~~~~~~ここでエラー発生!!
Dim sQuery As String = "SELECT COUNT(*) AS CNT FROM TBL_A;"
Dim oCmd As New MySqlCommand(sQuery, con)
Dim dReader As MySqlDataReader
dReader = oCmd.ExecuteReader()
dReader.Read()
nNum = Long.Parse(dReader("CNT"))
dReader.Close()
Catch ex As Exception
MsgBox(ex.Message)
Finally
con.Close()
End Try
Return nNum
End Function
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
宜しくお願い致します。
久しぶりにVB2010でコーディングをすることになったものです。
VB2010を使ってMySqlConnectionにデータベース接続文字列を入力し、ネットワーク上のデータベースサーバーへ接続を試みていますが、例外処理でエラーを補足し、「UnKnown Database ????」となって接続できません。
このような現象についてご存知の方がいらっしゃいましたら、ご教授頂きたいと思います。
開発環境は以下の通りです。
■OS :Windows7 Professional 32bit
LANG:VB.Net2010 SP1
DB:サーバー側:MySQL 5.1
※データベースはsjisで構築されています。
クライアント側:MySQL Connector 6.7.4を利用しています。
下記、プログラム
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
Private Function MyFunc() As Long
Dim con As New MySqlConnection
Dim nNum as Long = -1
Try
con.ConnectionString = "Server=[サーバー名];UserID=[ユーザー];Password=[パスワード];Initial Catalog=[テスト]"
~~~~~~~~~ここが日本語です。
con.Open()
~~~~~~~~~~~ここでエラー発生!!
Dim sQuery As String = "SELECT COUNT(*) AS CNT FROM TBL_A;"
Dim oCmd As New MySqlCommand(sQuery, con)
Dim dReader As MySqlDataReader
dReader = oCmd.ExecuteReader()
dReader.Read()
nNum = Long.Parse(dReader("CNT"))
dReader.Close()
Catch ex As Exception
MsgBox(ex.Message)
Finally
con.Close()
End Try
Return nNum
End Function
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
宜しくお願い致します。
以下の様に修正したら、接続できました。
con.ConnectionString = "Server=[サーバー名];UserID=[ユーザー];Password=[パスワード];Database=[テスト]; CHARSET=sjis"
アドバイスをくれた方、どうもありがとうございました。