No.2ベストアンサー
- 回答日時:
多少ODBCを勉強しなおしましたので、報告いたします。
O S:WIN2KServer SP2
TOOL:VB6SP5
での検証報告です。
Cのヘッダファイル
C:\Profram Files\Microsoft Visual Studio\Vc98\Inculude\ODBCINST.H
に
// SQLConfigDataSource request flags
#define ODBC_ADD_DSN 1 // Add data source
#define ODBC_CONFIG_DSN 2 // Configure (edit) data source
#define ODBC_REMOVE_DSN 3 // Remove data source
#if (ODBCVER >= 0x0250)
#define ODBC_ADD_SYS_DSN 4 // add a system DSN
#define ODBC_CONFIG_SYS_DSN5 // Configure a system DSN
#define ODBC_REMOVE_SYS_DSN6 // remove a system DSN
#if (ODBCVER >= 0x0300)
#define ODBC_REMOVE_DEFAULT_DSN7// remove the default DSN
#endif /* ODBCVER >= 0x0300 */
という宣言がありました。
SQLConfigDataSource関数に与える定数を変更することで、システムDSNへの登録が可能なようです。(未検証)
さらにユーザDSNの情報は
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI
システムDSNの情報は
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI
内部に設定されるようです。
システムDSNの情報はレジストリを読み取ることによって可能だと思います。
参考URLは二つあります。
http://www.galliver.co.jp/writing/msdn/msdn01/in …(かなり下の方)
http://www.vbvbvb.com/jp/gtips/index0251.html(レジストリ操作)
参考URL:http://www.vbvbvb.com/jp/gtips/index0251.html
この回答への補足
参考URLの2つ目をもとに、検証してみました。
システムDSNの情報、レジストリを問い合わせモードでオープンすることによって、存在の可否を確認することができました。
'レジストリOPEN関数
Declare Function RegOpenKeyEx Lib "advapi32.dll" _
Alias "RegOpenKeyExA" _
(ByVal hkey As Long, _
ByVal lpSubKey As String, _
ByVal ulOptions As Long, _
ByVal samDesired As Long, _
phkResult As Long) As Long
' レジストリの主キーの定義済みハンドルを示す定数の宣言
Public Const HKEY_LOCAL_MACHINE = &H80000002
' セキュリティのアクセスマスクを示す定数の宣言
Public Const KEY_QUERY_VALUE = &H1
------------------------------------------
RegOpenKeyEx(HKEY_LOCAL_MACHINE, _
《レジストリのキー名》, _
0, _
KEY_QUERY_VALUE, _
lngRegSubKeyHandle)
(この関数の戻り値を見ることによって判断します・・・)
これでシステムDSNに登録されていない時のみ
確認することができそうです。
詳しい調査結果の掲載、ありがとうございます。
システムDSNへの登録は、先週末に私も少し検証をしました。
どうやら「ODBC_ADD_SYS_DSN(=4)」で可能なようです。
ちなみに、削除についても「ODBC_REMOVE_SYS_DSN(=6)」でできました。
レジストリの話のところまでは私もまだ未確認ですので
こちらでも、参考URL等を元にもう少し調査してみることにします。
No.1
- 回答日時:
>ODBCのデータソース登録内容の確認
これは無理かも?
おそらくどこかのファイルに情報が書き込まれているのだと思いますが、わかりません。。。
しかし、エラー回避(On Error ・・・)を実行後に削除、そして追加を行ったら、すでにあろうと無かろうと関係なく、登録ができると思います。
参考URLにSQLとAccessへのODBCの登録方法を載せてあります。そちらを参考にしてみてください。
もしOracleなら、ちょっと改造するだけで登録できます。
ぼくはODBC接続をたまにしますが、データソースを使用しないでODBC接続を行っています。
必要であれば、そちらも公開しますよ。
(ODBCで接続するDBの種類も書くようにしてくださいね。)
参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=108207
この回答への補足
DBの種類はAccess(95です)を使っています。
作業でAccessしか使っていなくてSQL-ServerとかOracleの存在を忘れてました。すみません。。。
他に、ご存知の方、いらっしゃいましたらまだ締め切らないでおこうと思いますので回答をお願い致します・・・。
早速の回答ありがとうございます。
・・・実は、そのソース、過去ログからちょっと参考にさせていただいてたりします^^;
登録の作業そのものに関しては、TAGOSAKU7さんが公開しているそのソースでいけるということが確認できました。
登録をする前に、既に登録されていないかどうかをチェックして、登録されていない場合のみ処理を行いたかったのですが、どうも無理っぽいですね・・・。
でも、既にあっても無くても登録作業自体はできるようですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
夏が終わったと感じる瞬間って、どんな時?
まだまだ暑い今日この頃。 しかしながら、もう夏は終わっている!……はず。 あなたが思う「夏が終わった!」エピソードを教えてください。
-
【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
2024年は「名探偵コナン30周年」「涼宮ハルヒ20周年」などを迎えますが、 あなたが「もうそんなに!?」と驚いた○○周年を教えてください。
-
メモのコツを教えてください!
メモを取るのが苦手です。 急いでメモすると内容がごちゃごちゃになってしまったり、ひどいときには全く読めない時もあります。
-
昨日見た夢を教えて下さい
たまにすごいドラマチックな夢見ること、ありませんか? 起きてからも妙に記憶に残っているような、そんな夢。
-
架空の映画のネタバレレビュー
映画のCMを見ていると、やたら感動している人が興奮で感想を話していますよね。 思わずストーリーが気になってしまう架空の感動レビューを教えて下さい!
-
ODBCの自動登録について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
三菱ufjニコスカードのVIZAを使...
-
regsvr32.exe による DLLの登...
-
番号の登録しない人っていますか?
-
骨髄バンクに登録して、骨髄移...
-
誰も電話帳にSNSプロフィールっ...
-
教えて!gooを新規登録する時に...
-
自販機でモバイルPASMOが使えない
-
ウイルスバスター、登録したP...
-
ms-imeのユーザー辞書登録した...
-
楽天ポイントカードを2年前に作...
-
いいね!ボタンを2回押しちゃっ...
-
日本の世界遺産の数
-
ウィルスバスターの2台目登録...
-
ヤマダモバイル機種変更
-
Excel2010でアクセスキーを作る
-
プリ画ゲットできる方ー!
-
JMAILの取得
-
質問履歴を非公開にしても各ユ...
-
友達から使用済みTカードをもら...
-
CDDBにデータが登録されるまで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
三菱ufjニコスカードのVIZAを使...
-
regsvr32.exe による DLLの登...
-
誰も電話帳にSNSプロフィールっ...
-
fc2登録について
-
自販機でモバイルPASMOが使えない
-
マッチングアプリにいる女性に...
-
中国のファイル共有サイト115.c...
-
ウイルスバスター、登録したP...
-
特定商工業者?(法定台帳登録...
-
番号の登録しない人っていますか?
-
すべてのチェックボックスがoff...
-
Benesseのマナビジョンで、氏名...
-
教えて!gooを新規登録する時に...
-
"regsvr32" の名前の由来は?
-
ODBCのデータソース登録内容の確認
-
ご近所さんを探せ
-
VBAのNEXTに対するforがありま...
-
内線番号が設定出来ません
-
ベガプロモーションというライ...
-
いいね!ボタンを2回押しちゃっ...
おすすめ情報