長短我的機器有問題,我不得不重建它。我重新安裝了所有的軟件,並將我的項目備份放回到機器上。我一直在試圖解決我無法解決的SQL連接問題。Web.config和MySQL問題。
因此,經歷了許多更改和錯誤,我把工作生產版本放回到我的機器上。當我運行它,我得到以下錯誤: 分析器錯誤信息:未知的數據庫「p10009307_sec」
數據庫被稱爲我的SQL Workbench和如果我把一個頁面上的數據庫連接,並配置它,我可以連接。
問題是它在哪裏找不到MySQL?我假設它在Webconfig中,但我沒有看到任何不尋常的東西,會使本地主機不同。我只用參考MySQL的部分製作了我的webconfig副本。
`<connectionStrings>
<remove name="LocalMySqlServer" />
<add name="LocalMySqlServer" connectionString="server=localhost;password=xxxxxxxxxx;
User Id=xxxxxxxxxx;logging=True;database=xxxxxxxxxx_sec" providerName="MySql.Data.MySqlClient" />
<add name="'LocalSqlServer" connectionString="server=localhost;database=xxxxxxxxxx_CUS;
logging=True;password=xxxxxxxxxx;User Id=xxxxxxxxxxER" providerName="MySql.Data.MySqlClient" />
<remove name="LocalSqlServer" />
<add name="p10009307_cusConnectionString" connectionString="server=localhost;
User Id=xxxxxxxxxxER;password=xxxxxxxxxx;database=xxxxxxxxxx_CUS"
providerName="MySql.Data.MySqlClient" />
<add name="p10009307_cusConnectionString2" connectionString="server=localhost;
User Id=xxxxxxxxxER;password=xxxxxxxxxx;database=xxxxxxxxxx_CUS;
SQL SERVER MODE=True" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
<system.data>
<DbProviderFactories>
<add name="MySQL Data Provider" invariant="MySQL.Data.MySqlClient"
description=".Net Framework Data Provider for MySQL"
type="MySQL.Data.MySqlClient.MySqlClientFactory, MySql.Data,
Version=6.4.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
<system.web>
<customErrors mode="Off" />
<compilation targetFramework="4.0" debug="true">
<assemblies>
<add assembly="MySql.Data, Version=6.4.4.0, Culture=neutral,
PublicKeyToken=c5687fc88969c44d" />
</assemblies>
</compilation>
<authorization>
<allow roles="Admin" />
</authorization>
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
<membership defaultProvider="MySQLMembershipProvider">
<providers>
<clear />
<remove name="MySQLMembershipProvider" />
<add name="MySQLMembershipProvider"
type="MySql.Web.Security.MySQLMembershipProvider,
MySql.Web, Version=6.4.4.0, Culture=neutral,
PublicKeyToken=c5687fc88969c44d" applicationName="/"
description="Membership Provider"
connectionStringName="LocalMySqlServer"
writeExceptionsToEventLog="True"
autogenerateschema="True"
enablePasswordRetrieval="False"
enablePasswordReset="True"
requiresQuestionAndAnswer="False"
requiresUniqueEmail="False" passwordFormat="Clear"
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7"
minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10"
passwordStrengthRegularExpression="" />
</providers>
</membership>
<profile defaultProvider="MySQLProfileProvider">
<providers>
<clear />
<remove name="MySQLProfileProvider" />
<add name="MySQLProfileProvider" type="MySql.Web.Profile.MySQLProfileProvider,
MySql.Web, Version=6.4.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"
applicationName="/" description="Profile provider"
connectionStringName="LocalMySqlServer" writeExceptionsToEventLog="False"
autogenerateschema="True" />
</providers>
</profile>
<roleManager enabled="true" defaultProvider="MySQLRoleProvider">
<providers>
<clear />
<remove name="MySQLRoleProvider" />
<add applicationName="/" description="Role Provider" connectionStringName="LocalMySqlServer"
writeExceptionsToEventLog="True" autogenerateschema="True" name="MySQLRoleProvider"
type="MySql.Web.Security.MySQLRoleProvider, MySql.Web, Version=6.4.4.0, Culture=neutral,
PublicKeyToken=c5687fc88969c44d" />
</providers>
</roleManager>
<sessionState mode="Custom" cookieless="true" regenerateExpiredSessionId="true"
customProvider="MySqlSessionStateProvider">
<providers>
<add name="MySqlSessionStateProvider" type="MySql.Web.SessionState.MySqlSessionStateStore,
MySql.Web, Version=6.4.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"
applicationName="/" description="State Provider" connectionStringName="LocalMySqlServer"
writeExceptionsToEventLog="True" autogenerateschema="True" />
</providers>
</sessionState></system.web>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" />
<bindingRedirect oldVersion="0.0.0.0-6.3.7.0" newVersion="6.4.4.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>`
一切都在這一點上我已經把DLL的bin目錄中運行的本地主機,我不知道我缺少什麼。
分析器錯誤信息:未知數據庫 'p10009307_sec' 81行:82 行:<添加的applicationName = 「/」 描述= 「狀態提供程序」 的connectionStringName = 「LocalMySqlServer」 writeExceptionsToEventLog = 「真」 83行:autogenerateschema = 「真」 名稱= 「MySqlSessionStateProvider」 類型= 「MySql.Web.SessionState.MySqlSessionStateStore,MySql.Web,版本= 6.4.4.0, 線84:文化=中性公鑰= c5687fc88969c44d」/> 85行: –
StephanM
我不確定我完全理解「未知數據庫」p10009307_sec「」部分,尤其是因爲它被標記爲「解析器錯誤」。 web.config上下文中的解析器錯誤將涉及xml-syntax或conn-string語法。你的連接字符串是否正確?如果有疑問:創建一個.udl文件(將空文本文件重命名爲something.udl);雙擊它打開,然後用它來設置和測試連接字符串。完成後,在記事本中打開該文件,conn-string將在那裏供您複製。另外,請看http://connectionstrings.com網站;也許你會在那裏找到一些指針。 – 2012-01-30 16:48:30
似乎不喜歡的添加?customProvider = 「MySqlSessionStateProvider」> <添加的applicationName = 「/」 描述= 「狀態提供程序」 的connectionStringName = 「LocalMySqlServer」 writeExceptionsToEventLog = 「真」 autogenerateschema的前5點的屬性=「True」name =「MySqlSessionStateProvider」type =「MySql。Web.SessionState.MySqlSessionStateStore,MySql.Web,版本= 6.4.4.0, 文化=中性公鑰= c5687fc88969c44d」 /> 的sessionState> –
StephanM