2016-07-11 4 views
0

私はこれをかなり読んでおり、これを行う方法を理解するのに苦労しています。SQLいつもセルに入っていた既知のフレーズとの間に結果を表示する方法

基本的に、私は私がMEMBER_TYPEとして識別されている列があり、そしてどのようなこの列に表示するには、次のように見えるの接続文字列です:

プロバイダ= SQLOLEDB.1;ユーザーID =ユーザー、パスワードを=パスワード:データソース=ホスト名;初期カタログ= DESIRED_RESULT;セキュリティ情報を維持するTRUE/FALSE;最小プールサイズ= 5;最大プールサイズ= x

基本的に、すべての接続文字列で、 Member_Type列の結果の戻り値は、「Initial Catalog =」の後、「Persist Security」の前のすべてであり、これらの語句はすべての結果に表示され、変数および重要な情報はInitial Catalog dです返されるデータベース名。

ユーザーID、パスワード、およびデータソースはすべて数百の異なるサイトで異なるため、文字数が私にとっては役に立たない可能性があります。

誰かが、Catalog =と; Persistの間に表示される結果をどうやって取得するのか教えていただけますか?

ありがとうございました!

+0

む〜。なぜこのようなdbパスワードを保存していますか?それはセキュリティが欠けている。 –

+0

[アイテムxにアクセスできるように文字列を分割するにはどうすればよいですか?](http://stackoverflow.com/questions/2647/how-do-i-split-a-string-so-i-can- –

+0

ええ、パスワードの問題で私を始めさせてもらえません...それは他のすべての会話です。 –

答えて

0

これは、あなたが必要なものを取得する必要があります:

DECLARE @variable VARCHAR(255) = 'Provider=SQLOLEDB.1;User ID=User;Password=Password;Data Source=Hostname;Initial Catalog=DESIRED_RESULT;Persist Security Info=TRUE/FALSE;Min Pool Size=5;Max Pool Size=x' 

SELECT SUBSTRING(STUFF(@variable ,1 ,CHARINDEX('Catalog=' ,@variable) + 7 ,'') ,0 , 
       CHARINDEX(';Persist' ,STUFF(@variable ,1 ,CHARINDEX('Catalog=' ,@variable) + 7 ,''))) 

結果:DESIRED_RESULT

関連する問題