none
2005SQLサーバDbConnectStringの設定について RRS feed

  • 質問

  • 質問させて頂きます。

    あるアプリケーション動作環境を設定しています。

     旧環境 SQL2000 VB.NET2003

     新環境 SQL2005 VB.NET2005です。

    問題は2000から2005に移行したサーバに接続できません。 
    信頼性の関係が確立できませんと表示されます。

    DbConnectString>data source=XXXX; initial catalog=XXXX; persist security info=False; user id=XXXXX; Password=XXXX</DbConnectString>
    上記 HTMLでSQLのサーバ認証をおこなっている部分です。

    質問 SQL2005のサーバの設定がWINDOWS認証となっているようなので
    その定義はそのまま残し、上記HTMLのDbConnectStringをどのように変更すれば宜しいでしょうか?
    できれば既存のアプリケーションはサーバ認証で接続していますので、
    その部分は変更せずに動作させたいのです。
    教えてください。宜しくお願い致します。   
    2007年3月30日 5:59

すべての返信

  • これだけでは情報が足りません。

    1. SQL Server 2005 が Windows 認証のみになっているから、Windows 認証を利用したものにしたい?
    2. SQL Server 2005 への接続には IIS 経由ですよね?
    3. IIS とブラウザの認証は匿名認証?
    4. IIS と SQL Server は別筐体?
    5. SQL Server 2005 既存のアプリケーションはサーバ認証といっていますが、SQL 認証であるから混合認証にしたい?

    まず 4. があるので、SQL Server の認証を混合認証にする必要があります。

    設定はレジストリの値を変更するだけなんですが、私のブログ(http://blogs.sqlpassj.org/mitsugi/)にあるんですが、どうもブログサーバが死亡中なんでしばらくたってからアクセスしてください。

    後は、質問に答えていただいてからにします。

    ただし、場合によってはかなり面倒なことをしなければならない場合があります。

     

     

    2007年3月30日 6:19
  •  

    おがわみづき様

     

    ご回答ありがとうございます。

    説明不足で申し訳ありません。以下説明補足致します

     

     

     

    SQLSQL Server 2005 Windows 認証のみになっているから

    これだけでは情報が足りません。

    1. SQL Server 2005 Windows 認証のみになっているから、Windows 認証を利用したものにしたい?

    >>その通りです。あるアプリケーションの動作確認していますが、まずDBに接続し動作確認をしたいのです。そのアプリケーションはサーバ認証で接続しています。SQL2005

    のサーバ認証での設定方法がわからず、windows認証で接続をする方法を

    模索していましたが、わかりませんでした。

    とにかく動作確認を優先させてたい思いで、Windows認証で接続を設定しようと思っていますが、このアプリケーションのようにサーバ認証で接続させたいと思っています。

     

     

    1. SQL Server 2005 への接続には IIS 経由ですよね?

    >>違うと思います。下記VBソースで接続しています。

    正直よくわかっていません。

    m_dbConnection = New SQLConnection((New SystemInfomation).DatabaseConnectionString & ";")

                    m_dbConnection.Open()

     

    1. IIS とブラウザの認証は匿名認証?

       >>いいえ ユーザidとパスワード設定し認証します。

     

    1. IIS SQL Server は別筐体?

     

     >>同じ筐体です

    1. SQL Server 2005 既存のアプリケーションはサーバ認証といっていますが、SQL 認証であるから混合認証にしたい?

      >>その通りです。

     

    まず 4. があるので、SQL Server の認証を混合認証にする必要があります。

    設定はレジストリの値を変更するだけなんですが、私のブログ(http://blogs.sqlpassj.org/mitsugi/)にあるんですが、どうもブログサーバが死亡中なんでしばらくたってからアクセスしてください。

     

    >>ブログ拝見させていただきます。

     

     

    後は、質問に答えていただいてからにします。

    ただし、場合によってはかなり面倒なことをしなければならない場合があります。

    >>

    以上 申し訳ありませんが、SQLサーバについてあまり詳しくありませんので

    なにか良いアドバイスがあれば宜しくお願い致します。

    やりたいことは

    VB.NETのアプリケーションを動作確認する。この場合windows認証でも結構です。

    しかし将来的にはサーバ認証で接続し動作させたいと考えています。

    お手数をお掛けいたしますが、宜しくお願い致します。

                                       田中

       

     

     

     

    2007年3月31日 7:41
  • 引用がわかりにくくて答えずらいです。

    IIS → SQL Server への Windows 認証ですが、どういつ筐体であれば、ASPNET ユーザ(NETWORK SERVICE)が自動的に登録されているので、そのままいけるとは思うんですが、IIS の認証が Windows 認証(Windows 統合認証、基本認証)なのか、Form 認証なのかによって、答えが変わってきます。
    というか、VB.NET だから認証は違うというのは別次元の話で、IIS (ASP.NET プログラム)から SQL Server 2005 に認証を Windows 認証なのか混合認証なのかが焦点なのです。

    Web では Form 認証をするために、SQL Server 2005 へは Windows 認証ということであれば、ASPNET(NETWORK SERVICE) の偽装が必要になります。

    偽装の設定は Web.Config で設定します。

    ここまで書けば後はヘルプでわかるでしょう。

    IIS とクライアント(ブラウザ)との間が Windows 認証で、SQL Server が別筐体で SQL Server へも Windows 認証をする場合は、Active Directory の委任を行う必要があり、かなりめんどくさいことになります。

    SQL Server 2005 への Windows 認証接続文字列は Data Source=XXXX;Initical Catalog=XXXX;Trusted_Connection=yes; だけです。書き方には複数の記述方法があるので臨機応変でお願いします。

    SQL 認証を有効にして混合認証化するには

    http://blogs.sqlpassj.org/mitsugi/archive/2006/01/17/15834.aspx

    を参考にしてください。これは SQL Server 2005 Express を例になっていますが、SQL Server 2005 でも同様です。

    2007年3月31日 8:11
  • おがわみづき様

     

    ご回答ありがとうございます。

     

    Windows 認証で接続するように設定しました。

    m_dbConnection = New SqlConnection("server=<xxxxx>\<xxxx>;database=testdb;trusted_connection=yes")

    と記述しましたら

    下記メッセージが表示されました。

     

    “サーバーへの接続を確立しているときにエラーが発生しました。SQL Server 2005 に接続しているときときにこのエラーが発生した場合は、SQL Server の既定の設定がリモート接続を許可しないようになっていることがエラーの原因である可能性があります。 (provider: SQL ネットワーク インターフェイス, error: 26 - 指定されたサーバーまたはインスタンスの位置を特定しているときにエラーが発生しました)

     

     

    SQLのサービスと接続のセキュリティー構成のリモート接続の設定値を確認しましたが、“ローカル接続及びリモート接続”になっていました。

     

    ちなみにSQL2005は評価版です。

    お忙しいところ申し訳ありませんが、ご回答を宜しくお願い致します。田中

    2007年4月2日 5:55
  • 提示された接続文字列は ODBC 時代なものです。

    現在では

    Data Source=ServerName\InstanceName;Initial Catalog=DatabaseName;Trusted_Connection=yes;

    が妥当です。

    で、インスタンス名が指定されている場合、SQL Server Browser サービスの起動必須です。

    2007年4月2日 7:19
  • おがわみづき様

     

    ご返答ありがとうございます。

    この問題はおかげさまで解決致しました。ありがとうございました。

     

    また別な問題が発生しましてお聞きしたいのですが宜しいでしょうか?

     

    バックアップから復元できないエラーが発生しました。

    全く別なPCからバックアップファイルをコピーしてSSMSから実行しました。(ネットワーク等は接続していません。)

     

    復元元: windows xp SQL2005 

     

    復元先: windows vista SQL2005

     

    エラーメッセージ

    オペレーティングシステム エラー5 アクセスが拒否されました。

    SQL Server エラー 3201

     

    と表示されました。権限の問題なのでしょうか?

     

     

    お忙しいところ申し訳ありませんが、ご回答を宜しくお願い致します。

    2007年4月4日 5:59
  • 当然聞きますが、Windows Vista にインストールされている SQL Server 2005 は Service Pack 2 が適用されているんですよね?

    これはバックアップファイルの NTFS のアクセス権だと思います。

    SQL Server 2005 を実行しているサービスアカウントに権限がありますか?

    あと、私はわかりますが、あまり SQL Server の知識がない方には暗号のように思われる可能性と誤った意思の疎通があるので、変な略語はやめましょう。

    なるべく正式名称を略さずに書いたほうが良いです。

    例えば、SQL Server 2005 Express とか SQL Server 2005 Express with Advanced Services など似てる名称もあるので。

    2007年4月4日 8:51
  • おがわみづき様

     

    ご返答ありがとうございます。

    DB復元はおかげさまで解決致しました。ありがとうございました。

    何回もご質問させて頂まして、真に恐縮ですが,また別な問題が発生しました。お聞きしたいのですが宜しいでしょうか? SQL2005 Service Pack 2 をインストールしてDBの復元作業は問題なくできたのですが、下記問題が発生致しました。

     

    business intelligence development studioMicrosoft SQL Server 2005

    フォルダーからなくなりました。また Service Pack 2をインストールする前にレポートサンプルを作成しましたが、プロジェクトを開くこともできず、”プログラムがインストールされていません”と表示されてしましいました。インストール作業をやり直しても結果は同じでした。

     

    Service Pack 2のインストール作業になにか問題があったのでしょうか?インストール時は、特に変わったメッセージ等は

    表示されませんでした。

     

    お忙しいところ申し訳ありませんが、ご回答を宜しくお願い致します。

    田中

    2007年4月5日 2:42
  • Business Intelligence Devlopment Studio の実態は Visual Studio 2005 です。

    もとから SQL Server 2005 のディレクトリにはありません。

    C:\Program Files\Microsoft Visual Studio 8

    にあります。

    SQL Server 2005 のどのエディションをつかっていますか?

    まさか SQL Server 2005 Express with Advanced Services を使っていて、アップデートじゃなく、アンインストールして、SQL Server 2005 Express Service Pack 2 をインストールしたんじゃないですか?

    あと SQL Server 2005 Toolkit を入れていないとか。

    2007年4月5日 6:02
  • おがわみづき様

     

    ご返答ありがとうございます。

    インストール作業手順が誤っていたようでした。最後にSQL Server 2005 Toolkitを再インストールしたら表示されました。ありがとうございました。

    ひとつお聞きしたいのですが宜しいでしょうか?

    business intelligence development studioでバーコードを印刷が可能とありましたが、

    どのように出力するのでしょうか?

    画面設定など調べましたがどこにもそれらしい設定する場所もありません。

    ご存知でしたら教えていただけないでしょうか? 

    お忙しいところ申し訳ありませんが、ご回答を宜しくお願い致します。

    田中

    2007年4月10日 23:48
  • 新しい質問は新たにスレッド起こしましょう。

    #正当なやり方じゃなくて、別の観点からの実現方法はしっていますが。

     

    質問は SQL Server Business Intelligence フォーラム へどうぞ。

    2007年4月11日 3:32