none
デスクトップ上のSQL Server Compact Editionに接続できない RRS feed

  • 質問

  • 初めて質問させていただきます。

     

    現在VBでデスクトップ上のSQL Server Compact Edition データベースに接続する部分でつまずいており、

    他サイト等色々と調べましたが解決できず前に進みません。是非アドバイスを頂きたく質問いたします。

     

    開発環境:

    VS2005,VB2005

     

    コード:

        Dim sqlcn As SqlCeConnection = New SqlCeConnection("Data Source=C:\Documents and Settings\user\デスクトップ\Log#1.sdf")
            sqlcn.Open() 'エラー
            Console.WriteLine("接続テストOK")
            sqlcn.Close()

     

    エラー(VSのエラーメッセージをコピー):

    System.DllNotFoundException はハンドルされませんでした。
      Message="DLL 'sqlceme30.dll' を読み込めません: 指定されたモジュールが見つかりません。 (HRESULT からの例外: 0x8007007E)"
      Source="System.Data.SqlServerCe"
      TypeName=""
      StackTrace:
           場所 System.Data.SqlServerCe.NativeMethods.DllAddRef()
           場所 System.Data.SqlServerCe.SqlCeConnection..ctor()
           場所 System.Data.SqlServerCe.SqlCeConnection..ctor(String connectionString)
           場所 mdbtosqlcompact_1.Module1.Main() 場所 C:\Documents and Settings\user\My Documents\Visual Studio 2005\Projects\mdbtosqlcompact_1\mdbtosqlcompact_1\Module1.vb:行 7
           場所 System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
           場所 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
           場所 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
           場所 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
           場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
           場所 System.Threading.ThreadHelper.ThreadStart()

     

    対処:

    ・Books Onlineから、参照設定で、\Program Files\Microsoft SQL Server Compact Edition\v3.1 フォルダにある System.Data.SqlServerCe.dllを追加とあるが、同名のxmlファイルはあるがdllファイルが見つからない。(SQL Server Compact及びVS2005を再インストールしても出てこない)仕方なく、他の \Program Files\Microsoft Visual Studio 8\Common7\IDEフォルダのSystem.Data.SqlServerCe.dllを指定しても上記エラーによりNG。

    ・他サイトでsqlceme30.dll等をプロジェクトフォルダ下にコピーするとあったがこれもNG。

    ・SQL Server の180日体験版を入れていた時は接続できたが関係があるのか?

     

     

    以上なにぶん初心者であり的を得ていない質問かと思いますが、どなたかアドバイスをよろしくお願いします。

     

     

     

     

    2008年2月19日 16:51