我已经完成了一个Web项目(使用C#+ SQL CE + ASP.NET),它使用.sdf文件进行少量操作,结果通过ASP.net页面显示。当我开始工作时,我硬编码连接字符串的路径并在我的系统中工作。现在我希望这个数据库驻留在我的服务器页面内。
如何获取工作目录(localhost) 我可以把它连接起来 字符串?
我尝试使用
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;
任何想法???
答案 0 :(得分:0)
答案 1 :(得分:0)
快速建议:切勿将其置于真实环境中。 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;
答案 2 :(得分:0)
我终于使用
工作了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