• ベストアンサー

MySQL の ODBC接続文字列のホスト名の指定に関して。

こんにちわ VB で MySQL に ODBC接続する際の接続文字列に関して質問です。 ODBC;DSN=AAA;DATABASE=BBB;UID=CCC;PWD=DDD と言った形で接続しているのですが、HOST (Server?) への指定の方法が解りません。 ※HOST=XXX では接続できません。ODBCマネージャでHOST名を設定すると接続できます。 御忙しいなた大変申し訳ありませんが、ご存知の方いらっしゃいましたらよろしくお願い致します。

  • sho_ta
  • お礼率68% (221/322)

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

  • ベストアンサー
  • ryuu001
  • ベストアンサー率61% (46/75)
回答No.1

UDLファイルを作成し、それをノートパッドで開けば判ると思います。 UDLファイルの作成方法:  中身の無いファイルを作ります。  ファイル名は何でも良いですが、拡張子は udl にします。  そのファイルを開くと、DBへの接続設定がはじまります。  ODBCを設定する感覚です。  つながったら ファイルを保存します。  そのファイルを、今度は ノートパッドで開きます。  接続文字列が 書かれていると思います。

関連するQ&A

  • VB6.0(SP6)でMySQLに接続したい

    初投稿です。磯野かつおです。 現在、VB6.0からMySQLに接続しようと試みています。 色々なWEBサイトで調べてはいるのですが、自分のしたい接続方法に関しては、記述がなくココで質問させて頂く事にしました。 私はVB初心者で、説明が分かりにくいかも知れませんが、ご了承願います。 本題に入りますが、現在、ADODCで接続させようとしています。接続が出来たらDataDridに表示させたいと考えています。「MySQL ODBC 3.51 Driver」は、すでにインストール完了しており、設定の方も完了しています。 ソースは、以下の様に書いています。 --------------- Adodc1.ConnectionString = "DRIVER = {MySQL ODBC 3.51 Driver}; Server = localhost; Port = 3306; Database = kadai; Uid = root; Pwd = " --------------- そこで、実行すると『[Microsoft][ODBC Driver Manager]データソース名および指定された規定のドライバが見つかりません。』となります。 この方法では、MySQLに接続する事は出来ないのでしょうか? 以前、Accessのデータベースに接続するプログラムを完成させた事があります。それで、先輩の方からは、Adodc1.ConnectionStringの後の部分を変更するだけで良いと聞きました。変更後のソースが上記のソースになります。 どなたか、ご教授をお願い致します。

    • ベストアンサー
    • MySQL
  • ODBC接続によるパスワード回避

    現在、内部ネットワークにあるAccessアプリケーション上から、外部ネットワークSQL Server へのリンクテーブルを作成しております。 本AccessアプリケーションをどのPCや、環境にコピーしても外部ネットワークのSQLServerにアクセスできるように、リンクテーブルを設定したいと考えております。 SQL Server のプロパティは、混合モードにしています。 ODBCも、以下のようなdsnファイルを作成し、リンクしようとしているのですが、「ユーザー'(null)'のログインに失敗しました。理由:SQL Server の信頼関係接続に関連付けられていません」とエラーがでて、必ずパスワードが聞かれてしまいます。 [ODBC] DRIVER=SQL Server UID=sa PWD=XXXXXX Network=DBMSSOCN DATABASE=test_dns WSID=PCName APP=Microsoft Office 2003 SERVER=XXX.XXX.XXX.XXX Description=Test パスワードを回避する設定方法はありますでしょうか?

  • VBでODBC接続して更新・削除できない

    VBとSQLSerever2003を接続してプログラムしています。 ネットで検索しつつ以下のコードで接続できました。 Set SQL_DB = SQL_WSpace.OpenDatabase("", False, False, "ODBC;Driver={SQL Server};" "SERVER=" & (DATABASE_SERVER) & ";" "DATABASE=" & (DATABASE_NAME) & ";" "UID=" & (DB_ID) & ";" "PWD=" & (DB_PASS) & ";" SELECT文は問題ないのですが、DELETE文とUPDATE文だと、「指定されたテーブルから削除できませんでした」、「更新可能なクエリであることが必要です」とでます。アドバイスをお願いします。

  • エクセル で文字列を分離したい

    例えば、エスセルのデーターベースで [A1]http://www.aaa.bbb//=http://ccc.ddd [A2]http://eee.fff.gg//=http://hh.iii こちらを [B1]http://www.aaa.bbb//=  と、 [C1]http://ccc.ddd に分離したいのですが、 大量に一括で分離する方法を教えてください。

  • SQLServer→Access インポート

    こんばんは。 Windows2000、Access2000でVBにて開発をしています。  1.SQLServerのリンクテーブルおよびAccessローカルテーブルからテーブル作成クエリを実行→TableA  2.TableAを「TableA_YYYY/MM/DD」としてSQLServerへコピー(YYYY/MM/DD=出力時の日付) 1.2.を前提に、前日のTableA_YYYY/MM/DDをAccessへ「TableB」としてインポートしたいのですが、 'SQLServerのデータベース名 Path = "ODBC;DSN=AAA;UID=BBB;PWD=CCC;DATABASE=DDD" DoCmd.TransferDatabase acImport, "ODBC データベース", Path, acTable, "TableA_" & DateAdd(d,-1,date), TableB, False, True とすると、 「クエリの構文エラーです。クエリの句が不完全です。」 とエラーになってしまいます。 どなたか、解決策を教えていただけたらと思います。

  • MySQLの接続について教えてください。

    こんにちわ。初心者です。MySQL5 の接続を php5、Apache2、windowsXP を使用して接続したいのですが、 できず困っております。Apacheとphpの相互の設定はできています。セキュリティソフトは念のため止めました。 phpとMySQLの設定がどこかが違うのではないかと思うのですが、 良くわからないのでどなたかアドバイスを宜しくお願いします。 <?php $host=\"aaa\";$name=\"ccc\";$pass=\"ddd\"; $con = mysql_connect($host,$name,$pass); if($con !== false){echo\"ok\";}else{echo\"falsess\";}?> という文をアパッチで表示させると、 Warning: mysql_connect() [function.mysql-connect]: Access denied for user \'ccc\'@\'localhost\' (using password: YES) in C:\\Program Files\\Apache Group\\Apache2\\htdocs\\php\\lesson.php on line 2 falsess

    • 締切済み
    • PHP
  • Mysqlの接続について

    現在、以下のようなperlのスクリプトを作っているのですが、mysqlへの接続,切断は以下の場合、どちらにした方がいいのでしょうか? (1)の場合 use DBI; $dsn="DBI:mysql:database=dbname:host=localhost"; $dbh=DBI->connect($dsn,'user','pass'); $sth = $dbh->prepare("SELECT no,title,name,date,host From `table1` where no='1'"); $sth->execute; $sth->fetchrow_array; $sth->finish; $sth2 = $dbh->prepare("SELECT no,title,name,date,host From `table2` where no='1'"); $sth2->execute; $sth2->fetchrow_array; $sth2->finish; $dbh->disconnect; (2)の場合 use DBI; $dsn="DBI:mysql:database=dbname:host=localhost"; $dbh=DBI->connect($dsn,'user','pass'); $sth = $dbh->prepare("SELECT no,title,name,date,host From `table1` where no='1'"); $sth->execute; $sth->fetchrow_array; $sth->finish; $dbh->disconnect; $dsn="DBI:mysql:database=dbname:host=localhost"; $dbh=DBI->connect($dsn,'user','pass'); $sth2 = $dbh->prepare("SELECT no,title,name,date,host From `table2` where no='1'"); $sth2->execute; $sth2->fetchrow_array; $sth2->finish; $dbh->disconnect; (1)の場合と(2)の場合の違いは、(1)の場合、最初にデータベースに接続して、一番最後に切断する事で、(2)の場合、毎回データベースへの接続と切断を行う事が違います。 (2)の場合、毎回接続と切断を行うので、2回ほどではあまり変わらないかもしれないのですが、もし10回とか接続と切断を行うとかなり負荷が高くなるような気がするのですが、他のHPなどを拝見すると接続をしたら切断を行うように癖をつけるようにした方がいいと書かれていたりします。 どちらの方が正しいやり方というか、負荷がすくなく使えるのでしょうか?

    • ベストアンサー
    • Perl
  • 正規表現で一つ目の区切り文字で区切りたいのですが・・・

    aaa/bbb/ccc/ddd aaa/bbb/ccc/ddd/eee aaa/ccc/ddd $a=~/(.*)\/(.*)/; $1はそれぞれ aaa/bbb/ccc aaa/bbb/ccc/ddd aaa/ccc と成ってしまいます。 このように 「最後の/」で分けられてしまいます。 一つ目の/で分けるにはどうしたらよいでしょうか。

    • ベストアンサー
    • Perl
  • mysql php ループ列の行の値を比べたい

    php、mysqlを見よう見まねでやっている 初心者です。 以下のような表をphpで作りました。 これでできた表の d列の行の値(文字)を全て比べて 値がその他の行と一行でも違っていたら (他の行と揃って同じでなかったら) errorを出したいと思っています。 どのような式を書いたらd列の全ての行の 値(文字)を調べ、errorを出すことが できるのでしょうか? <tr> <th>a</th> <th>b</th> <th>c</th> <th>d</th> </tr> <? while ( $row = mysql_fetch_array( $result )){ ?> <tr> <td><?= $row['a'] ?></td> <td><?= $row['b'] ?></td> <td><?= $row['c'] ?></td> <td><?= $row['d'] ?></td> </tr> <? ; } ?> 結果 a   b  c    d aaa bbb ccc ddd aaa bbb ccc ddd aaa bbb ccc dde→(errorを出したい) errorを出せれば下記のようなif文にしたいと思っています。 <? if($d==error){XXX;} else{ooo;} ?> 上記式も見ようまねでよくわかっていなく、 質問が理解して頂けるかどうかですが、 どうかご教授の程よろしくお願い致します。

    • ベストアンサー
    • PHP
  • MySQLのODBC接続について

    いつも何か壁にぶつかったとき、このサイトを利用させていただいているものです。 早速ですが、今までWEBサーバーにあるMySQLのDBをODBC経由でMicrosoft Access2003に取り込みデータ処理をしておりました。 ところが先日、パソコンがダウンしてしまい、バックアップを取っておりませんでしたので、それを復旧するべくいろいろ試してみましたが、どうしてもうまく接続できません。 そのようなことで、今回また、このサイトを利用させていただくことにしました。 下記に私が試した主なことをお書きいたしますので、ヒントになるようなこと等でもかまいませんので、どこか悪いところをご指摘いただけると幸いに存じます。 以上よろしくお願い申し上げます。 ―――――――――――――――― 私の実行した主な内容 ――――――――――――――――   <phpmyadminで下記の通りユーザ作成>     ユーザ名>テキストフィールドの値:任意の文字列(=A)     ホスト:[すべてのホスト]選択     パスワード:任意に設定(=B)     グローバル特権:すべて特権を有効   <Connector/ODBCで>     Data Source Name:任意の文字列(=A)     TCP/IP Server:MySQLサーバーのホスト名     User:任意の文字列(=A)     Password:上記のパスワード(=B)     Database:当方で設定している名称   <結果> Connnection Failed:[HY000][MySQL][ODBC 5.2(w)Driver] Connection using old(pre-4.1.1) authentication protocol refused(client option ‘secure_auth’ enabled) というエラーメッセージが出て接続ができませんでした。 このエラーメッセージの意味もよくわかりませんので、上記の設定を基本にして、  TCP/IP Serverを、MySQLサーバーのホスト名或いは、IPアドレスに  ODBCドライバーを、MySQL ODBC 5.2 Unicode Driver、または、MySQL ODBC 5.2 ANSI Driverに  OSをWindowsXP、または、7に および、それらを組み合わせたりしましたが、いづれも上記のメッセージが出て接続できませんでした。 なお、MySQLサーバーが同じマシン上にあるローカル環境では、WindowsXP、および、7ともに問題なく接続できます。 以上が、私が実行した内容と結果の概略です。ヒントになるようなこと等でもかまいませんので、教えていただきたくよろしくお願いいたします。