当前位置:首页 » 编程语言 » sqlblob
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sqlblob

发布时间: 2022-01-14 21:24:05

A. sql怎么读取BLOB类型的数据

clob数据还好说 可以使用to_str转换成字符串, blob是二进制数据, 得把二进制数据转换才行

B. oracle.sql.BLOB的jar包是什么

class12.jar
在你的 oracle 安装目录下面有 oracle安装目录\proct\10.2.0\db_1\jdbc\lib

C. 怎样将java.sql.Blob与oracle.sql.BLOB进行转换

1,java.sql.Blob与oracle.sql.BLOB
这两个blob仅仅是大小写不同,但是差异很大,java.sql.Blob是一个接口,而oracle.sql.BLOB是一个实现java.sql.Blob的类,并且还有很多扩展的属性和方法,注意不要搞混了。
2,JDBC2.0和JDBC3.0的问题
classes12.zip实现了JDBC2.0(JDK1.3),而JDBC2.0对于Blob的操作只有读,没有写,所以classes12.zip只好自己扩展了一套对Blob进行写的API,我的例子就是用了这套API。
ojdbc14.jar实现了JDBC3.0(JDK1.4),JDBC3.0已经包括了对Blob写的操作,而ojdbc14.jar也实现了该API。

java.sql.Blob blob = rs.getBlob("ZIP_DATA");
oracle.sql.BLOB obb = (oracle.sql.BLOB) blob;//这样它会报.ClassCastException->解决办法,那一个封装类来处理类型不匹配问题:
public int setBytes(long pos, byte[] bytes) throws SQLException
{
//[weblogic]
if (blob instanceof weblogic.jdbc.vendor.oracle.OracleThinBlob)
{
weblogic.jdbc.vendor.oracle.OracleThinBlob oBlob = (weblogic.jdbc.vendor.oracle.OracleThinBlob) blob;
return oBlob.putBytes(pos, bytes);
}
//[endweblogic]
//[websphere]

if (blob instanceof oracle.sql.BLOB)
{
oracle.sql.BLOB oBlob = (oracle.sql.BLOB) blob;
return oBlob.putBytes(pos, bytes);
}
//[endwebsphere]

return this.blob.setBytes(pos, bytes);
}

虽然只列出了一个方法,但核心就在这里了

BossThinBlob bossThinBlob = new BossThinBlob(rs.getBlob("ZIP_DATA"));

D. 怎样用SQL语句查看blob字段的长度

select dbms_lob.getLength(zp) from kk.kkbj
select dbms_lob.getLength(zp) from kk.kkbj
也可以在后边加where条件
这条语句可以查看kk.kkbj表中类型为blob的zp这个字段
在sql plus里执行这条语句的效果是这样的
Sql代码
SQL> select dbms_lob.getLength(zp) from kk.kkbj ;
SQL> select dbms_lob.getLength(zp) from kk.kkbj ;
DBMS_LOB.GETLENGTH(ZP)

E. 如何用SQL 语句 替换表中的blob数据

例如 Table1中有两个字段,一个是ID(int类型),一个是content(text类型)。则在Query Analyzer中执行SQL语句:insert into Table1 values(1,'a test content')就可以了啊。要显示的话,要双击一下。

F. DB2中用SQL怎么插入一个BLOB对象

要保存图片的字段列的类型设置成image
然后插入的时候,取它的绝对路径
insert into 表名 values(@"C:/123.JPG")
可以用BLOB(string)函数将字符串转化为blob再插入,如下:
create table test(c1 blob(200)); insert into test values(blob('Hello, world'));

其他的方法可能需要用别的语言来写了,这种是在数据库下操作

G. MySQL表中有blob字段用sql语句怎么导出

SQL语句是:
insert into db2.b select blob from db1.a

如果你的db2.b表不止一个字段,那么请把字段列在后面,并且其它字段要运行为空或者自动编号,例如:
insert into db2.b(blob) select blob from db1.a

H. 如何使用PL/SQL读取数据库中的BLOB对象

使用PL/SQL从数据库中读取BLOB对象:
1.首先,确认现有对象

SQL> col fdesc for a30
SQL> select fid,fname,fdesc from eygle_blob;

FID FNAME FDESC
------------------------ ------------------------------
1 ShaoLin.jpg 少林寺-康熙手书
2 DaoYing.jpg 倒映

2.创建存储Directory

SQL> connect / as sysdba
Connected.
SQL> create or replace directory BLOBDIR as 'D:oradataPic';

Directory created.

SQL>
SQL> grant read,write on directory BLOBDIR to eygle;

Grant succeeded.

SQL>

3.创建存储过程

SQL> connect eygle/eygle
Connected.
SQL>
SQL> CREATE OR REPLACE PROCEDURE eygle_mp_blob (piname varchar2,poname varchar2) IS
2 l_file UTL_FILE.FILE_TYPE;
3 l_buffer RAW(32767);
4 l_amount BINARY_INTEGER := 32767;
5 l_pos INTEGER := 1;
6 l_blob BLOB;
7 l_blob_len INTEGER;
8 BEGIN
9 SELECT FPIC
10 INTO l_blob
11 FROM eygle_blob
12 WHERE FNAME = piname;
13
14 l_blob_len := DBMS_LOB.GETLENGTH(l_blob);
15 l_file := UTL_FILE.FOPEN('BLOBDIR',poname,'wb', 32767);
16
17 WHILE l_pos < l_blob_len LOOP
18 DBMS_LOB.READ (l_blob, l_amount, l_pos, l_buffer);
19 UTL_FILE.PUT_RAW(l_file, l_buffer, TRUE);
20 l_pos := l_pos + l_amount;
21 END LOOP;
22
23 UTL_FILE.FCLOSE(l_file);
24
25 EXCEPTION
26 WHEN OTHERS THEN
27 IF UTL_FILE.IS_OPEN(l_file) THEN
28 UTL_FILE.FCLOSE(l_file);
29 END IF;
30 RAISE;
31 END;
32 /

Procere created.

4.最后取出数据

SQL> host ls -l d:oradataPic
total 7618
-rwxrwxrwa 1 gqgai None 2131553 Apr 19 10:12 DaoYing.jpg
-rwxrwxrwa 1 gqgai None 1768198 Apr 19 10:12 ShaoLin.jpg

SQL> exec eygle_mp_blob('ShaoLin.jpg','01.jpg')

PL/SQL procere successfully completed.

SQL> host ls -l d:oradataPic
total 11072
-rwxrwxrwa 1 Administrators SYSTEM 1768198 Apr 26 07:16 01.jpg
-rwxrwxrwa 1 gqgai None 2131553 Apr 19 10:12 DaoYing.jpg
-rwxrwxrwa 1 gqgai None 1768198 Apr 19 10:12 ShaoLin.jpg

SQL>
SQL> exec eygle_mp_blob('DaoYing.jpg','02.jpg')

PL/SQL procere successfully completed.

SQL> host ls -l d:oradataPic
total 15236
-rwxrwxrwa 1 Administrators SYSTEM 1768198 Apr 26 07:16 01.jpg
-rwxrwxrwa 1 Administrators SYSTEM 2131553 Apr 26 07:19 02.jpg
-rwxrwxrwa 1 gqgai None 2131553 Apr 19 10:12 DaoYing.jpg
-rwxrwxrwa

I. sql语句怎么插入一个blob类型的字段

在PowerBuilder里面操作BLOB数据地灵活技术 PowerBuilder提供的BLOB(Binary Large Object)数据类型可以用来处理大型数据

J. 如何用sql语句写入含blob类型字段的数据

很久没用过PB了,网上找了一篇,大致看了一下,应该没什么问题 --转自51CTO论坛 在PowerBuilder里面操作BLOB数据地灵活技术 PowerBuilder提供的BLOB(Binary Large Object)数据类型可以用来处理大型数据