• ベストアンサー

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

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

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

  • ベストアンサー
  • 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
  • [ODBC]Oracle接続時のエラー

    初めて投稿させて頂きます。 客先システム(ASPサービス)の保守をすることになり社内に環境を構築したのですが、以下の「※」の行で エラーが発生してしまいます。(エラー内容を確認するため、On Error Resume Nextを一時的にコメントにしてあります) インデントが効かないようなので見辛いと思いますが... [ソース] ------------------------------------------------------------------------------- 'オブジェクトの生成 Set wkdbCnct = Server.CreateObject("ADODB.Connection") 'On Error Resume Next ※→wkdbCnct.Open "DSN=" & DBCNN_DSN & "; UID=" & DBCNN_UID & "; PWD=" & DBCNN_PWD & ";" If Err.Number <> 0 Then Set wkdbCnct = Nothing On Error Goto 0 Response.Redirect DBERROR_URL Exit Function End If -------------------------------------------------------------------------------- [エラー内容] Microsoft OLE DB Provider for ODBC Drivers エラー '80040e4d' [Microsoft][ODBC driver for Oracle][Oracle]ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。 DSN等の設定値を確認するため以下のようなデバッグコードを仕込んで、変数「vPara」を画面に表示させてみました。 [デバッグコード入りソース] ------------------------------------------------------------------------------- Set wkdbCnct = Server.CreateObject("ADODB.Connection") On Error Resume Next wkdbCnct.Open "DSN=" & DBCNN_DSN & "; UID=" & DBCNN_UID & "; PWD=" & DBCNN_PWD & ";" If Err.Number <> 0 Then '↓デバッグ用コード val1 = Err.Number val2 = Err.Description vPara = "" vPara = "DSN=" & DBCNN_DSN & "; UID=" & DBCNN_UID & "; PWD=" & DBCNN_PWD & ";" & " | " & "Err.Number = " & val1 & " | Err.Description = " & val2 Exit Function '↑デバッグ用コード Set wkdbCnct = Nothing On Error Goto 0 Response.Redirect DBERROR_URL Exit Function End If -------------------------------------------------------------------------------- [画面に表示したvParaの内容] DSN=HOGE; UID=USER123; PWD=PASS123; | Err.Number = -2147217843 | Err.Description = [Microsoft][ODBC driver for Oracle][Oracle]ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。 SQL*Plusで「USER123/PASS123@HOGE」でログインを試みたところ、問題なく接続出来ました。 どういった事が原因として考えられるでしょうか? [AP&DBサーバ] Windows Server2016 Standard IIS Version 10.0.14393.0 OracleDatabase12c(12.2.0.1) + OracleClient12c(12.2.0.1-32bit) 不足している情報等ありましたらご指摘お願いします。