ошибка при поиске файла .sdf на сервере ASP.NET - PullRequest
1 голос
/ 22 октября 2010

Я сделал веб-проект (используя C # + SQL CE + ASP.NET), где он мало манипулирует с файлом .sdf и результаты отображаются на странице ASP.net. В то время как я начал работать, я жестко закодировал путь строки соединения и работал в моей системе. Теперь я хочу, чтобы эта база данных находилась на моей странице сервера.

Как мне получить рабочий каталог (localhost) так что я могу поставить это в связи строка?

Я пытался использовать

System.Environment.CommandLine, но выдает ошибку «1010 *»

"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;

Есть идеи ???

Ответы [ 3 ]

0 голосов
/ 22 октября 2010

Просто быстрый совет: никогда не помещайте это в реальную среду.SQL Server CE НЕ должен использоваться в качестве базы данных для веб-приложения.Он не очень хорошо работает с параллельным доступом.

И, как сказал @KBoek, connectionstrings.com должен решить любые проблемы со строкой подключения.Будь то рабочий стол или сервер, нужно только правильно указать путь к базе данных.Я предлагаю вам сохранить файл .sdf в том же каталоге, что и другие файлы

, и использовать что-то вроде

Data Source=" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\MyData.sdf;Persist Security Info=False;
0 голосов
/ 28 октября 2010

Я наконец-то заставил его работать, используя

connectionString="data source=|DataDirectory|\test.sdf"

, где

 Data Source=" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\

Указывает на какой-нибудь каталог, как этот ниже.

0 голосов
/ 22 октября 2010
...