VBからODBCに登録するプログラムを作っています。
API関数のSQLConfigDataSourceを使っています。
ヘルプやネットで調べて、作成することはできました。
が、パスワードとユーザ名が登録していない状況での
ことです。
ここにもいくつかODBCに接続に関しての投稿を見ました。
パスワードとユーザ名指定しているサンプルやURL
なんかもあったのでいってみて、実際に自分のプログラムでも
試したのですがどうもうまくいきません。
SQLConfigDataSourceの引数のひとつである、ODBC_REMOVE_SYS_DSNと
ODBC_ADD_SYS_DSNを使いました。
ODBC_REMOVE_DSNとODBC_ADD_SYSを先に使ってみましたが
こちらもできませんでした。
なぜ"SYS"がつくものとつかないものふたつあるのでしょうか?
先に質問のパスワードとユーザー名指定して登録できないのは、
これと関係あるのでしょうか?
全くの初心者で申し訳ありませんが、よろしくお願いします。
No.5ベストアンサー
- 回答日時:
SQLさばについて
データベースのプロパティのセキュリティタブに認証方式がある
混合モード/Windows認証
これらはDBをSQLさばをインストールするときに選択を求められる
接続先のDBをおいているマシンにユーザ権限があって、しかもパスワードが同じなら、Windows認証が働いて、入れてしまう。
SQLさばは、誉れ高いMS商品
初期設定が初心者向きで扱い易い
しかしちょっとつつけば、すーぱゆーざ権限で入れるというセキュリティの弱さダントツを秘めた諸刃の剣
これを回避するにはWin認証を行わない。
ドメイン環境でActiveDirectoryを導入。
などのデフォルト設定以外の事をしないとだめズラ
勉強になりました。
現状では、パスワードとユーザ名は指定しないで追加することで進みました。
最後まで質問にお答えくださいましてありがとうございました。
No.4
- 回答日時:
現状ソースの公開求む
使用しているDBは何?
>Administratorででてきいました。
とは、「何が」できたの?
追加?それともログイン?
もしSQLさばを使っているなら、
ログイン認証はWindows認証?それとも混合モード?それともSQLで割り与えたユーザのみ?
この回答への補足
使用するAPI関数
Private Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" _
(ByValhwndParent As Long, _
ByVal fRequest As Long, _
ByVal lpszDriver As String, _
ByVal lpszAttributes As String)As Long
Private Const ODBC_ADD_SYS_DSN = 4
Private Const ODBC_REMOVE_SYS_DSN = 6
---------------------------------------------------------------------------
Private Function ODBCData()
Dim SqlODBC As Boolean
Dim Driver As String
Dim Attributes As String
Driver = "SQL Server"
Attributes = "DSN=データソース名"+ vbNullChar + _
"SERVER=サーバー名" + vbNullChar + __
"UID=ユーザ名" + vbNullChar + _
"PWD=パスワード+ vbNullChar + _
"DATABASE=データベース名" + vbNullChar
sqlODBC = SQLConfigDataSource(0, ODBC_REMOVE_SYS_DSN, Driver, Attributes)
wiRCode = SQLConfigDataSource(0, ODBC_ADD_SYS_DSN, Driver, Attributes)
End Function
こんな感じに書きました。
一応ネットでSQLConfigDataSourceの説明が載っているページを見てまねしました。
あと、ログイン認証は?とのことですが、すみません。わかりません。
もしかしてそれが重要だったりするんですか?
No.2
- 回答日時:
よく読むベシ
SYSがついたらシステムDNSに登録
そうでなければユーザDNS
ついでに言うなれば、システムDNSは、ログイン時の権限によっては操作不能
この回答への補足
ありがとうございました。
何度も同じページを読んでいましたが、読み飛ばしていたようです。すみませんでした。
SYSがつくものとつかないものの違いは分かりました。
では、なぜユーザー名とパスワードをつけると追加されないのでしょうか?
ちなみに、追加はされますがユーザ名とパスワードを指定していないので、Administratorででてきいました。
No.1
- 回答日時:
この回答への補足
すみません。
そのページはすでに読みました。
検索サイトでSQLConfigDataSourceにひっかがるページはほとんど行ったんですが、
まだ分からないので、ここに投稿させてもらいました・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- その他(コンピューター・テクノロジー) 下に書いたの条件でgoogleアカウントの復旧方法等を教えてください。 1 2023/02/06 23:32
- Access(アクセス) Access DAOのExecuteメソッドのオプション(RecordsetOptionEnum)に 1 2022/09/19 07:34
- その他(クラウドサービス・オンラインストレージ) このような条件でデータを置いておけるサービス 3 2022/07/25 08:31
- Google Drive グーグルドライブの共有の設定がうまくできません 1 2022/11/28 00:44
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- gooブログ Blogの使い方(ブログ・ユーザ設定について) 1 2022/04/23 12:40
- X(旧Twitter) 【至急】twitterを乗っ取られたのでしょうか? 1 2022/09/08 02:34
- ライフスタイル・ヘルスケア adidas runningというスマホアプリにログインできない?? 2 2023/03/17 21:39
- 政治 コロナ全数把握見直し、コロナアプリCOCOA、早くも役立たずですか? 2 2022/08/26 12:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba 実数および実数タイプの変...
-
Excelのマクロについて教えてく...
-
VBA レジストリの値の読み方に...
-
ExcelのVBAコードについて教え...
-
Excel マクロについての相談
-
Excel VBA 定義されたプロージ...
-
Vba SelStart、SelLen教えてく...
-
エクセルのマクロについて教え...
-
VBAに詳しい方教えてください。
-
VBAの質問になります メッセー...
-
ユーザーフォームに別シートか...
-
2つのマクロでチェックボックス...
-
VBA listBoxから
-
VBA初心者 Ctrl+での操作、ボタ...
-
VBA 複数条件の分岐処理の上手...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
左右の表のキー位置を合わせたい
-
VBAの質問になります Userform内で
-
Excelについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ApacheのBasic認証のログの取り方
-
SQLConfigDataSourceについて。
-
外部の別ホストからのPOST送信...
-
HTTPのBasic認証に自動ログイン...
-
Basic認証のパスワードをユーザ...
-
Excel VBA で Webからデータを...
-
javaでldap認証の勉強をするに...
-
jQueryのFullCalendarについて...
-
パスワード認証後にリンク先を...
-
Tomcatの基本認証が8080ポート...
-
SMTPの認証を得るには
-
ASP Response.Write("401 Unaut...
-
年齢認証ページの作成を依頼さ...
-
ソフトウェアのWEB認証(アクテ...
-
携帯PCのアクセス制限。PHP初心...
-
Linuxからファイルのコピー
-
BASIC認証の画面すら出し...
-
PHPの$_SERVER["REQUEST_URL"]...
-
JANコードを検索出来るサイト
-
google.co.jpはホスト名ですか?
おすすめ情報