尊敬的专业人员请帮我解决以下问题。 在我的.NET C#应用程序中有这样的代码:SqlConnection引发异常
SqlConnection connection = new SqlConnection(SQLCONNECTION_STRING);
它的工作原理奇妙的我的机器上,但抛出的Windows 2003服务器上的异常。该应用程序通过CGI运行并具有“完全信任”级别。 我试过几个连接串,我认为该字符串不会导致问题,因为即使该代码得到一个例外:
SqlConnection connection = new SqlConnection();
感谢。
我发现了两个奇怪的事实:
- 如果我连接调试器来处理和简单的跟踪代码它的工作原理。
- 它工作,如果我从命令行运行应用程序(而不是通过CGI根据需要)。
所以我猜CGI和SqlConnection交互有问题。有人知道吗?
谢谢大家的回复。
编辑补充:
这里是我的连接字符串: “供应商= SQLOLEDB;数据源=(本地);初始目录=用户;用户ID =用户;密码=密码;”
我也试了几种可能的变体与那里描述:http://www.connectionstrings.com/sql-server
请找到有关下面的异常信息:
The type initializer for 'System.Data.SqlClient.SqlConnection' threw an exception.
at System.Data.SqlClient.SqlConnection..ctor()
at Test.Database.UpdateSQLServerDatabase(IDictionary`2 fields, String regName, StringBuilder regCode)
at Test.Program.Run()
Type: System.TypeInitializationException
InnerException: System.TypeInitializationException: The type initializer for 'System.Data.SqlClient.SqlConnectionFactory' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.Data.SqlClient.SqlPerformanceCounters' threw an 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.get_ConfigPaths()
at System.Configuration.ClientConfigurationHost.GetStreamName(String configPath)
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.GetSection(String sectionName)
at System.Configuration.PrivilegedConfigurationManager.GetSection(String sectionName)
at System.Diagnostics.DiagnosticsConfiguration.GetConfigSection()
at System.Diagnostics.DiagnosticsConfiguration.Initialize()
at System.Diagnostics.Switch.InitializeConfigSettings()
at System.Diagnostics.Switch.InitializeWithStatus()
at System.Diagnostics.Switch.get_SwitchSetting()
at System.Diagnostics.TraceSwitch.get_Level()
at System.Data.ProviderBase.DbConnectionPoolCounters..ctor(String categoryName, String categoryHelp)
at System.Data.SqlClient.SqlPerformanceCounters..ctor()
at System.Data.SqlClient.SqlPerformanceCounters..cctor()
--- End of inner exception stack trace ---
at System.Data.SqlClient.SqlConnectionFactory..ctor()
at System.Data.SqlClient.SqlConnectionFactory..cctor()
--- End of inner exception stack trace ---
at System.Data.SqlClient.SqlConnection..cctor()
即使参数的构造函数给出了一个例外。所以我不认为问题出在连接字符串中。我可以看到堆栈跟踪报告了一些关于“路径中的非法字符”的内容。所以我会试着钻取并找出答案。但也许有人已经知道解决方案。
抛出什么样的异常?例外说什么? – 2009-10-13 10:55:32
abd你的连接字符串是什么样的? – 2009-10-13 11:00:51