Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Oracle无效字符和长RAW_C#_Oracle_Long Integer - Fatal编程技术网

C# Oracle无效字符和长RAW

C# Oracle无效字符和长RAW,c#,oracle,long-integer,C#,Oracle,Long Integer,我是Oracle世界的新手,我正在尝试使用参数化查询从.NET(C#)进行插入 我的桌子是: CREATE TABLE layer_mapping ( lm_id NUMBER NOT NULL, lm_layer_name VARCHAR2(50) NOT NULL, lm_layer_file LONG RAW NOT NULL, CONSTRAINT lm_pk PRIMARY KEY(lm_id) ) “插入图层映射值(:lm_id,:lm_图层名称,:

我是Oracle世界的新手,我正在尝试使用参数化查询从.NET(C#)进行插入

我的桌子是:

CREATE TABLE layer_mapping
(
    lm_id NUMBER NOT NULL,
    lm_layer_name VARCHAR2(50) NOT NULL,
    lm_layer_file LONG RAW NOT NULL,
    CONSTRAINT lm_pk PRIMARY KEY(lm_id)
)
“插入图层映射值(:lm_id,:lm_图层名称,:lm_图层文件);”

在VisualStudio中,上面的查询是在运行时生成的,我的BindByName=true

“lm_layer_file”值(我怀疑错误在这里)是从一个文件馈送到一个类的,它是一个字节数组。下面是这门课的一个例子

public class LayerMapping()
{
    private Int32 _id;
    private String _name;
    private Byte[] _file;
}
奇怪的是,使用PostgreSQL,一切正常,没有错误

我是否使用了错误的方法来生成长原始值

哦,我收到的错误是ORA-0991(无效字符)


有什么想法吗?

我想说,你应该做的第一件事是在表中使用CLOB,假设你是在9i或更高的水平上,而不是长时间的RAW。LONG/LONG RAW已经过时很长一段时间了——Oracle保留它们的唯一原因是因为它们存在于数据字典中,Oracle承诺永远不会更改它。

我想说,您应该做的第一件事是在表中使用CLOB,假设您使用的是9i或更高,而不是LONG RAW。LONG/LONG raw已经过时很长一段时间了——Oracle保留它们的唯一原因是因为它们存在于数据字典中,Oracle承诺永远不会更改它。

找到了答案:

我的sql命令生成器添加了一个“;”在命令的末尾,但OracleCommand类似乎也这样做了

解决了。

解决了:

我的sql命令生成器添加了一个“;”在命令的末尾,但OracleCommand类似乎也这样做了

解决了