在 ASP.NET 服务器上定位 .sdf 文件时出错
Posted
技术标签:
【中文标题】在 ASP.NET 服务器上定位 .sdf 文件时出错【英文标题】:error while locating .sdf file on ASP.NET server 【发布时间】:2010-10-22 05:21:00 【问题描述】:我已经完成了一个 Web 项目(使用 C# + SQL CE + ASP.NET),它对 .sdf 文件进行了很少的操作,结果通过 ASP.net 页面显示。当我开始工作时,我硬编码了连接字符串的路径并在我的系统中工作。现在我希望这个数据库驻留在我的服务器页面中。
我如何获得工作目录(本地主机)所以 我可以把它联系起来 字符串?
我尝试过使用
System.Environment.CommandLine 但它给我一个错误提示
"Format of the initialization string does not conform to specification starting at index 98." The outcome of System.Environment.CommandLine is
Data Source= "C:\Program Files\Common Files\Microsoft Shared\DevServer\9.0\WebDev.WebServer.EXE" /port:1438 /path:"C:\Documents and Settings\xxx\Desktop\Project\yyy\Deploy\EMSWEB\Back010\WEB\WEB" /vpath:"/WEB"/tEST.sdf;Persist Security Info=True;
知道吗???
【问题讨论】:
在这里查看我的回复:***.com/questions/3223359 【参考方案1】:看看http://www.connectionstrings.com/sql-server-2005-ce
【讨论】:
nope .. 它确实解决了 ...它指向某个目录。我在桌面测试它,后期将移至服务器【参考方案2】:只是一个快速的建议:永远不要把它放到真实的环境中。 SQL Server CE 不能用作 Web 应用程序的数据库。它在并发访问时表现不佳。
正如@KBoek 所说,connectionstrings.com 应该涵盖您的任何连接字符串问题。无论是桌面还是服务器,只需正确指定数据库的路径即可。我建议您将 .sdf 文件与其他文件放在同一目录中
并使用类似的东西
Data Source=" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\MyData.sdf;Persist Security Info=False;
【讨论】:
【参考方案3】:我终于用
让它工作了connectionString="data source=|DataDirectory|\test.sdf"
在哪里
Data Source=" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\
指向下面这样的某个目录。
C:\Program Files\Common Files\Microsoft Shared\DevServer\9.0\WebDev.WebServer.EXE" /port:1438 /path:"C:\Documents and Settings\xxx\Desktop\Project\yyy\Deploy\EMSWEB\Back010\WEB\WEB" /vpath:"/WEB"/tEST.sdf
【讨论】:
以上是关于在 ASP.NET 服务器上定位 .sdf 文件时出错的主要内容,如果未能解决你的问题,请参考以下文章