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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでセルの書式を変えずに文字...
-
【ExcelVBA】5万行以上のデー...
-
【VBA】 結合セルに複数画像と...
-
VBA 別ブックからコピペしたい...
-
[Excel VBA]特定の条件で文字を...
-
エクセルのマクロについて教え...
-
【ExcelVBA】インデックスが有...
-
Excel 範囲指定スクショについ...
-
VBA 別ブックから条件に合うも...
-
配列のペースト出力結果の書式...
-
【VBA】スペースが入っていない...
-
VBA 入力箇所指定方法
-
エクセルのマクロについて教え...
-
【VBA】値を変更しながら連続で...
-
エクセル タブの下のメニューを...
-
Web画面の文字をVB6で取得したい
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
EXCEL vbaでシート上に配置した...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ApacheのBasic認証のログの取り方
-
外部の別ホストからのPOST送信...
-
phpのパスワード認証
-
パスワード認証後にリンク先を...
-
Basic認証のパスワードをユーザ...
-
会員投稿サイトのCMSについて
-
BASIC認証をHTMLページに埋め込...
-
基本認証の実施判別方法について
-
CSVによるID,パスワードの一括登録
-
SQLConfigDataSourceについて。
-
トップページに簡易認証をつけたい
-
WEBサイト アクセス端末の特定
-
HTTPのBasic認証に自動ログイン...
-
フォーム認証について
-
Linuxからファイルのコピー
-
Amazon Product Advertising AP...
-
jQueryのFullCalendarについて...
-
ホームページ作成サイトで企業...
-
Visual Studio.net 2003 (アカ...
-
携帯PCのアクセス制限。PHP初心...
おすすめ情報