none
SQL SERVER LOCAL DB 2014の新規端末インストールについて RRS feed

  • 質問

  • お世話になります。

    LOCALDB 2014 を使用したアプリを作成し、WINDOW7 SP1にインストールする際、

    最低限インストールする必要のあるものをお教え下さい


    以下をインストールしたのですが、DB接続を行うと、

    「SQL Serverへの接続を確立しているときにネットワーク関連またはインスタンス固有のエラーが発生しました。

    サーバーがみつからないかアクセスできません。」といったエラーが出ます。

    sqlncli.msi

    SqlLocalDB_x86.msi (2014) 


     
    2015年12月3日 7:38

すべての返信

  • インストールはそれで問題ないと思います。
    Windows 7ということなので、.NET Framework 4.0.2が入っていないのではないでしょうか? これ以降でないと自動インスタンスでの接続はできません。

    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    2015年12月4日 1:37
  • 返信ありがとうございます。

    .NET Framework 4.0.2が入っていないのではないでしょうか?

    .NET Framework 4.0.2は入っています。

    他に何か原因がありそうな所はありませんでしょうか?

    2015年12月6日 22:48
  • 確認ですが、ひょっとしてWebアプリケーションだったりしませんでしょうか? もしそうなら、以下が参考になると思います。

    Deployment of SQL Express LocalDB on IIS
    http://blogs.msdn.com/b/gaurav/archive/2013/12/21/deployment-of-sql-express-localdb-on-iis.aspx

    Webアプリケーションでない場合、そのLocalDBへの接続文字列を教えて下さい。(もちろん公開してまず部分は伏字にして下さい)。
    LocalDBに接続できない場合、ネットワーク越しではないので見つからないというエラーの場合、接続文字列でLocalDBへの場所を指定している部分がまずは怪しいと思います。もしくはアクセスできないので権限の問題かもしれません。
    また、一時的にSQL Server 2014 Express ManageMent StudioをインストールしてLocalDBへの接続を試行され、問題を切り分けられても良いと思います。


    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    • 回答の候補に設定 星 睦美 2015年12月7日 4:10
    2015年12月7日 0:24
  • 回答ありがとうございます。

    >確認ですが、ひょっとしてWebアプリケーションだったりしませんでしょうか? もしそうなら、以下が参考になると思います。

    Windows アプリで、Visual Studio 2010 VB.netで作成しています。

    接続は以下文字列で接続しています。

    System.Data.SqlClient

    Data Source=(LocalDb)\MSSQLLocalDB;Integrated Security=True;AttachDbFileName=C:\******¥******.mdf

    >一時的にSQL Server 2014 Express ManageMent StudioをインストールしてLocalDBへの接続を試行され、問題を切り分けられても良いと思います。

    一時的にはインストールして接続出来る事は確認し、ManageMentStudioをアンインストールしても実行できました。

    違いを探していたら、

    ODBCデータソースアドミニストレーターを立ち上げ、システムDNSの追加で

       ・システムデータソースの追加で、「SQL Server Native Client 11.0」を選択。
       ・名前は任意で入力し
       ・「サーバー」には、「(LocalDb)\MSSQLLocalDB」
       ・Windows認証を選択。
       ・「既定のデータベース」をドロップダウンし、た際、ManageMentStudioをインストールした端末ではC:\******¥******.mdf

      が選択出来て、接続が出来ました。




    2015年12月7日 2:56
  • ODBCデータソースアドミニストレーターを立ち上げ、システムDNSの追加で

       ・システムデータソースの追加で、「SQL Server Native Client 11.0」を選択。
       ・名前は任意で入力し
       ・「サーバー」には、「(LocalDb)\MSSQLLocalDB」
       ・Windows認証を選択。
       ・「既定のデータベース」にC:\******¥******.mdfを入力し、接続テストをした所、接続出来ましたが、

    .Netアプリから接続しようとしても

    エラーになりました。自動インスタンスへの接続に失敗しているみたいです。

    「SQL Serverへの接続を確立しているときにネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーがみつからないかアクセスできません。」



    2015年12月7日 5:20
  • >.Netアプリから接続しようとしても

    >エラーになりました。自動インスタンスへの接続に失敗しているみたいです。

    ということは、やはり、.Netアプリからその場所にアクセスする権限がないのかもしれません。試しに、mdfの場所を確実にアクセス可能な場所に移してみられてはいかがでしょうか? おすすめは、接続文字列に|DataDirectory|を使うことです。例えば、以下のような感じです。

    AttachDbFilename=|DataDirectory|\mydb.mdf

    Windowsアプリの場合、|DataDirectory|はデフォルトでexeが存在するフォルダに展開されますので、exeと同じ場所にmdfを配置すれば良いです。


    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    2015年12月7日 5:54
  • ご回答ありがとうございます。

    以下のように設定して実行しましたが、エラーとなりました。別にManageMentStudioをインストールしてアンインストールした端末では正常に実行されました。

    Data Source=(LocalDb)\MSSQLLocalDB;Integrated Security=True;AttachDbFileName=|DataDirectory|\RF_LOCALDB.mdf

    エラー内容:[キー 'attachdbfilename' には無効な値です。]

    ※udlファイルを作成して関連付しようとしても、udlの拡張子にしたにも関わらず、開くとメモ帳が起動されてしまいます。何かデータアクセスの為にインストールする必要があるのかもしれません。




    2015年12月7日 6:16
  • まさかとは思いますが、VB2010のプロジェクトのターゲットフレームワークが2.0という話ではないですよね。

    jzkey

    2015年12月7日 8:16
  • ご指摘ありがとうございます。

    ターゲットフレームワークは4.0となっております。

    2015年12月7日 8:59
  • Management Studioをインストールするとやはり起動するので、何かが足りないのかと思われます。

    インストールにはManagement Studioが必須なのでしょうか?

    2015年12月8日 1:58
  • 遅くなりすみません。

    以下のように設定して実行しましたが、エラーとなりました。別にManageMentStudioをインストールしてアンインストールした端末では正常に実行されました。

    Data Source=(LocalDb)\MSSQLLocalDB;Integrated Security=True;AttachDbFileName=|DataDirectory|\RF_LOCALDB.mdf

    エラー内容:[キー 'attachdbfilename' には無効な値です。]

    ManageMent Studioをインストールしてアンインストールした端末は、最初はエラーが発生して動作していなかったのでしょうか? であれば、ManageMent Studioのインストール時に一緒にインストールされた何かが影響している可能性が高いので、以下のことをあてはまらないかもしれませんが、一応、ご紹介しておきます。

    以下によると、やはり端末における.NET Frameworkのバージョンが問題になっているようです。

    invalid value for key 'attachdbfilename'. exception
    https://social.msdn.microsoft.com/Forums/ja-JP/f21ea345-38d6-4570-aed3-27fb1fe04aaa/invalid-value-for-key-attachdbfilename-exception?forum=sqlexpress

    一度、以下を参考にして調査してみられてはいかがでしょうか?

    .NET Frameworkのバージョンを確認する方法 (1/2)
    http://www.atmarkit.co.jp/ait/articles/1210/26/news086.html

    Windows 7の場合、初期でインストールされているのが.NET Framework 3.5.1というのが気になります。

    (追記)
    入れ違いになりましたね。以上の事は関係なさそうです。とりあえず。


    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    • 編集済み trapemiya 2015年12月8日 2:03 追記
    2015年12月8日 2:01
  • 回答ありがとうございます。

    >ManageMent Studioをインストールしてアンインストールした端末は、最初はエラーが発生して動作していなかったのでしょうか? 

    最初はエラーが発生して動作していませんでした。アンインストール後は問題なく動作します。

    バージョン確認しましたが、.netFrameworkは4のフル版が入っていました。

    バージョンは4.0.3をインストールしております。



    2015年12月8日 5:34
  • LocalDB側には問題が無さそうですので、sqlncli.msiのバージョンの問題かもしれません。SQL Server Management Studioをインストールすると、SQL Server Native Clientのバージョンが上がるのかもしれません。

    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    2015年12月9日 4:45
  • バージョンですが、Microsoft SQL Server Native Client 11.00.21.00となります。

    SQL Server 2014 Native Client は存在しないそうなので、SQL Server 2012 Native Clientをインストールしました。

    2015年12月9日 7:53