小编Jef*_*eff的帖子

我的初始数据库大小应该是多少

我正在将数据库从MySQL迁移到SQLServer.在创建数据库时,我应该将初始大小设置为什么?我知道导入数据库的大小约为130MB,但会增长.130MB应该是初始大小还是应该采用默认的2MB?

database sql-server size

5
推荐指数
1
解决办法
2万
查看次数

ORA-06502:PL/SQL:从c#web服务调用存储过程的数值或值错误

我正在尝试编写一个调用oracle存储过程的Web服务.该过程有2个输入 - 字符串(company_code)和int(客户代码).它有2个输出参数; 数字(pout_addr_code)和varchar2(pout_descr).当我从SQL Developer运行此过程时,一切正常,并且两个值都按预期返回.当我从C#Web服务调用该过程时,执行时出现错误"Oracle.DataAccess.Client.OracleException:ORA-06502:PL/SQL:numeric或value error",而不是在编译期间.

如果我注释掉cmd.ExecuteNonQuery()返回pout_addr_code.Value ...行,它将正常运行并输出我的测试字符串.

如果我从过程中删除varchar2输出并注释掉添加pout_descr参数并注释掉"我返回..."的部分,它运行正常,包括从存储过程返回值.

所以,在我看来,这个问题是在执行NonQuery当程序有OracleDbType.Varchar2线.在使用Oracle.DataAccess引用在C#中添加输出参数时,是否还有其他方法可以定义?我发现这篇文章询问了类似的错误,但他的解决方案是"在C#中指定VARCHAR2的最大值为32767",但我不知道你是怎么做到的.

这是我的c#代码:

public string AutoPmtPost(string company_code, int customer_code)
    {
        string oradb = "Data Source=MySource; User Id=MyID; Password=MyPassword;";
        OracleConnection conn = new OracleConnection(oradb);
        conn.Open();
        OracleCommand cmd = new OracleCommand("USP_JEFF_TEST", conn);
        cmd.CommandType = CommandType.StoredProcedure;

        cmd.Parameters.Add("pin_company_code", OracleDbType.Varchar2, ParameterDirection.Input).Value = company_code;

        cmd.Parameters.Add("pin_customer_code", OracleDbType.Int32, ParameterDirection.Input).Value = customer_code;

        OracleParameter pout_addr_code = new OracleParameter("pout_addr_code", OracleDbType.Int32);
        pout_addr_code.Direction = ParameterDirection.Output;
        cmd.Parameters.Add(pout_addr_code);

        OracleParameter pout_descr = new OracleParameter("pout_descr", …
Run Code Online (Sandbox Code Playgroud)

c# web-services data-access

2
推荐指数
1
解决办法
6688
查看次数

标签 统计

c# ×1

data-access ×1

database ×1

size ×1

sql-server ×1

web-services ×1