- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个用 asp.net c# 和 MySQL 数据库编写的 Web 服务应用程序。我正在使用 MySQL 提供程序 (v6.9.4.0) 来获取成员资格、角色和配置文件。对于配置文件,我用它来存储 7 个属性、姓名、公司等。
到目前为止,我能够正常连接和访问数据库,读取所有用户和所有其他信息。我能够毫无问题地创建和删除用户帐户,并且所有配置文件属性都正确保存在“my_aspnet_profiles”表中。
但是,当我尝试更改现有帐户的某些属性时,出现以下异常(包括堆栈跟踪):
System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.Configuration.Provider.ProviderException: Profile update failed. ---> MySql.Data.MySqlClient.MySqlException: Column 'lastUpdatedDate' cannot be null
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
at MySql.Web.Profile.MySQLProfileProvider.SetPropertyValues(SettingsContext context, SettingsPropertyValueCollection collection)
--- End of inner exception stack trace ---
at MySql.Web.Profile.MySQLProfileProvider.SetPropertyValues(SettingsContext context, SettingsPropertyValueCollection collection)
at System.Configuration.SettingsBase.SaveCore()
at System.Configuration.SettingsBase.Save()
at System.Web.Profile.ProfileBase.SaveWithAssert()
at System.Web.Profile.ProfileBase.Save()
at Cylon.QuoteEngine.Application.Web.AccountManager.SaveUserProfile(String username, CylonProfile customProfile) in C:\Work\Web\AccountManager.cs:line 86
这在我使用本地计算机上托管的 MySQL 实例时有效,但是当我尝试使用服务器上托管的数据库运行应用程序时,出现异常。
这里是我试图保存用户配置文件的地方:
public void SaveUserProfile(string username, CylonProfile customProfile)
{
var profile = ProfileBase.Create(username);
profile.SetPropertyValue("Name", customProfile.Name);
profile.SetPropertyValue("Company", customProfile.Company);
...
profile.Save();
}
在我的 web.config 文件中,提供者声明为:
成员(member)提供者:
<membership defaultProvider="MySqlMembershipProvider">
<providers>
<clear />
<add name="MySqlMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web,Version=6.9.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="ApplicationServices" enablePasswordRetrieval="true" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Encrypted" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" autogenerateschema="true" />
</providers>
</membership>
个人资料提供者:
<profile enabled="true" defaultProvider="MySqlProfileProvider">
<properties>
<add name="Name" type="String" />
<add name="Company" type="String" />
...
</properties>
<providers>
<clear />
<add name="MySQLProfileProvider" type="MySql.Web.Profile.MySQLProfileProvider, MySql.Web, Version=6.9.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" applicationName="/" connectionStringName="ApplicationServices" autogenerateschema="True" description="" writeExceptionsToEventLog="False" enableExpireCallback="False" />
</providers>
</profile>
角色提供者:
<roleManager enabled="true" defaultProvider="MySqlRoleProvider">
<providers>
<clear />
<add connectionStringName="ApplicationServices" applicationName="/" name="MySqlRoleProvider" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web,Version=6.9.4.0, Culture=neutral,PublicKeyToken=c5687fc88969c44d" autogenerateschema="true" />
</providers>
</roleManager>
我假设“lastUpdatedDate”列会自动更新,我不需要做任何编码来设置这个值,是吗?谁能解释为什么它发生在托管服务器上,而不是在我的本地机器上?我该怎么做才能修复它?
如果您需要更多信息,请告诉我,我可以添加。
最佳答案
抱歉没有足够的声誉来评论,但你可以看看这里,它看起来相关: How do you set a default value for a MySQL Datetime column?
更新
可能与 MySql v5.6.19 中的错误有关 bugs.mysql.com/bug.php?id=68472
如果 select @@explicit_defaults_for_timestamp;
返回 1,请尝试将 my.ini 文件中的值更改为 0。
该文件通常位于 C:\Program Files\MySQL\MySQL Server x.xx\my.ini
关于c# - 尝试更新用户配置文件会引发 MySqlException : column 'lastUpdatedDate' cannot be NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27152228/
我正在尝试使用 NHibernate 来连接我的 MySQL,但本地主机数据库的连接仍然存在问题。 异常(exception): MySql.Data.MySqlClient.MySqlExcepti
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 已关闭 9 年前。 此问题似乎偏离主题,因为缺乏足够的信息来诊断问题。更详细地描述您的问题或 include
我正在尝试使用以下代码片段打开与 MySql 数据库的连接: string connectionString = "Server=ip_number;Database=database_name;Ui
所以我捕获了 MySqlException,因为我知道我尝试输入重复的主键。如果我调用消息,它会显示例如: "Duplicate entry '2' for key 'PRIMARY' 所以它知道哪个
我想将系统日志保存在MySQL数据库中,这是我的代码 EventRecord record; while ((record = reader.ReadEvent()) != null) { u
我正在尝试在 LONGTEXT 列中插入字符串。字符串长度为 75402,字节数为 150804(约 147 KB) 插入记录时抛出异常数据对于列来说太长。 MySQL文档规定LONGTEXT最多可以
我在Nhibernate中写了一个测试mysql连接的项目。此异常显示.. NHibernate.HibernateException: 'You have an error in your
这个问题已经有答案了: Must declare the table variable @table (3 个回答) 已关闭 7 年前。 我正在编写一段非常简单的代码,但无法弄清楚为什么这些参数对我的
我正在使用 asp.net MVC 和 mysql 数据库。我安装了 MySql.Data v8.0.16.0 和 MySql.Data.EntityFramework v8.0.16.0。 在 we
在Visual Studio Pro上完成代码后,错误列表栏上没有错误。因此,当我运行代码时,如以下代码所示, pop 了未处理的异常窗口: MySql.Data.MySqlClient.MySqlE
无法弄清楚我的代码出了什么问题。我想从 mysql 数据库中检索一个 sha256 key 。 keys table: Id(int 4) | key (varchar64) 1
所以我尝试使用该表单来更新 xampp 上的数据库。但是,当我尝试更新时,我在这部分的标题中收到错误:reader = objcommand.ExecuteReader()非常感谢所有帮助。 代码如下
代码如下所示 public HttpResponseMessage PostUser(User user) { if (ModelState.IsValid) { tr
我能够很好地连接到数据库,但是当我尝试 INSERT 时,我收到了这个神秘的错误: 发生错误 0:命令执行期间遇到 fatal error 。 我已经检查过,所有参数都有值,并且它们与列标题完全匹配,
enter image description here 我正在使用 Visual Studio 编写程序。我在登录表单中收到错误。当我在网上搜索时。我找不到任何修复。我用vb.net的时候没有任何问
我有一个用 asp.net c# 和 MySQL 数据库编写的 Web 服务应用程序。我正在使用 MySQL 提供程序 (v6.9.4.0) 来获取成员资格、角色和配置文件。对于配置文件,我用它来存储
我正在使用带有 schema.sql 文件的 Spring JDBC 进行 Spring Boot 数据库初始化。我正在使用 MYSQL 如果我在 schema.sql 中创建简单的表,如下所示,它工
我遇到过这个问题: 错误:已经有一个与此连接关联的打开的 DataReader,必须先将其关闭。 请看我的代码: Dim sqlQuery As String = "SELECT * FROM us
我正在尝试创建一个跨越两个数据库表的新 UserFingerprintModel。一个来自 PaymentFingerprint,一个来自 PaymentFingerprintGrant。对于我的服务
如何从.net身份代码的自动脚手架中获得重复条目错误: public async Task OnPostAsync(string returnUrl = null) {
我是一名优秀的程序员,十分优秀!