Tag: oracle

entity framework一对多插入 – 外键违规

我第一次使用Entity Framework,我正在尝试使用集合创建一个对象(我希望集合中的所有对象也可以在数据库中创建)但是我有一些外键违规。 我的样本表: table APPOINTMENTS: ID, VAR1, DATE_APPOINTMENT table GUESTS: ID, APPOINTMENT_ID, USER_ID, VAR2, VAR3 我的测试代码: DomainService aux = new DomainService(); APPOINTMENTS appointment = new APPOINTMENTS(); appointment.VAR1 = “BLA”; appointment.DATE_APPOINTMENT = new DateTime(); //The user with id = 1 is already created in the database appointment.GUESTS.Add(new GUESTS { USER_ID = 1, VAR2 = 1, VAR3 […]

如何为工人座位安排生成“社交高尔夫球手”矩阵?

这一挑战是社交高尔夫球手问题场景。 我有一个有320人的公司。 我最近实施了一个按目标管理(MBO)计划,其中每个工作人员都被分配了每月完成的目标。 其中一个经常性的目标是按时到达工作,每天早上参加30分钟的咖啡和dounut会议。 会议在我们的餐厅举行,共有50张桌子。 每张桌子最多可容纳8人。 每个工作日正负80个座位是空的,因为目前最大容量为400个。我想生成一个循环座位安排,以便每个人可以轮流与其他人会面和协作。 (编辑)规则:每个工作日需要8人独特。 一个人不能再与他们过去坐过的其他人坐在一起,直到所有可能的排列都已用完为止。 编辑:所需结果的一个例子是: Day 1: Table 1 will seat worker numbers 1,2,3,4,5,6,7,8. Table 2 will seat worker numbers 9.10,11,12,13,14,15,16 … Table 50 will seat worker numbers 313,314,315,316,317,318,319,320 **NOTE:** (So, the next workday and thereafter, workers 1 through 8 cannot ever be seated with any other workers from that […]

为什么我会收到ORA-01722(无效号码)?

我一直在使用参数化查询将值插入到Oracle表中,如下所示: var q = “insert into MyTable(Field1, Field2…) values(:Field1, :Field2…)”; var cmd = new OracleCommand(q, conn); // conn is a pre-existing connection cmd.Parameters.Add(“Field1”, field1Val); cmd.Parameters.Add(“Field2”, field2Val); // etc… cmd.ExecuteNonQuery(); 这一直工作正常,但突然这已停止工作,我收到Oracle错误ORA-01722(无效数字)。 我检查了参数,所有数字无疑都是有效的数字。 我甚至为任何空值替换了虚拟值,我仍然得到错误。 我在直接sql(使用OraDeveloper Studio)中尝试了相同的查询,即使使用相同的参数也可以。 如何跟踪这个? 编辑:评论中的每个请求,这是创建表语句: CREATE TABLE ALPHA.VISITFINDINGS ( ID NUMBER(12), VISITID NUMBER(12) NOT NULL, DESCRIPTION VARCHAR2(100), CUSTOMIMAGE CLOB, VISUALFINDINGSSECTIONMAPID NUMBER(12), FINDINGSID NUMBER(12), CONSTRAINT […]

无法加载DLL“OraOps10.dll”

我遇到了一个特殊的问题。 我正在开发一个基于Windows的应用程序,它连接到Oracle数据库。 对于初始测试,我已经创建了安装程序并在我拥有的不同机器上进行了测试。 每台机器都安装了Oracle客户端,我没有看到运行应用程序时出现任何问题。 但是当我与客户共享此安装程序时,他收到错误“无法加载DLL OraOps10.dll”。 当被问及他提到并在他的机器上安装了Oracle客户端时,他能够运行连接到Oracle数据库的其他C#应用程序。 我不明白为什么我的应用程序只会出错。 我甚至尝试过在https://forums.oracle.com/forums/thread.jspa?threadID=67364上分享的建议,但仍然没有运气。 我甚至尝试在客户的机器上手动复制可执行文件和DLL。 但仍面临同样的问题。 所以请帮助我,我还能做些什么。 谢谢和最诚挚的问候 Sudhakar Chavali PS: 我使用的是Windows XP操作系统,客户也使用相同的操作系统。 两台机器都只是32位操作系统。 这是客户安装oracle客户端的位置:C:\ oracle \ product \ 10.2.0 \ client_1 \ bin,同样也是我的版本。 我们都在使用Oracle 10g。

启用ODP.Net日志记录

任何人都可以帮我在Windows XP机器上启用ODP.Net日志记录吗? 我用Google搜索并发现以下链接,但它对我不起作用。 http://download.oracle.com/docs/html/E10927_01/featConfig.htm 我在注册表中将“TraceLevel”设置为“63”但它没有帮助 基本上我想通过日志捕获从我的C#代码发生的所有数据库调用。 我希望Oracle有一个像“SQL Profiler”这样的工具。

将数组从.Net应用程序传递到Oracle存储过程

我需要将一个数组从C#.net应用程序传递给oracle存储过程。 任何人都可以让我知道如何去做吗? 另外,在将输入参数传递给存储过程时,我在C#中使用哪种OracleType类型? 仅供参考,我在C#app中使用System.Data.OracleClient。 谢谢。

模式独立的entity framework代码第一次迁移

我很难使用针对Oracle数据库的Entity Framework迁移,因为模式名称包含在迁移代码中,而对于Oracle,模式名称也是用户名。 我的目标是实现与模式无关的Code First Migrations(能够为测试和生产环境提供一组迁移)。 我已经尝试过这种方法(使用Entity Framework 6.1.3): 1)我在Web.config中有模式名称: 2)我的DbContext将模式名称作为构造函数参数: public EdistributionDbContext(string schemaName) : base(“EdistributionConnection”) { _schemaName = schemaName; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.HasDefaultSchema(_schemaName); } 3)我必须为Entity Framework Migrations实现IDbContextFactory才能创建没有无参数构造函数的DbContext: public class MigrationsContextFactory : IDbContextFactory { public EdistributionDbContext Create() { return new EdistributionDbContext(GetSchemaName()); } } 4)我还将迁移历史表配置为正确的模式: public class EdistributionDbConfiguration : DbConfiguration { public EdistributionDbConfiguration() […]

将System.Data.OracleClient替换为Oracle.DataAccess(ODP.NET)

我有一个目前正在使用System.Data.OracleClient的项目,因为它已被弃用,所以我想切换到Oracle 11g的ODP.NET最新版本。 如果以下步骤对我有用,或者在没有任何错误的情况下需要执行某些其他操作,请告知我们: 删除对SYstem.Data.OracleClient的引用 添加对Oracle.DataAccess dll的引用 用OracleDbType替换OracleType枚举,并将对VarChar的数据类型的引用更新为Varchar2等。

从Oracle Forms中的DLL(c#)调用函数

我在Oracle Forms 6i中从DLL调用方法时遇到了很大的问题。 DLL已写入 C#,它是代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using OnlineFPCommon; using System.Windows.Forms; namespace TestNamespace { public class TestClass { public static void testMethod() { MessageBox.Show(“testMethod”); } } } 我尝试使用Oracle Forms代码调用它: testlib_lhandle := Ora_Ffi.Load_library(‘C:\libdir\’,’test.dll’); getresult_fhandle := ora_ffi.register_function(testlib_lhandle,’testMethod’); 但第二行,当我尝试注册function失败。 为什么? 我该如何正确调用该function?

我如何在.NET中使用Oracle?

不幸的是,我正在尝试使用.NET中的Oracle,它就像回到1997年。正确解释事情是一个弱点的迹象,注册表和环境变量似乎具有特征。 所以这是我有多远。 我在Oracle.com上填写了一份关于我生活的大表格并下载了 ODBC Windows 64位实例客户端,11.2.0.3.0并将其解压缩到一个文件夹中。 基本Windows 64位Instant Client,11.2.0.3.0并将其解压缩到与上面相同的文件夹中。 我运行了安装.exe(没有MSI,请记住这是1997)。 我添加了一个TNS_NAMES环境变量,指向网络共享上的公司TNSNames.ora文件,并在控制面板中设置快速DSN并运行测试 – 它工作正常! 然后我下载了最新的ODP.NET for .NET 4.0的XCOPY版本,并将其复制到我的源代码控制工作区下的Dependencies文件夹中。 我从我的项目添加了一个引用到Dependencies \ odp.net4 \ odp.net \ bin \ 4 \ Oracle.DataAccess.dll 我已经读过,我需要让托管的ODP.NET知道哪里可以找到它的非托管Oracle库,我猜测它是Dependencies \ odp.net4 \ bin \ OraOps11w.dll但它可能是其他一些Oracle二进制文件某处? 现在我正在设置一个名为DllPath的配置文件参数。 遗憾的是,Oracle文档似乎没有意识到.NET配置文件需要在configSections部分中连接它们的部分。 这是配置文件部分。 configSection中包含哪些内容? 我在这上面找到的几个线程给出了一个例子,然后说“我不知道应该是什么类型”,这是主要的一点! 任何人都可以建议我吗? 有没有人知道从.NET查询Oracle视图的傻瓜指南的链接? 我能在1997年做些什么来阻止自己在2012年使用Oracle吗? UPDATE 只是一个快速更新。 我已将OraOps11w.dll复制到我的输出bin文件夹中,并删除了我之前添加的任何web.config文件更改。 我现在得到以下错误,我正在研究。 无法加载文件或程序集“Oracle.DataAccess”或其依赖项之一。 尝试加载格式不正确的程序。 其他一些论坛谈论在GAC中注册Oracle.DataAccess.dll,我很想避免 – 我无论如何都看不出有什么区别,但我会试一试。 更新2 在GAC中注册Oracle.DataAccess.dll库没有任何区别,我已取消注册。 工作周结束了,我必须赶上火车,但我已经通过电子邮件发送了另一个开发团队,希望他们之前已经打过这场战斗(并没有像其他人那样使用夜间提取物)。 […]