C# 在c中将clob从oracle转换为字符串#
我是oracle技术顾问,asp.net的新手 如何将Oracle过程中的clob输出转换为.net应用程序表单中的字符串 下面是代码,它可以很好地将Oracle Varchar2转换为字符串cC# 在c中将clob从oracle转换为字符串#,c#,asp.net,oracle,C#,Asp.net,Oracle,我是oracle技术顾问,asp.net的新手 如何将Oracle过程中的clob输出转换为.net应用程序表单中的字符串 下面是代码,它可以很好地将Oracle Varchar2转换为字符串c 这就足够了吗?如果CLOB数据存储为字节数组,请记住您使用的是哪种编码,并将其改为GetString()。我过去在Oracle中遇到过一些问题,它不使用名称来映射参数,而是显式地将参数添加到集合中的顺序-这里可能不适用,但值得检查顺序?您定义它们的顺序与添加它们的顺序不同。 using System;
这就足够了吗?如果CLOB数据存储为字节数组,请记住您使用的是哪种编码,并将其改为
GetString()
。我过去在Oracle中遇到过一些问题,它不使用名称来映射参数,而是显式地将参数添加到集合中的顺序-这里可能不适用,但值得检查顺序?您定义它们的顺序与添加它们的顺序不同。
using System;
using System.Windows.Forms;
using System.Xml;
using System.Net;
using System.IO;
using Oracle.ManagedDataAccess.Client;
using System.Net.Mail;
using System.Configuration;
public void SoapRequest_api(string mode1)
{
OracleConnection con = new OracleConnection(ConfigurationManager.ConnectionStrings["Mobile"].ConnectionString);
OracleCommand cmd = new OracleCommand();
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.CommandText = "APPS.P_SOAP_WEBSERVICE.xxstatistics_p";
OracleParameter soap_request = new OracleParameter(":P_xml", OracleDbType.Clob);
soap_request.Direction = System.Data.ParameterDirection.Output;
OracleParameter msg = new OracleParameter(":p_msg", OracleDbType.Varchar2, 200);
msg.Direction = System.Data.ParameterDirection.Output;
OracleParameter refno = new OracleParameter(":p_SitRefNo", OracleDbType.Varchar2, 200);
refno.Direction = System.Data.ParameterDirection.Output;
OracleParameter mode = new OracleParameter(":p_SitTransCode", OracleDbType.Varchar2, 200);
mode.Value = mode1;
cmd.Parameters.Add(mode);
cmd.Parameters.Add(soap_request);
cmd.Parameters.Add(msg);
cmd.Parameters.Add(refno);
cmd.Connection = con;
con.Open();
try
{
int res = cmd.ExecuteNonQuery();
string status = msg.Value.ToString();
string refno_output = refno.Value.ToString();
con.Close();
if (status == "S")
{
string output = System.Convert.ToString(soap_request.Value);
this.textBox2.Text = refno_output;
SOAP_Request(Convert.ToString(soap_request.Value));
}
else
{
//curuser = null;
//return false;
}
MessageBox.Show(refno.Value.ToString()+"->"+ System.Convert.ToString(soap_request.Value));
}
catch (OracleException ex)
{
string temp = ex.Message;
con.Close();
}
}