【c# – TransactionScope和Oracle的问题】教程文章相关的互联网学习教程文章

C# 连接 Oracle数据库增删改查,事务

一. 前情提要 一般.NET环境连接Oracle数据库,是通过 TNS/SQL.NET 配置文件,而 TNS 必须要 Oracle 客户端(如果连接的是服务器的数据库,本地还要装一个 client ,还要把 TNS 文件放进去安装路径里面) 1. Using System.Data.OracleClient 微软自带的,据说已经不维护了,总之是需要客户端的。 2. Oracle.DataAccess.dll 一般在 Oracle 安装目录下 product\11.2.0\dbhome_1\ODP.NET\bin\2.x 里面。但是我碰到的问题就是:Oracle.D...

在C#中使用sql语句更改Oracle数据库的用户密码【代码】

我正在处理一项要求,必须从我的应用程序更改当前用户的oracle连接密码. 我发现我可以使用以下语句通过SQL来完成此任务:ALTER USER *username* IDENTIFIED BY *password*但是,因为用户名和密码未作为带引号的字符串发送到数据库,所以不能使用绑定参数. (此答案也为stated) 当我连接一个字符串并将其作为常规sql查询通过我的Entity Framework DbContext实例发送时,我有一个可行的解决方案,如下所示:using (var context = _dbContex...

C#-OracleDataReader的性能不佳【代码】

与MS SQL Server相比,我从OracleDataReader对象读取数据时遇到了一些糟糕的性能.它慢了将近10倍,这是不可接受的. 以下是两个测试都使用的一些示例测试代码.从OracleDataReader读取数据的最佳方法是什么,是否有比以下所示更好的方法? 我很难相信ODP.Net甚至无法与SqlClient相提并论. 更新:我已将问题缩小为获取文本字段.由于某种原因,ODP.Net太糟糕了.任何想法如何解决?void ReadData(System.Data.IDataReader dr, int maxRows){...

c#-Oracle模式名称

如何在我的web.config中的连接字符串中包含模式.解决方法:该模式与oracle中的用户同义-您未在连接字符串中指定模式-您指定了用户名.每个用户可能是数据库对象(表,视图,过程等)的所有者,也可能不是.要由另一个用户(模式)访问对象所有者,您可以: >使用完全限定的名称:SCHEMA.OBJECTNAME>创建一个以对象为别名的私有同义词:CREATE SYNONYM mytable对于其他人>创建一个公共同义词,所有用户都可以使用该同义词来访问对象:CREATE PUB...

c#-通过控制台应用程序与Oracle的连接无法通过Web服务运行【代码】

我无法通过asmx Web服务连接到Oracle模式,而无法通过控制台应用程序[x86]连接. 编码:var conn = new OracleConnection("Data Source=xe;User ID=mySchema;Password=myPass");例外:ORA-12154: TNS:could not resolve the connect identifier specified环境:Windows 7 x64-VS 2008. 任何想法? 请问我任何其他信息 提前致谢.解决方法:OCI(ODP(或本机Oracle客户端层)所基于的Oracle客户端层)存在一个错误,该错误会阻止位于带括号()...

C# ODP.NET 调用Oracle函数返回值时报错的一个解决方案【代码】【图】

有人在社区问到:C#调用Oracle中自定义函数的返回值时,无法正常调用。但在PL/SQL中正常调用返回。 于是动手一试: 1、准备函数(Oralce 11g.2.0.0.4)CREATE OR REPLACE FUNCTION F_Update_Grade(v_UserID in Number)return nvarchar2 isV_Grade nVARCHAR2(20); beginV_Grade := 1205;update TESTDB3 set Grade = V_Grade where PKID = v_UserID;commit;return (V_Grade); end F_Update_Grade; 正常调用返回:declareV_Result nvar...

使用C#的Oracle,绑定变量和ID IN(1、2、3)之类的查询【代码】

我正在寻找以下Java技术的C#ODAC改编版本,其中代码能够将数字数组(数组大小可以变化)绑定到非PL / SQL SELECT语句中,然后在WHERE中使用结果数组ID IN(…)样式检查. http://rafudb.blogspot.com/2011/10/variable-inlist.html 这是基于OCI的C程序中使用的该技术的另一个示例: Oracle OCI, bind variables, and queries like ID IN (1, 2, 3) 具体来说,我们要执行如下查询SELECT * FROM MyTable WHERE ID IN (SELECT * FROM TABLE(:...

c#-Take(1)在Oracle Provider的ef核心中不起作用【代码】

我正在将ef core(2.2.4)与oracle数据库一起使用 oracleProvider:Oracle.EntityFrameworkCore(2.18.0-beta3) 此代码:IQueryable<KeyInfo> queryable = context.KeyInfos.Where(x => x.MobileNumber == "989191111111").Take(1);生成此数据库查询:SELECT "x"."ID", "x"."Key", "x"."MobileNumber", "x"."NationalCode" FROM "KeyInfo" "x" WHERE "x"."MobileNumber" = N'989191111111' FETCH FIRST 1 ROWS ONLY;运行查询给我这个错...

c#-在.net应用程序中使用/显示Oracle数据库中的特殊字符时出现问题【代码】

我有一个C#.Net应用程序,可以从Oracle 10 db支持的商业应用程序访问数据.商业应用程序数据库中的几个字段(声明为varchar2(n))包含特殊字符.例如,“智能报价”撇号.商业客户端应用程序正确显示了这些字符,但是我的应用程序将它们显示为反向问号. Oracle字符集为“ WE8ISO8859P1”. 我的应用程序使用System.Data.OracleClient.OracleDataAdapter读取商业数据库,并通过DataSet.Tables转换为表.表格行将转换为对象,相关字段将存储为字符...

如何使用c#将csv数据导入Oracle【代码】

如何使用c#将csv数据导入Oracle.其中要导入的数据的大小为3GB,行数为7512263.我设法将csv数据导入到Oracle中,但是时间大约需要1个小时.如何加快将csv数据导入oracle所需的时间.谢谢.这是我的代码:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; using System.Threading; using System.Text.RegularExpressions; using System.IO; using FileHelpers; using S...

c#-在.net中使用OracleCommand时,必须在计算机上安装OracleClient还是.net可以解决此问题?【代码】

我想使用类似的代码从.net对Oracle数据库进行简单查询.using System; using System.Data; using Oracle.DataAccess.Client;class Sample {static void Main(){// Connect to Oraclestring constr = "User Id=scott;Password=tiger;Data Source=AKI1.WORLD";OracleConnection con = new OracleConnection(constr);con.Open();// Display Version NumberConsole.WriteLine("Connected to Oracle " + con.ServerVersion);// Read REF ...

首页> C#>使用System.Data.OracleClient配置流利的NHibernate【代码】

我正在尝试通过Fluent Nhibernate使用System.Data.OracleClient代替Oracle.DataAccess.据我了解,为了实现这一目标,我应该将驱动程序从OracleDataClientDriver更改为OracleClientDriver.我已经按如下所示配置了它,但是出现了一个错误,看起来它仍在尝试使用OracleDataClientDriver.我究竟做错了什么?FluentConfiguration configuration = Fluently.Configure() .Database(OracleDataClientConfiguration.Oracle10.Co...

c#-使用OracleConnection.Open()时出错ORA-00303:网络库:名称-值语法错误ODP.NET管理的dll【代码】

当我点击source.Open()时出现此错误.代码行,我不知道为什么.我使用的是非托管dll,并且尝试升级到64位版本的Oracle.ManagedDataAccess.dll,而我的项目使用的是.NET Framework4.TNS字符串在生产tnsnames.ora文件中起作用(我替换了各种元素名称和值).从错误看来,似乎有些错误显然是错误的,但是我无法使其正常工作. app.config中的TNS:<oracle.manageddataaccess.client> <version number="*"><dataSources><dataSource alias="ABC_DE...

从C#中的Oracle函数返回错误“按顺序提取”表,其中函数使用dblink到SQL Server【代码】

在C#代码中,我试图从Oracle函数加载数据表.该函数具有SYS_REFCURSOR返回类型.这是我的代码,尝试使用以下函数填充DataTable dt:using (var connection = new OracleConnection(connstring)) {connection.Open();using (var command = new OracleCommand()){command.Connection = connection;command.CommandText = "FNC_AXA_APPTS";command.CommandType = CommandType.StoredProcedure;OracleParameter retVal = new OracleParamet...

ORA-01722:C#中INSERT上的编号无效-Oracle 11g【代码】

我有这张Oracle 11g表CREATE TABLE "DBNAME"."CANDIDATES" ("ID" NUMBER(24,0), "USRINS" VARCHAR2(30 CHAR), "DATINS" DATE, "USRUPD" VARCHAR2(30 CHAR), "DATUPD" DATE, "EXM_ID" NUMBER(24,0), "TYPE" NUMBER(3,0), "PSN_ID" NUMBER(24,0), "KOD" NUMBER(20,0), "STATUS" NUMBER(20,0), "PRICINA" VARCHAR2(200 CHAR) )现在我在C#中有此命令string insertIntoCandidates = "INSERT INTO CANDIDATES " &"(USRINS, DATINS, PSN_...