2 u010126162 u010126162 于 2016.04.09 03:59 提问

.net system.data.oracleclient 执行存储过程出现output值被截断 20C

使用 system.data.oracleclient 开发项目遇到奇怪问题 oracle 版本 11g,测试代码如下:
图片说明

存储过程如下:
图片说明

页面输出确只有:12123

很奇怪的问题,在网上看system.data.oracleclient 已经不更新了,难道真得是BUG?求大神帮忙看看

3个回答

caozhy
caozhy   Ds   Rxr 2016.04.09 05:56

没看出你的代码有什么问题,应该是bug。你用别的语言去调用能正常返回么?

u010126162
u010126162 用oldb访问就没有问题。。。oracleclient真的不能用了嘛。。。。
2 年多之前 回复
o527883184
o527883184   2016.04.09 08:06

被截断 一般是因为 数据库字段的长度不足导致 改大一些应该就好了 你试试

u010126162
u010126162 嗯应该不是长度的问题我已经设置过了
2 年多之前 回复
o527883184
o527883184 错了 不好意思
2 年多之前 回复
u010126162
u010126162   2016.04.09 13:47

system.data.oracleclient 已经过期,如果有出现同类问题的朋友。建议更换Oracle.ManagedDataAccess.Client 。这样写好的DBhelp类名都不用更改。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
asp.net 调用存储过程返回参数和output参数
在日常的软件开发中 很多的地方都会用到存储过程因为存储过程的安全性和效率是很强的但是调用的时候比如说删除一条记录但是怎么知道有没有被删除呢这就需要返回参数或者output参数 这里调用数据库我用的是sqlhelper类大家可以到网上找一找  这是存储过程 create proc sums(@a int,@b int,@c int output)a
dapper存储过程输出值
SQL代码:     USE [Book] GO /****** Object:  StoredProcedure [dbo].[User_Maneger]    Script Date: 10/26/2013 18:48:41 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /*用户信息存储过程*/ AL
EF中执行存储过程,获取output返回值
EF不能直接支持执行存储过程,于是使用转化成执行SQL语句的形式,却怎么也获取不到output的值,折腾的好久,终于解决了,分享下曲折的经历: public int AddVote(int titleId, int blockId, int typeId) { List paramArray = new List(); paramA
ASP.NET中调用存储过程带(输入/输出)参数和返回值的一些常用的例子
  有些初学者在调用存储过程时容易出现一些错误,下面我就不同的返回参数而言举个用户登录常用的例子做一些简单的讨论:(由简单--->>深入)创建数据库:(Student)创建用户表:(Users)use Studentgocreate table Users (id int identity(1, 1) primary key,name nvarchar(20) not null,passw
SqlCommand.ExecuteReader 无法获取 sqlserver 存储过程 OUTPUT 返回的参数值问题
 public List GetProducts(long companyId, int pageSize, int pageIndex, out int rowCount)        {            List list = new List();            using (SqlConnection conn = new SqlConnection(SQLHelp.DBC
MVC EF执行带输出参数的存储过程
public ActionResult StoredProcedure(int id = 1) { using (var db = new DataContext()) { var pageSize = 5; var startIndex = (id - 1)*pageS
使用ADO.NET对象调用存储过程的输入和输出参数
使用ADO.NET对象 总体上,操作SQL Server的程序和操作Access的程序方法一致。只需要做3个地方的修改,就可以把操作Access数据库的程序改成操作SQL Server的程序。 (1)修改引入的命名空间。操作Access数据库使用的是“System.Data.OleDb”,改成“System.Data.SqlClient”。 (2)修改ADO.NET的对象。分别把OleDbConn
c#调用数据库中的带返回(output参数形式)存储过程的demo
c#+sqlserver2005,自定义存储过程,调用格式机器demo: 格式详解 SqlCommand scmd = new SqlCommand("存储过程名字", 打开的链接对象);             scmd.CommandType = CommandType.StoredProcedure;//命令类型为存储过程 //为参数列表添加参数,注意名字要和存储过程中吻合  
java调用存储过程(output和return)
package callProcedure; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Type
【ASP.NET开发】ADO.NET调用带输出参数的存储过程
public static void QueryList() { SqlConnection con = new SqlConnection("数据库连接字符串"); SqlCommand cmd = new SqlCommand("存储过程名称", con); //指定命令的类型 cm