c#获取并写入oracle数据库中中英文字符集问题

梦想&现实 梦想&现实     2022-08-03     237

关键词:

背景

开发语言:C#

开发工具:VS2010

A方ORACLE数据库:中文字符集

B方ORACLE数据库:英文字符集

传递方式:webservice方式(取数据,并把取出的数据放到DataTable中,循环回写入B方的存储过程中)

问题

     从A方库里获取数据插入到B方库里写的存储过程里,到B方数据库后,汉字都变为乱码(问号较多)

 

解决方法

  方法一:最初从A方库取数据时用ORACLE的转换函数UTL_RAW.CAST_TO_RAW转换下该字段,即select UTL_RAW.CAST_TO_RAW(a) from A

B方库里接收数据的存储过程应该用utl_raw.cast_to_varchar2()函数解析之后插入到B方库里

  结果:B方库未接收到任何数据

 方法一失败原因,经过跟踪方向直接查询select UTL_RAW.CAST_TO_RAW(a) from A在A方库里是显示出二进制码的,但是查询出的数据不能存到DataTable中,到DataTable中就变成了System.Data[],显示是查出的不是字符串造成的,由此想到把转换的数据查询时转换为字符串

 

方法二:

    用ORACLE的字符截取函数来转换为字符串(to_char不可行),语句为:select substr(UTL_RAW.CAST_TO_RAW(a),0,length(UTL_RAW.CAST_TO_RAW(a))) from A;B方库里接收数据时存储过程仍用utl_raw.cast_to_varchar2()函数解析之后插入到B方库里

  结果:汉字在B方库里显示正常

 

C# 正则表达式匹配案例 - 拆分字符串并写入文件输出

】C#正则表达式匹配案例-拆分字符串并写入文件输出【英文标题】:C#Regexmatchcase-splitstringandwritetofileoutput【发布时间】:2017-06-1123:05:23【问题描述】:基本上我有一个这种格式的记录文本文件:(1909,\'Ford\',\'ModelT\'),(1926,\'Chrysler\'... 查看详情

c#中的oracle输出参数问题

...【问题描述】:我对甲骨文很生气。我一直在努力从oracle数据库中获取两个值(输出参数)。我需要根据paymentType和vendor获取两个值(o_unallocated_ledgercode和o_allocated_ledgercode)。问题是:这些值在C#中仍然 查看详情

在 C# 中连接到 Oracle 数据库

】在C#中连接到Oracle数据库【英文标题】:ConnecttoOracleDatabaseinC#【发布时间】:2018-11-2417:43:07【问题描述】:我想在我的C#windows应用程序中测试Oracle数据库。我在OracleApplicationExpress上创建了一个工作区。我还创建了DNS并成功建立... 查看详情

在 C# WinForm 应用程序中写入数据库时​​遇到问题

】在C#WinForm应用程序中写入数据库时​​遇到问题【英文标题】:TroublewritingtodatabaseinC#WinFormApplication【发布时间】:2013-07-0314:37:16【问题描述】:我在专业编程方面相对缺乏经验,但我正在尝试编写一个与MSAccess数据库接口的程... 查看详情

在写入csv c#时向字符串添加双引号

】在写入csvc#时向字符串添加双引号【英文标题】:Addingdoublequotestostringwhilewritingtocsvc#【发布时间】:2020-10-0902:59:06【问题描述】:我正在尝试将数据写入csv文件。我希望数据在记事本中打开时以双引号显示,但在csv中打开文件... 查看详情

在 C# 运行时读取、写入和更新 app.config 文件中的连接字符串

...设置创建了一个表单,用户可以在其中更新服务器名称、数据库以及用户ID和密码。我已将连接字符串存储在app.config文件中。我的问题是,如何在运行时更新ap 查看详情

c#中怎么解析json数据,并获取到其中的值?

 【1】首先我们根据创建一个json字符转stringjson=@"[{‘phantom‘:true,‘id‘:‘20130717001‘,‘data‘:{‘MID‘:1019,‘Name‘:‘aaccccc‘,‘Des‘:‘cc‘,‘Disable‘:‘启用‘,‘Remark‘:‘cccc‘}}]"; 【2】首先我们根据创建一个json字符转... 查看详情

c#读取文本文档实践3-写入到文本本文档

首先通过File.ReadAllLines()方法读入文本文档中内容并返回字符串数组contents,这样每行数据就成为了这个字符串数组contents的一个元素,再利用split()方法将每一个元素以空格或制表符分割,返回字符串数组,这样一行数据又被返回... 查看详情

TagLib:将字符串写入 RemixedBy 字段

...整理Traktor呈现的歌曲信息。据我所知,Traktor从ID3标记中获取这些数据。现在的问题是我不知道如何通过TagLib解决“RemixedBy/ModifiedBy”字段。当我检查TagLib实例(tra 查看详情

调用 CreateProcess() 并获取字符串的返回值

】调用CreateProcess()并获取字符串的返回值【英文标题】:CallCreateProcess()andgetreturnvalueofastring【发布时间】:2020-02-1820:02:17【问题描述】:我有一个C++应用程序,它调用一个用C#编写的EXE,它获取一些信息,我想将它作为字符串传... 查看详情

C#逐行写入文件

】C#逐行写入文件【英文标题】:C#Writingtofilelinebyline【发布时间】:2018-06-2413:39:13【问题描述】:所以,我正忙着为我的公司制作一个c#WinForms应用程序。为此,我需要能够将我的票证保存在应用程序的数据中。工单对话框如下... 查看详情

在php中将数组写入文件并获取数据

】在php中将数组写入文件并获取数据【英文标题】:WritingArraytoFileinphpAndgettingthedata【发布时间】:2013-02-1406:37:32【问题描述】:我有一个数组,使用print_r后如下所示Array([0]=>Array([0]=>piklu[name]=>piklu)[1]=>Array([0]=>arindam[na... 查看详情

如何在 oracle 中执行 c# string.split()

...删除某些单词,如DUM或PRJ,然后根据字符_拆分字符串并获取第二部分。例如,如果我们采取DUM_EI_AO_L_5864_AlMeenaTower我需要以AO和EI_AE_L_5864_AlradhaTo 查看详情

C# - 将数据写入流 + 使用另一个流读取数据

】C#-将数据写入流+使用另一个流读取数据【英文标题】:C#-WriteDataToAStream+ReadDataWithAnotherStream【发布时间】:2013-02-2109:00:20【问题描述】:现在我有一个StreamWriter和一个StreamReader,1个包含(文本)数据的文件,至少2个线程。1个... 查看详情

如何从数据框中获取 1000 条记录并使用 PySpark 写入文件?

】如何从数据框中获取1000条记录并使用PySpark写入文件?【英文标题】:Howtoget1000recordsfromdataframeandwriteintoafileusingPySpark?【发布时间】:2020-04-2415:48:42【问题描述】:我在数据框中有100,000多条记录。我想动态创建一个文件并为每... 查看详情

C# 解析字符串/innerhtml 以获取特定数据

】C#解析字符串/innerhtml以获取特定数据【英文标题】:C#parsingstring/innerhtmltogetspecificdata【发布时间】:2018-11-0301:19:01【问题描述】:好的,我正在尝试从innerhtml内的imgsrc标签中提取特定数据,获取innerhtml的代码示例:varlist=driver.... 查看详情

使用 C# 使用特殊字符写入 XML 文档

】使用C#使用特殊字符写入XML文档【英文标题】:WriteinanXMLdocumentwithC#usingspecialcharacters【发布时间】:2017-05-2119:21:23【问题描述】:我正在尝试在递归函数中使用XmlWriter在C#中编写XML文件。该文件应该包含给定目录中的每个文件... 查看详情

从动态数据c#中获取子字符串

】从动态数据c#中获取子字符串【英文标题】:Getsubstringfromdynamicdatac#【发布时间】:2022-01-0818:18:20【问题描述】:我正在使用DataReceivedEventArgs事件在控制台上不断更改数据。现在我只需要提取Total的int值。为此我正在使用字符串... 查看详情