- - PR -
接続文字列からユーザIDとパスワード取得
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-04-03 11:19
<言語 VB.NET>
お世話になります。 SQLServer用接続文字列から、ユーザIDとパスワードを取得したいと考えています。 (例) Provider=SQLOLEDB.1;Password=XXXX;Persist Security Info=True;User ID=user;Initial Catalog=iPCNet;Data Source=SERVER この文字列から、 ユーザIDである「user」の4文字と、 パスワードである「XXXX」を取得したいと考えています。 ユーザIDとパスワードは環境によって異なるので文字数が一定しません。 自分なりに考えたのは、「;」を区切り文字として分割し、 ユーザIDは「USER ID=user」の頭9文字目以降を取得、 パスワードは「Password=XXXX」の頭10文字目以降を取得 と考えています。 もっと効率よく取得できる方法はないでしょうか? よろしくお願いいたします。 | ||||
|
投稿日時: 2008-04-03 11:54
indexofで"User ID="を検索して';'の直前までを切り出してもできますが、この程度の処理にかかる時間は全体から見ればゴミみたいなものなので、あまり面倒な方法でなければどれでもいいでしょう。
| ||||
|
投稿日時: 2008-04-03 12:12
saki1208です。
ConnectionStringBuilderクラスに渡してやればプロパティで取得できませんか。 # スペル間違いを訂正 [ メッセージ編集済み 編集者: saki1208 編集日時 2008-04-03 15:39 ] | ||||
|
投稿日時: 2008-04-03 12:59
mio様、saki1208様
返信ありがとうございます。 おかげ様で取得することができました! 本当にありがとうございました。 | ||||
|
投稿日時: 2008-04-03 13:34
今後同じような質問をする方がいらっしゃるかも しれませんので「どのようにして解決したか」を 書いておくといいかもしれませんね。 個人的にも、おいろんさんがどのように実装 されたかは興味深く思います。 よろしくお願いします。 _________________ ぽぴ王子@わんくま同盟 ぽぴ王子の人生プログラミング中 / ぽぴンち。 | ||||
|
投稿日時: 2008-04-03 14:32
実装内容を記載しておりませんでした。大変失礼いたしました。
ConnectionStringBuilderは.NET2.0からということで、 私は1.0を使用しており、使用することができませんでした。 (バージョンをお伝えしておりませんでした。申し訳ありません) やり方としましては私が当初考えたとおり ';'を区切り文字として分割し、 indexofで"User ID="を検索して';'の直前までを切り出した形となります。 Dim strConstr As String ' 接続文字列 Dim strUserID As String ' 接続ユーザID '接続文字列分割 Dim parts As String() parts = Split(strConstr, ";", -1, CompareMethod.Binary) Dim s As String For Each s In parts 'ユーザ名取得 If s.IndexOf("User ID=") >= 0 Then strUserID = s.Substring( Exit For End If Next .NET2.0ならば、ConectionStringBuilderですんなりいけるかと思います。 (まだ試していないですが) | ||||
|
投稿日時: 2008-04-03 15:47
saki1208です。
";"でsplitした後、"="でさらにsplitして dictionaryに格納しとくってのもありかも。 ちなみに2.0でConnectionStringBuilderを 使用する方法は確認済みです。 [ メッセージ編集済み 編集者: saki1208 編集日時 2008-04-03 15:51 ] | ||||
|
投稿日時: 2008-04-03 16:09
おいろんさんありがとうございます。
Split で ; ごとに分割して、その中から User ID= を 探し出したという感じでしょうか。
私も同じようなことを考えていました その上で、"=" の左辺が "User ID" であるか判断して (この場合大文字小文字を区別しない)一致したらば 右辺をユーザーIDとみなす、という感じですね。 _________________ ぽぴ王子@わんくま同盟 ぽぴ王子の人生プログラミング中 / ぽぴンち。 |