掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ADO.NETでUDLファイルを利用して接続 (ID:91465)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> Const connstr = "File Name=C:\xxx\xxxx.udl" > Dim conn As New ADODB.Connection > conn.Open connstr, "myuserid", "mypassword" ADOなら、 conn.Open "File Name=C:\test.udl;User ID=aaa;Password=bbb;" の構文も使えますよ。 # ADO.NET(OleDbConnection)では駄目かも知れませんけど。 > UDLファイルはメモ帳でも簡単に開けるのにバイナリファイルなのは > 何なんでしょうか? テキストファイルです。ただし、Shift_JISではなく、Unicodeですけど。 .NETから読み取るなら、こんな感じでしょうか。 Dim T As New System.IO.StreamReader(S, System.Text.Encoding.Unicode) T.ReadLine() T.ReadLine() '先頭2行は読み飛ばし Dim S As String = T.ReadLine() '実際の接続文字列 > サンプルをVB6で作成したら結構苦労しました。 VB6から読み書きするなら、 案1) ADODB.Streamオブジェクトを使って、テキストストリームとして処理 案2) バイナリファイルとして読み取って、そのままCStrで文字列化 などとすれば OK でしょう。先頭2バイトのBOM(FF FE)に注意。 編集画面が必要な場合は、CreateObject("DataLinks")を使えばOK。 > UDLファイルにユーザーIDとパスワードを持たせると誰でも簡単に > アクセス出来てしまう セキュリティを気にするのであれば、プログラム中への埋め込みも危険です。 .NET Reflector等を使えば、exeからソースコードを得る事ができますので。 ……もっとも、それでもUDLに埋め込むよりは遥かにマシですけれどね。 > 以下は、VB.netで作成したものです。 この手法の場合、『;』や『Data Source』といった文字列が、 含まれていた場合の対処も、考慮する必要があるかも知れません。 たとえば、「〜; Extended Properies="Text;Database=C:\Data Source\"; 〜」といった接続文字列の場合とか。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.