标签: lob

CLOB和NCLOB有什么区别?

你能说出CLOB和NCLOB之间的区别吗?

sql oracle lob

33
推荐指数
1
解决办法
3万
查看次数

第三方WPF控件:Devexpress vs Telerik

我想听听你对两个控制提供商的看法.

简而言之:我正在构建一个经典的LOB桌面应用程序.该应用程序将完全在WPF中创建.PRISM 4.0将被大量使用.只要有可能,我将尝试遵循MVVM模式(如果选择的控件设计为容易采用它将会很好).

主要是我感兴趣的是:

  • 良好的数据网格,支持排序,过滤,分组,导出,打印和大量绑定记录(10k +)

    Combobox支持过滤和自动完成.

    导航栏

    布局管理器与VS 2010使用的布局管理器类似

从长远来看,我也想用他们的:

  • 报告工具

    "数据挖掘"控件

    本地化支持,以便本地化数据网格操作,例如,..

我已经使用Winforms Devxpress一段时间了,我非常满意.他们的支持团队很棒.不过,我想检查市场上是否有更好的选择.换句话说,我想知道Telerik的控件是否有任何额外的价值?

c# wpf gridview lob telerik

30
推荐指数
4
解决办法
6万
查看次数

dbms_lob.createtemporary()有什么意义?

我不太明白dbms_lob.createtemporary()函数.怎么:

DECLARE
    myclob CLOB;
BEGIN
    myclob := 'foo';
END;
Run Code Online (Sandbox Code Playgroud)

任何不同于:

DECLARE
    myclob CLOB;
BEGIN
    dbms_lob.createtemporary( myclob, TRUE );
    myclob := 'foo';
    dbms_lob.freetemporary( myclob );
END;
Run Code Online (Sandbox Code Playgroud)

我假设创建和免费调用之间的操作使其相关,但我只是不清楚如何.

oracle plsql lob

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

如何在Oracle SQL*Plus中显示LOB列的完整内容?

当我尝试在SQL*Plus中显示LOB(大对象)列的内容时,它会被截断.我如何展示整件事?

oracle blob sqlplus clob lob

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

WPF DataEntry窗口的最佳实践

我现在正在玩WPF,现在我想知道典型数据条目窗口的布局是什么(20多个文本框和内容).

atm我正在使用这样的网格对象(基本样本)

    <Grid Margin="2,2,2,2">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"></ColumnDefinition>
            <ColumnDefinition Width="*"></ColumnDefinition>
        </Grid.ColumnDefinitions>

        <Grid.RowDefinitions >
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition Height="Auto"></RowDefinition>
        </Grid.RowDefinitions>

            <Label Grid.Row="0" Grid.Column="0">Vorname:</Label>
            <TextBox Grid.Row="0" Grid.Column="1" Text="{Binding Path=Surname, UpdateSourceTrigger=PropertyChanged}" ></TextBox>

            <Label Grid.Row="1" Grid.Column="0">Nachname:</Label>
            <TextBox Grid.Row="1" Grid.Column="1" Text="{Binding Path=ChristianName, UpdateSourceTrigger=PropertyChanged}"></TextBox>

            <Label Grid.Row="2" Grid.Column="0">Strasse (Wohnsitz):</Label>
            <TextBox Grid.Row="2" Grid.Column="1" Text="{Binding Path=Street1, UpdateSourceTrigger=PropertyChanged}"></TextBox>

            <Label Grid.Row="3" Grid.Column="0">Ort (Wohnsitz):</Label>
            <TextBox Grid.Row="3" Grid.Column="1" Text="{Binding Path=Town1, UpdateSourceTrigger=PropertyChanged}"></TextBox>

            <Label Grid.Row="4" Grid.Column="0">Postleitzahl (Wohnsitz):</Label>
            <TextBox Grid.Row="4" Grid.Column="1" Text="{Binding Path=PostalCode1, UpdateSourceTrigger=PropertyChanged}"></TextBox>

            <Label Grid.Row="5" …
Run Code Online (Sandbox Code Playgroud)

wpf layout lob

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

懒惰地在冬眠中加载一个clob

关于这个谷歌搜索有很多人可以找到,但我还没有找到一个可行的解决方案来解决这个问题.

基本上我所拥有的是一个特定类的大型CLOB,我希望按需加载它.这种天真的方式是:

class MyType {

  // ...

  @Basic(fetch=FetchType.LAZY)
  @Lob
  public String getBlob() {
    return blob;
  }
}
Run Code Online (Sandbox Code Playgroud)

这虽然不起作用,显然是因为我使用的是oracle驱动程序,即Lob对象不被视为简单的句柄,但总是被加载.或者我已经被引导相信我的想法.有一种解决方案使用特殊的工具来进行延迟属性加载,但是由于Hibernate文档似乎表明他们对使这项工作正确无益,所以我宁愿不去那条路.特别是必须运行额外的编译通道和所有.

因此,我设想的下一个解决方案是将此对象分离为另一种类型并定义关联.不幸的是,虽然文档提供了相互矛盾的信息,但很明显,延迟加载对OneToOne与共享主键的关联不起作用.我将关联的一方设置为ManyToOne,但是当有共享主键时,我不太确定如何执行此操作.

所以有人能提出最好的解决方法吗?

java hibernate jpa clob lob

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

无法使用Hibernate/PostgreSQL将Euro-sign存储到LOB String属性中

我无法在PostgreSQL 8.4中使用Hibernate 3.6.10将特殊字符(例如欧元符号(€))写入LOB字符串属性.

我所知道的是PostgreSQL提供了两种不同的方法来将大字符对象存储在表的一列中.它们可以直接存储到该表列中,也可以间接存储在单独的表中(实际上称为pg_largeobject).在后一种情况下,该列保存对pg_largeobject中行的引用(OID).

Hibernate 3.6.10中的默认行为是间接OID方法.但是,可以在Lob属性中添加额外的注释@ org.hibernate.annotations.Type(type ="org.hibernate.type.TextType")以获取直接存储行为.

两种方法都可以正常工作,除了我想要使用特殊字符(如欧元符号(€))的那一刻.在这种情况下,直接存储机制继续工作,但间接存储机制中断.

我想以一个例子来证明这一点.我创建了一个带有2个@Lob属性的测试实体.一个遵循直接存储原则,另一个遵循间接存储:

@Basic
@Lob
@Column(name = "CLOB_VALUE_INDIRECT_STORAGE", length = 2147483647)
public String getClobValueIndirectStorage()
Run Code Online (Sandbox Code Playgroud)

@Basic
@Lob
@org.hibernate.annotations.Type(type="org.hibernate.type.TextType")
@Column(name = "CLOB_VALUE_DIRECT_STORAGE", length = 2147483647)
public String getClobValueDirectStorage()
Run Code Online (Sandbox Code Playgroud)

如果我创建一个实体,使用欧元符号填充这两个属性,然后将其保存到数据库中当我执行SELECT时看到以下内容我看到

 id | clob_value_direct_storage | clob_value_indirect_storage
----+---------------------------+----------------------------
  6 | €                         | 910579                     
Run Code Online (Sandbox Code Playgroud)

如果我然后查询表pg_largeobject我看到:

  loid  | pageno | data
--------+--------+------
 910579 |      0 | \254
Run Code Online (Sandbox Code Playgroud)

pg_largeobject的'data'列的类型为bytea,这意味着信息存储为原始字节.表达式'\ 254'表示一个单字节,而UTF-8表示字符'¬'.这正是我从数据库加载实体时得到的值.

UTF-8中的欧元符号由3个字节组成,因此我希望'data'列有3个字节而不是1个字节.

这不仅适用于欧元符号,也适用于许多特殊字符.这是Hibernate中的问题吗?还是JDBC驱动程序?有没有办法可以调整这种行为?

在此先感谢,
亲切的问候,
Franck de Bruijn

postgresql hibernate lob character-encoding

10
推荐指数
1
解决办法
1924
查看次数

Oracle CLOB性能

我正在使用JDBC(使用最新的驱动程序和UCP作为DataSource)对Oracle 10g运行查询,以便检索CLOB(平均20k字符).然而,性能似乎非常糟糕:批量检索100个LOB平均需要4个.从我的观察来看,该操作既不是I/O也不是CPU,也不是网络约束.

我的测试设置如下:

PoolDataSource dataSource = PoolDataSourceFactory.getPoolDataSource();
dataSource.setConnectionFactoryClassName("...");
dataSource.setConnectionPoolName("...");
dataSource.setURL("...");
dataSource.setUser("...");
dataSource.setPassword("...");

dataSource.setConnectionProperty("defaultRowPrefetch", "1000");
dataSource.setConnectionProperty("defaultLobPrefetchSize", "500000");

final LobHandler handler = new OracleLobHandler();
JdbcTemplate j = new JdbcTemplate(dataSource);

j.query("SELECT bigClob FROM ...",

        new RowCallbackHandler() {

            public void processRow(final ResultSet rs) throws SQLException {

                String result = handler.getClobAsString(rs, "bigClob");

            }

        });

}
Run Code Online (Sandbox Code Playgroud)

我尝试了获取大小但无济于事.难道我做错了什么?有没有办法在使用JDBC时加快CLOB检索?

oracle performance spring jdbc lob

9
推荐指数
4
解决办法
2万
查看次数

如何删除Oracle LOB

以下查询可用于列出用户的数据库对象:

select object_name, object_type from user_objects;
Run Code Online (Sandbox Code Playgroud)

有几个条目,其中object_type是LOB.

如何在Oracle中删除这些LOB对象?

oracle lob

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

JPA @Lob 属性编码不适用于 PostgreSQL 文本

JPA映射

我在 Hibernate 中使用 JPA。我有一个带有@Lob属性的实体

@Column(nullable=false)
@Lob
private String text;
Run Code Online (Sandbox Code Playgroud)

我正在使用 PostgreSQL 8.4 并且实体与列正确映射

"text" text NOT NULL
Run Code Online (Sandbox Code Playgroud)

我的视图页面使用 UTF-8 编码,我的 URL 连接也使用正确的编码:

<property name="url" value="jdbc:postgresql://myhostip:port/mydb?useUnicode=yes&amp;characterEncoding=UTF-8" />
Run Code Online (Sandbox Code Playgroud)

另外,我在posgreSQL上的 client_encoding 是Unicode(使用查询工具)或UTF-8(使用 psql)。

问题

虽然我可以读取/保留数据,但当我显示它时,会出现一些编码问题,例如显示 ??。

另一个信息是,在同一个实体上,我有另一个String属性,可以正确显示 @Lob 属性的相同内容。

我还将psql 中text属性导出到test.txt文件中,内容正常。

我在持久化(调试)之前测试了该属性的值,并且该值是正确的。

postgresql encoding hibernate jpa lob

6
推荐指数
1
解决办法
5214
查看次数