SQL Server CE:文件解析为太长的路径。

时间:2011-08-29 10:57:43

标签: entity-framework sql-server-ce ef-code-first

我正在尝试追踪SQL Server CE问题,这意味着我无法在计算机的本地硬盘驱动器上使用SQL Server CE。显然,错误信息是假的,因为文件名不能接近260个字符

  

文件解析为太长的路径   最大长度为260个字符。 [文件名= D:\ db.sdf]

特别是D:驱动器。我有一个非常简单的EF代码第一个应用程序,我想使用SQL Server Compact Edition进行单元测试。当我第一次尝试访问数据库时运行应用程序时,我得到上面的错误。最初我尝试使用简单的文件名作为连接字符串中的数据源:

<add name="MyContext" 
     connectionString="Data Source=db.sdf" 
     providerName="System.Data.SqlServerCe.4.0" />

但得到了错误。

然后我尝试指定根驱动器:

<add name="MyContext" 
     connectionString="Data Source=D:\db.sdf" 
     providerName="System.Data.SqlServerCe.4.0" />

并得到了同样的错误

如果我尝试使用网络驱动器或c驱动器:

<add name="MyContext" 
     connectionString="Data Source=C:\db.sdf" 
     providerName="System.Data.SqlServerCe.4.0" />

<add name="MyContext" 
     connectionString="Data Source=\\Server\path\db.sdf" 
     providerName="System.Data.SqlServerCe.4.0" />

它工作正常,db已创建并执行了操作。

我尝试在procmon中挖掘所有我能找到的是一个Explorer.exe进程报告d:驱动器的无效设备。

任何帮助非常感谢

干杯

戴夫

1 个答案:

答案 0 :(得分:0)

听起来有点像我的问题

我正在使用MS Sql Server Management Studio Express R2 SP1 ...

当我尝试在D:驱动器上创建一个CE / sdf数据库时,它只是向我闪烁,并再次询问我的数据库路径

我设法在D上创建一个CE数据库:通过Visual Studio(内联服务器管理器),但SSMSE仍然无法访问它

如果我在C上这样做:它运作正常。

奇怪,但我认为Sql CE只讨厌没有C驱动器?