Приложение CGI с ошибкой SQL LINQ - PullRequest
1 голос
/ 06 августа 2011

У меня проблема с запуском приложения C # CGI на сервере ISS Windows Home Premium.Мой код выглядит следующим образом:

        Console.Write("Content-Type: text/plain\n\n");
        string conn = "Data Source=|C:\\DB|\\RegisteredUsers.sdf";
        Console.WriteLine(conn); // Added for debugging
        RegisteredUsers userdb = new RegisteredUsers(conn); //DBML file from SqlMetal Here

Я получаю ошибку:

Data Source=RegisteredUsers.sdf

Unhandled Exception: System.Configuration.ConfigurationErrorsException: Configuration     system failed to initialize ---> System.ArgumentException: Illegal characters in path.
   at System.Security.Permissions.FileIOPermission.HasIllegalCharacters(String[] str)
   at System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess    access, AccessControlActions control, String[] pathListOrig, Boolean checkForDuplicates,    Boolean needFullPath, Boolean copyPathList)
at System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess access,  String path)
at System.AppDomainSetup.VerifyDir(String dir, Boolean normalize)
at System.AppDomainSetup.get_ConfigurationFile()
at System.Configuration.ClientConfigPaths..ctor(String exePath, Boolean includeUserConfig)
at System.Configuration.ClientConfigPaths.GetPaths(String exePath, Boolean includeUserConfig)
at System.Configuration.ClientConfigurationHost.GetStreamName(String configPath)
at System.Configuration.ClientConfigurationHost.get_IsAppConfigHttp()
at System.Configuration.ClientConfigurationSystem..ctor()
    at System.Configuration.ConfigurationManager.EnsureConfigurationSystem()
    --- End of inner exception stack trace ---
    at System.Configuration.ConfigurationManager.EnsureConfigurationSystem()
    at System.Configuration.ConfigurationManager.PrepareConfigSystem()
    at System.Configuration.ConfigurationManager.GetSection(String sectionName)
    at System.Configuration.PrivilegedConfigurationManager.GetSection(String sectionName)
    at System.Data.Common.DbProviderFactories.Initialize()
    at System.Data.Common.DbProviderFactories.GetFactoryClasses()
    at System.Data.Linq.SqlClient.SqlProvider.GetProvider(String providerName)
    at     Syst em.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Initialize(IData   Services dataServices, Object connection)
   at System.Data.Linq.DataContext.Init(Object connection, MappingSource mapping)
    at System.Data.Linq.DataContext..ctor(String fileOrServerOrConnection, M appingSource mapping)
    at Validate.Program.Main(String[] args)

Кажется, ошибка либо в строке conn = @"Data Source=RegisteredUsers.sdf"; или RegisteredUsers userdb = new RegisteredUsers(conn);, и у меня нет причиныполагать, что определение строки плохое, поэтому я думаю, что оно в RegisteredUsers userdb = new RegisteredUsers(conn);

1 Ответ

0 голосов
/ 06 августа 2011

Строка подключения не должна быть буквальной строкой;просто удалите знак @ и избегайте обратной косой черты с обратной косой чертой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...