Tag: mysql

没有数据库名称的MySql ConnectionString在c#中创建数据库

我有一个情况,我需要通过使用进入mysql服务器所需的连接字符串创建一个数据库到MYSQL。现在我已经使用了连接字符串与数据库名称。所以在这种情况下什么是连接字符串结构来执行我的在mysql服务器中创建数据库查询。 我需要localtring的Connectionstring .. 请帮我 ..

使用MySql MySQLMembershipProvider – autogenerateschema =“true”不起作用?

我正在尝试在Visual Web Developer 2008中使用MySQLRoleProvider(MySql.Web,Version = 6.2.2.0)。 在尝试添加角色时,我得到一个例外“表’test.my_aspnet_applications’不存在” if (!Roles.RoleExists(“TestRole”)) { Roles.CreateRole(“TestRole”); } 有人能告诉我哪里出错了。 或者告诉我如何生成/找到正确的数据库脚本来创建角色,成员资格,配置文件…… MySql表。

其他用户进行更改时刷新Windows程序?

场景: 4个用户启动连接到基于数据库的待办事项列表的相同客户端程序(Winforms)的单独实例。 第一个用户选择第三个待办事项列表项。 如何更新/刷新其他3个用户屏幕以反映项目#3不再可用? 我的想法是一个包含最后更新日期时间戳的表。 然后计时器将每隔几秒检查一次,看看是否有任何变化。 UPDATE1: 感谢所有人 – 肯定有许多有效的答案。 我选择了Icemanind推荐的更简单版本的场景。

ASP.NET Web窗体和MySqlentity framework:“不支持嵌套事务”

我有一个ASP.NET Web表单应用程序,使用.Net Connector for MySql Entity Framework。 我以前使用MySql创建了一个Web应用程序,但从未遇到过这个问题。 我目前每天获得大约20000次页面浏览量,并且每天大约有10次“嵌套交易”错误不受支持。 我无法弄清楚它为什么会发生,为什么它只会偶尔发生一次。 在主页面预加载事件中,我获得用户的整数ID并将其保存到公共变量: using (var entity = new Entities()) { var user = entity.my_aspnet_users.Single(i => i.name == Context.User.Identity.Name); UserID = user.id; if (HttpContext.Current.Request.Url.AbsolutePath != “###” && HttpContext.Current.Request.Url.AbsolutePath != “###”) { if (user.Player == null) Response.Redirect(“###”, true); else PlayerID = user.Player.PlayerID; } } 然后在页面上: using (var entity = […]

使用C#将记录插入MySQL数据库

我目前正在使用C#WPF开发一个应用程序。 我正在尝试将数据存储到MySQL数据库中。 以下是我的代码。 MySqlCommand cmd = new MySqlCommand(“”, conn); cmd.CommandText = “INSERT INTO BUG_REPORTS (bug_softwareID, bug_firstName, bug_lastName, bug_email, bug_description, bug_ip_addr, bug_dateReported) ” + “VALUES (@softwareID, @firstName, @lastName, @email, @description, @ip_addr, @dateReported)”; cmd.Parameters.Add(“@softwareID”); cmd.Parameters.Add(“@firstName”); cmd.Parameters.Add(“@lastName”); cmd.Parameters.Add(“@email”); cmd.Parameters.Add(“@description”); cmd.Parameters.Add(“@ip_addr”); cmd.Parameters.Add(“@dateReported”); cmd.Parameters[“@softwareID”].Value = softwareID; cmd.Parameters[“@firstName”].Value = getFirstName(); cmd.Parameters[“@lastName”].Value = getLastName(); cmd.Parameters[“@email”].Value = getEmail(); cmd.Parameters[“@description”].Value = getDescription(); cmd.Parameters[“@ip_addr”].Value = […]

AWS Aurora服务器有时会响应“未知数据库:…”

我有一个.NET应用程序,它在Amazon Aurora RDS中的MySQL数据库上执行查询。 该数据库是MySQL 5.6数据库 – Aurora附带的版本。 我对数据库中的模式(名称:flight)执行查询(名称:SSIMLoader)。 我正在使用MySQL 6.9.8.0库。 edit:连接字符串指向群集中的主服务器,而不是指向特定服务器。 执行插入,选择和更新时会发生错误,因此没有真正的模式。 即使简单的select语句也会随机失败 但是,通过MySQL工作台执行查询时,我们没有收到此类错误。 重新启动服务器后,错误消失了几天然后返回。 我们有一些非常激烈的查询,可以在长时间内将CPU提高到90%,但即使在CPU降低到10%之后,错误仍然存​​在。 有没有其他人经历过这个,如果有的话,你是怎么过去的? 提前致谢。 编辑:最后再次出错: MySql.Data.MySqlClient.MySqlException(0x80004005):在MySql.Data.MySqlClient.MySqlConnection的MySql.Data.MySqlClient.NativeDriver.ReadOk(布尔读取)的MySql.Data.MySqlClient.MySqlStream.ReadPacket()中的未知数据库’flight’ .ChangeDatabase(String databaseName)位于Universal.Access.Database.BaseDatabaseConnection的Universal.Access.Database.BaseDatabaseConnection.EstablishFactoryConnection()的MySql.Data.MySqlClient.MySqlConnection.Open()位于MySql.Data.MySqlClient.MySqlConnection.Open()处。位于C:\ tc-projects \ universal-platform \ Universal.Core \ DataModel \ ExecutableDatabaseConnection.cs:第65行的Universal.Core.DataModel.ExecutableDatabaseConnection.ExecuteQuery(String sqlQuery)中的.ExecuteReader(CommandType commandType,CommandText commandText)。 这是正在运行的查询: UP-DEV | Universal.Core.Data.Importer Error finding current record, SQL: SELECT aircraft_config,updated_by,asa_flight_id,atd_utc,bay,terminal,is_cancelled,flight_number,created_at,from_iata,flight_date_utc,std_local,takeoff_time_local,is_international,is_aerocare,cobt_local,customer_atd_local,takeoff_time_utc,std_utc,atd_local,asa_state,aircraft_type,customer_atd_utc,carrier_code,updated_at,gate,service_type,etd_local,cobt_utc,flight_status,etd_utc,aircraft_rego,created_by,id,flight_date,to_iata FROM flight.departure_flight WHERE carrier_code=’JQ’ AND flight_date_utc=’2017-01-20T00:00:00′ AND flight_number=’57’ AND from_iata=’MEL’. […]

如何在C#中表示MySQL数据库模式?

标题不是那么准确,但我无法想出更好的标题。 我正在尝试为MS的Forefront Identity Manager编写MySQL连接器(FIM基本上是一个同步引擎,它使用元目录同步各种数据源之间的身份)。 但是我很难找到合适的设计。 假设我想将数据库中的用户数据导入到FIM的metaverse中。 用户对象具有各种属性,如firstname,lastname,address等。在数据库中,这些属性可以在多个表之间分配。 FIM最终需要将这些属性合并到一个对象中。 因此,用户需要配置连接器以告诉它数据如何存储在数据库中。 我想知道什么是代表这种配置的“最佳”方式。 有两种选择(我的): 我可以保存一个合并/连接数据的选择查询,这样结果就是一个包含所有所需属性的“表”。 这个问题是我认为我必须对这个查询字符串进行某种解析,以便从中创建一个fim兼容模式(基本上是对象类型的名称(fe“person”)和属性列表)。 这个模式需要单独从查询字符串创建而不实际执行查询(如果这样可以简化过程,我可以执行一些假查询)。 我可以创建一些类来表示数据库模式,即表和关系。 由于我不熟悉MySQL(或根本就没有数据库),我冒着错过一些特殊情况的风险。 此外,它可能是某种矫枉过正,因为一旦配置了架构,就可以假设它是固定的。 有没有人对选择哪种替代方案以及如何解决随之而来的问题有相同的建议? 还是有另一个 – 更好 – 替代我没想到的? 任何建议将不胜感激! 如果不清楚,请告诉我。 编辑 :由于对用例有一些问题,我将详细说明: 正如我所说,我正在为FIM开发管理代理。 FIM提供了一个所谓的可扩展连接管理代理,它基本上是一个实现一些接口的单一类。 (有关示例实现,请参阅此technet指南 )。 由于我想开发一个用于管理MySQL数据库中的身份的通用代理,我不知道编译时的数据库布局。 当最终用户想要使用管理代理时,他需要决定他想要管理的身份的哪些属性。 所以我需要给用户一些配置管理代理的方法。 我的主要问题是,如何设计类以保存此配置。 让我们看一个简单的例子: 假设您想要管理员工身份。 为了简单起见,我们有三个属性: 名字 姓 部门 在这个示例中,它可能只是一个包含4列的单个表(属性加上一个id)。 但它也可以是更好的设计,它使用两个表,一个用户表和一个部门表,使用1:1关系来定义用户部门。 FIM要求我在一个对象中合并这些属性。 它提供了一个CSEntryChange类,它有一个AttributeChanges集合成员。 然后我会创建一些AttributeChange实例(它基本上包含属性名称和它的值)并将它们添加到集合中。 因此,用户可编辑的配置必须告诉管理代理如何从db获取具有所有已定义属性的用户以及如何在该数据库中创建和修改用户。 理想情况下,我有一些“MySQLSchema”类(由用户预先配置),可以返回List (我实际上不会为了解耦而使用CSEntryChange类,但是你应该得到包含db中所有用户的观点(分页可能是一个要求,但我可以稍后解决)。 此外,我希望能够传递一个CSEntryChange ,这将导致相应的数据库条目更新(或创建,如果尚未存在)。 我希望这清楚一点:)

使用MYSql的Entity Framework,在复杂实体返回类型中不返回任何列

我正在将MySQL与edmx文件结合使用。 在向存储过程添加函数时遇到问题。 当我选择“复杂类型”并按“获取列信息”按钮时,我收到以下消息:“所选存储过程不返回任何列。” 当我在SQL Server中创建相同的过程,然后将该函数添加到新的edmx文件时,它完美地创建了复杂类型。 谢谢, 瑙曼

我需要建议开发敏感数据传输/存储/加密系统

介绍 我目前正在开展一个项目,该项目涉及从VisualFox Pro数据库中每日提取数据(药房记录),并将其中的一些上传到WordPress网站,药房的客户可以安全地查看它。 我想在我的软件的一般方法方面提出一些建议 – 我能够对其进行编码,但需要知道我是否采用了正确的方法。 我正在编写PC软件(在C#/ .NET 4.5中)和PHP WordPress插件。 问题1:加密 我计划使用的加密数据服务器端的当前进程基于本文 。 总而言之,它主张用存储在服务器上的自己的公钥非对称地加密每个单独的用户数据。 然后,用于解密该数据的私钥本身使用用户的密码对称加密并存储。 这样,即使数据库被盗,也需要破坏用户的密码哈希,即使这样,也需要为每个用户的数据重复该过程。 作者本人指出的唯一弱点,以及我的问题的主要观点是,当用户登录时,解密的密钥存储在会话存储中。 文章建议处理它的方式是仅限制用户登录的时间。我认为更好的解决方案是将该密钥存储在短期安全cookie中(当然整个过程通过HTTPS进行) 。 这样,如果攻击者可以控制用户的计算机并且可以读取他们的cookie,他们可能只需键入密码并登录,无需窃取数据库,而即使攻击者获得对服务器的访问权限,他们也无法解密HTTPS流量(或者可以吗?我不确定。) 我应该使用安全cookie或会话存储来临时存储解密密钥吗? 问题2:存储 我还想解决的第二件事是如何存储数据 – 这更像是一个效率问题。 由于每个用户都有自己的加密密钥,因此每个用户的记录必须单独存储。 我不知道是否应该为每个用户存储一个“块”数据,包含带有表示记录的对象数组的加密JSON,或者我是否应该将记录存储在具有实际数据结构的表中,并加密每个数据字段与钥匙分开。 我倾向于将数据存储为一个块 – 在我看来,一次解密一个大块数据比使用数千个单独的字段更有效。 此外,即使我以正确的结构存储数据,我仍然无法使用MySQL的WHERE,ORDERBY等,因为数据都是BLOB。 我应该将数据存储为每个用户的大块,还是分成不同的字段? 问题3:转移 我从DBF文件中提取数据,并基本上形成一个“差异”,从而比较当前提取的数据和最后一天的数据,并只上传已更改的用户的块(我不仅可以上传记录,因为我可能最终将用户的数据存储在块中)。 我还为已被删除的用户添加了“删除”说明。 这是因为数据库中有数十万条记录,总计超过200mb,并且每天都会增加大小。 我目前的计划是将所有这些数据写入JSON文件,gzip并将其上传到服务器。 我的问题是,如何在确保数据安全的同时做到这一点? 当然,上传将通过HTTPS进行,我有一个API密码,只允许授权上传,但我主要担心的是如果服务器受到损害,如何保护数据。 我不希望攻击者只是在处理服务器时从服务器获取JSON文件。 我的一个想法是让服务器向我发送用户的公钥列表,并在上传之前在我的软件中执行加密。 在我看来,这是保护数据的唯一方法。 我可以加密整个JSON文件,可能使用API​​密钥或特殊密码,但如果攻击者可以在服务器上处理解密文件时只是访问解密文件,那就没有实际意义了。 这是一个好的解决方案吗? 我应该在客户端单独加密数据,还是有办法将其安全地传输到服务器并在那里加密? 在此先感谢任何答案,我很想听到之前处理过这类问题的人。 注意: 交叉发布给程序员 ,请参阅注释。

从DataReader访问DateTime字段时出现MySqlConversionException

我使用MySQL连接器在MySql上有一个C#应用程序; 我正在尝试创建DataReader请求,查询执行正常,但是,当尝试访问DateTime字段时,我得到MySqlConversionException {“无法将MySQL日期/时间值转换为System.DateTime”} 这是原型 if (dr != null && !dr.Read()) return; sesion.Id = Convert.ToInt32(dr[“id”]); sesion.Usuario = Convert.ToInt32(dr[“usuario”]); sesion.Estado = Convert.ToByte(dr[“estado”]); // doesn’t work sesion.FchCreacion = Convert.ToDateTime(dr[“fch_creacion”]); 有什么建议? 提前致谢