jjzjj

c# - 如何通过 Entity 框架自动为 Oracle 数据库生成标识?

我正在为EntityFramework(测试版)使用Oracle提供程序,但我遇到了一个问题。我们的表有Id列,在StoreGeneratedPattern中设置为Identity。我认为EF会自动执行“基础工作”,例如创建序列,并为我添加到表中的每条记录获取新标识。但是当我运行代码来添加一条新记录时,例如:varcomment=newComment{ComplaintId=_currentComplaintId,Content=CommentContent.Text,CreatedBy=CurrentUser.UserID,CreatedDate=DateTime.Now};cont

c# - 将 Dapper 与 Oracle 结合使用

我们使用Oracle作为我们的数据库供应商,并研究了用底层使用Dapper的更健全的基于存储库的模式替换我们的一些数据访问层(难以维护,更难合并XSD)。但是,我们在将它与oracle一起使用时遇到了一些问题。命名参数:这些似乎被忽略,无论何时在查询中使用它们时,Oracle似乎都以它喜欢的任何顺序解释它们。SqlMapper返回正确命名的参数,它们只是在Oracle中没有被正确解释变量的“@”命名约定与oracle命名参数不兼容。它期望在任何参数前面看到“:”有没有人以前遇到过这个问题并且有任何解决方法? 最佳答案 IMO,这里正

oracle分区表创建(自动按年、月、日分区)实战

前言:工作中有一张表一年会增长100多万的数据,量虽然不大,可是表字段多,所以一年下来也会达到1G,而且只增不改,故考虑使用分区表来提高查询性能,提高维护性。  oracle11g支持自动分区,不过得在创建表时就设置好分区。  如果已经存在的表需要改分区表,就需要将当前表rename后,再创建新表,然后复制数据到新表,然后删除旧表就可以了。一、为什么要分区(Partition)  1、一般一张表超过2G的大小,ORACLE是推荐使用分区表的。  2、这张表主要是查询,而且可以按分区查询,只会修改当前最新分区的数据,对以前的不怎么做删除和修改。  3、数据量大时查询慢。  4、便于维护,可扩展:

c# - 将 C# 连接到 Oracle

将C#(.NET)应用程序连接到Oracle10g和11g的最佳库/驱动程序是什么。我发现的当前选项是:数据库安装自带的Oracle客户端OracleInstantClient(这有点令人困惑,因为它有6-8个版本的操作系统)微软ODBC?(这个能用吗?)ODP.Net-这是单独的产品还是包含在1.和2.中?有人能解释一下差异吗?我正在计划将在Oracle数据库上执行基本CRUD操作的C#应用程序。哪个库/驱动程序最小且最容易安装?编辑:一般建议使用ODP.Net。现在,有人可以解释或指出有关客户端安装包之间差异的答案。我为Oracle11g找到了3个不同的客户端:Oracle客户端-

c# - web.config asp.net中的oracle数据库连接

我知道我可以在C#类本身中创建一个连接字符串,但我试图避免这样做。我想在web.config中创建连接,我读到它更安全。尽管如此,我找不到任何指定了以下属性的示例:HostnamePortSIDUsernamePasswordConnectionName有人可以帮忙在webconfig中创建这个吗?我正在连接到Oracle数据库。 最佳答案 这是模板:这是我的一个-减去真实的TNS名称和用户名和密码: 关于c#-web.configasp.net中的oracle数据库连接,我们在Stac

c# - EF 查询 Oracle 抛出 "ORA-12704: character set mismatch"

我试图在Oracle的EF中组合几列,然后像这样对这些列执行.Contains():publicIEnumerableSearchUsers(stringsearch){search=search.ToLower();return_securityUow.Users.Where(u=>(u.FirstName.ToLower()+""+u.LastName.ToLower()+"("+u.NetId.ToLower()+")").Contains(search)).OrderBy(u=>u.LastName).ThenBy(u=>u.FirstName).AsEnumerable();

C# Oracle 存储过程参数顺序

有了这个PROCEDURE"ADD_BOOKMARK_GROUP"("NAME"INVARCHAR2,"BOOKMARK_GROUP_ID"INNUMBER,"STAFF_ID"INVARCHAR2,"MAX_NO"ININT,"NUMFOUND"OUTINT,"NEW_ID"OUTNUMBER)ISBEGINNEW_ID:=-1;SELECTCOUNT(*)INTONUMFOUNDFROMBOOKMARK_GROUP_TABLEWHERESTAFF_ID=STAFF_ID;IFNUMFOUND我发现有趣的是,如果我不按定义参数的顺序添加参数,例如OracleCommandcmd=ne

c# - 填充数据集时 ODP.net Oracle 十进制数精度问题。异常 : Arithmetic operation resulted in an overflow

我正在使用c#.net2(VisualStudio2005SP1)尝试使用来自Oracle10g数据库的select*from表的结果填充数据集。.net框架、IDE和数据库无法在此客户端站点进行更改。我正在使用ODP.net提供商进行连接,dll版本是2.102.2.20当我运行填充命令时出现异常:算术运算导致溢出此外,如果我尝试在VisualStudio设计器(显示表数据)中查看有问题的列,我会为表中该列的每一行获取。如果我的查询选择其他带有整数的列(例如省略此列),则代码可以完美运行。当我在Toad的数据库中查看时,有问题的列看起来很好,数据如下:919.742866695572

c# - 如何调用返回引用游标的Oracle存储过程

我正在尝试调用返回引用游标的Oracle存储过程,我需要从返回的数据生成TreeView。我是新手,有两个问题。第一个问题是我无法调用该过程。我收到此错误:“调用‘OBJECT_HIERARCHY’时参数的数量或类型错误”我的第二个问题是,当此过程返回一个引用游标值时,我不明白如何获取该数据?该表中有超过5000条记录,我没有得到该数据,而是一个引用游标值。有人可以解释一下我怎样才能用refcursor值获取该数据。我没有使用Oracle的经验。这是oracle中的过程定义:CREATEORREPLACEPROCEDURESAD.object_hierarchy(nAppIdINNUM

c# - 使用 Oracle.ManagedDataAccess 连接到 Oracle

我在我的C#(.NET4.0)项目中使用Oracle.ManagedDataAccessNuget包版本12.1.022。该包会自动在app.config文件中创建条目。我如何从该文件中读取数据源字符串以便能够连接到数据库?System.Configuration.ConfigurationManager.AppSettings.Get("dataSource");不适合我 最佳答案 通常,您会在标准连接字符串中引用别名:然后您将使用标准方法来检索字符串:ConfigurationManager.ConnectionStrings[