﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-java -文章分类-oracle</title><link>http://www.blogjava.net/wangbbs2007/category/41398.html</link><description>乐乐</description><language>zh-cn</language><lastBuildDate>Fri, 04 Sep 2009 10:35:41 GMT</lastBuildDate><pubDate>Fri, 04 Sep 2009 10:35:41 GMT</pubDate><ttl>60</ttl><item><title>oracle创建表空间/用户 </title><link>http://www.blogjava.net/wangbbs2007/articles/293904.html</link><dc:creator>乐java乐</dc:creator><author>乐java乐</author><pubDate>Fri, 04 Sep 2009 08:57:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/293904.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/293904.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/293904.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/293904.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/293904.html</trackback:ping><description><![CDATA[<div class="storytext">
<p><span><font color="#006666" size="2">要使用Oracle还需要做一些前期工作. <br />
<br />
使用Oracle用户<br />
# su - oracle<br />
<br />
创建表空间 -&gt; 创建新用户 -&gt; 用户授权<br />
<br />
一 创建表空间<br />
SQL&gt; CREATE TABLESPACE test01 <br />
DATAFILE '/data/oracle/oradata/db/test01.dbf' SIZE 1024M UNIFORM SIZE 128k;</font></span><span><font color="#006666" size="2"><br />
<br />
1) DATAFILE: 表空间数据文件存放路径<br />
2) SIZE: 起初设置为1G就可以<br />
3) UNIFORM: 指定区尺寸为128k,如不指定，区尺寸默认为64k <br />
4) 空间名称 test01 与 数据文件名称 test01.dbf 不要求相同,可随意命名.</font></span></p>
<p><span><font color="#006666" size="2">通过ALTER DATABASE修改空间扩展大小</font></span></p>
<p><span><font color="#006666" size="2">SQL &gt; ALTER DATABASE DATAFILE '/data/oracle/oradata/db/test01.dbf' ' AUTOEXTEND ON;</font></span></p>
<p><span><font color="#006666" size="2"><span><font color="#006666" size="2">1)<span><font color="#006666" size="2">AUTOEXTEND ON:在Oracle10g中,需要手动启动分区自动扩展功能.</font></span></font></span><br />
二 创建新用户<br />
SQL&gt; CREATE USER test IDENTIFIED BY 123456 DEFAULT TABLESPACE test01;<br />
<br />
1) 创建用户同时分配表空间<br />
<br />
三 用户授权<br />
1)用户角色授权<br />
SQL&gt; CRANT CONNECT,RESOURCE TO test;<br />
<br />
a) 我这里将CONNECT和RESOURCE角色赋给新用户test,test将拥有这两个角色的操作权限.<br />
<br />
2)直接授权<br />
多用户<br />
SQL&gt; CRANT SELECT,INSERT,UPDATE,DELETE,ON USERS TO test,test1;<br />
<br />
下面我们可以使用两种方式登录Oracle db<br />
一 SQLPLUS<br />
1)本地登录<br />
SQL&gt; sqlplus test/123456<br />
<br />
2)远程登录<br />
假设db在另一台服务器<br />
SQL&gt; sqlplus test/123456@db<br />
<br />
二 PLSQL Developer<br />
上篇中也有讲述,输入账号口令就可以了.<br />
<br />
<br />
下面说些和上面相关,且工作中会需要用到的.<br />
一 删除用户<br />
SQL&gt; DROP USER test CASCADE;<br />
<br />
二 删除表空间<br />
SQL&gt; DROP TABLESPACE test01 INCLUDING CONTENTS AND DATAFILES;<br />
<br />
1) 删除表空间内容和数据文件.<br />
2) 一般无效表空间占用磁盘空间,所以这个应该很常用.</font></span> </p>
<p><br />
<p><font size="2">查看用户角色权限</font></p>
<p><font color="#0000ff" size="2">select * from user_role_privs;</font></p>
<p><font size="2">查看用户表权限</font></p>
<p><font color="#0000ff" size="2">select * from user_tab_privs;</font></p>
</div>
<img src ="http://www.blogjava.net/wangbbs2007/aggbug/293904.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐java乐</a> 2009-09-04 16:57 <a href="http://www.blogjava.net/wangbbs2007/articles/293904.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORACLE创建用户 管理用户常用语句</title><link>http://www.blogjava.net/wangbbs2007/articles/293895.html</link><dc:creator>乐java乐</dc:creator><author>乐java乐</author><pubDate>Fri, 04 Sep 2009 08:16:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/293895.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/293895.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/293895.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/293895.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/293895.html</trackback:ping><description><![CDATA[<p>创建用户的过程<br />
1创建用户 </p>
<p>Create user 用户名 identified by 密码；</p>
<p>（如果是数字则要加双引号&#8221;&lt;st1:chmetcnv w:st="on" unitname="&#8221;" sourcevalue="111111" hasspace="False" negative="False" numbertype="1" tcsc="0"&gt;111111&#8221;&lt;/st1:chmetcnv&gt;，如果是字母就不用） </p>
<p>2授权给某个用户 </p>
<p>Grant connect,resource to 用户名；(只有用户有了connect 和 resource后才能操作其他表) </p>
<p>3授DBA 权限 </p>
<p>Grant dba to 用户名； </p>
<p>4撤权：&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; revoke&nbsp;&nbsp; 权限...&nbsp;&nbsp; from&nbsp; 用户名;</p>
<p>举例</p>
<p>用默认用户名密码system/manager登陆创建新用户：</p>
<p>create user test1 identified by test1; <br />
grant connect,resource to test1;</p>
<p>&nbsp;</p>
<p>查看Oracle用户权限的部分语句<br />
1.查看所有用户 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; select * from all_users; -------查看所有的用户 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; select * from user_users;&nbsp; --------查看当前用户 </p>
<p>2.查看用户或角色系统权限： </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; select * from user_sys_privs;&nbsp; --------查看当前用户的权限 </p>
<p>3.查看角色所包含的权限 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; select * from role_sys_privs;&nbsp;&nbsp; ------- </p>
<p>4.查看用户对象权限 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; select * from all_tab_privs;&nbsp;&nbsp; --------查看所用的用户的可操作表权限 <br />
&nbsp;&nbsp;&nbsp;&nbsp; select * from user_tab_privs; --------查看当前用户的表可操作权限 </p>
<p>5.查看用户或角色所拥有的角色 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; select * from user_role_privs;&nbsp;&nbsp; ------查看当前用户的角色</p>
<p>实际应用的例子<br />
创建一个只读的Oracle用户</p>
<p>grant connect to username <br />
grant select any table to username <br />
当然 ,这个权限还是不能select sys用户下的表的</p>
<p>因为sys是数据字典的拥有者，要select sys下的所有对象，必须有select any dictionary的权限</p>
<p>&nbsp;</p>
<p>备注:<br />
一般情况下创建用户都会赋予grant connect to username权限,甚至grant connect,resource to username;</p>
<p>但connect包含了alter session权限,认为不是非常安全,也可以修改成以下的形式.</p>
<p>grant create session to user;</p>
<p><br />
本文由贾漯昭博客原创，引用地址是:http://www.ok3g.cn/Html/141.html</p>
<img src ="http://www.blogjava.net/wangbbs2007/aggbug/293895.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐java乐</a> 2009-09-04 16:16 <a href="http://www.blogjava.net/wangbbs2007/articles/293895.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JDBC中操作Blob、Clob等对象</title><link>http://www.blogjava.net/wangbbs2007/articles/292503.html</link><dc:creator>乐java乐</dc:creator><author>乐java乐</author><pubDate>Tue, 25 Aug 2009 05:06:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/292503.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/292503.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/292503.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/292503.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/292503.html</trackback:ping><description><![CDATA[<p>package eg;&nbsp;&nbsp; <br />
import java.io.*;&nbsp;&nbsp; <br />
import java.sql.*;&nbsp;&nbsp; <br />
public class BlobClobExample {&nbsp;&nbsp; <br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; public static void main(String[] args) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Connection conn = null;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn = JDBCUtils.getConnection(); // 建立连接&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Statement s = conn.createStatement(); // 创建Statement对象&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s.executeUpdate("drop table documents");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 这句是为了避免再次创建表documents&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .executeUpdate("CREATE TABLE documents(id INT, text CLOB(64 K) , photo Blob(1440 K))");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 以上就是创建包含Clob和Blob对象的表的过程&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 和将一般的字段差不多，后面括号中代表该对象的大小，其语法为：&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // CLOB (length [{{K |M |G}]) 表示长度为K、M、G等，没有带表示比特&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.commit(); // 提交操作&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 以下是将本地文件中，本程序的源文件加载为一个流，用于向数据库中写入Clob字段&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; File file1 = new File("BlobClobExample.java");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int len1 = (int) file1.length();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputStream fis1 = new java.io.FileInputStream(file1);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 以下是将当前源代码目录的子目录&#8220;11&#8221;下的&#8220;1.JPG&#8221;文件加载为一个流，&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 用于后面向数据库中写入Blob字段&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; File file2 = new File("c:\\11\\1.JPG");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int len2 = (int) file2.length();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputStream fis2 = new FileInputStream(file2);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 以上两个简单吧！！&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 创建一个PreparedStatement对象，用于批量插入内容&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 使用PreparedStatement对象可以节省，数据库编译SQL指令的时间，&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 因为在使用PreparedStatement对象时，该SQL语句是预先编译好了，&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 对于某些变化的参数使用占位符（Place Holder）代替&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 这对于以后将要执行多次的同一操作，该操作仅仅是参数不同，是极其有利&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 比如在网页上输入客户信息时，用户要填入的数据基本是一样的（你可以填也可以不填）&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 这时后台的数据库可以使用PreparedStatement对象，每次都是设置参数，执行操作&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PreparedStatement ps = conn&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .prepareStatement("INSERT INTO documents VALUES (?, ?,?)");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ps.setInt(1, 250);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ps.setAsciiStream(2, fis1, len1);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ps.setBinaryStream(3, fis2, len2);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 以上三步是设置占位符的数值&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ps.execute(); // 执行操作&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 以上四步可以重复执行。PreparedStatement就是为了适用于此用途&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.commit();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 以上完成了数据的写入&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 以下是数据的读出&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ResultSet rs = s&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .executeQuery("SELECT text , photo FROM documents WHERE id = 250");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (rs.next()) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Clob aclob = rs.getClob(1); // 和提取一般对象一样&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputStream is = rs.getAsciiStream(1); // 特殊的，对于与得到Clob的流&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 这是得到Clob、Blob流的第一种方法&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 以下是对流进行处理的过程。Clob本身是包含大字符的对象&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 顺其自然，以下是使用java IO中读取字符流的方法读取它&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BufferedReader br = new BufferedReader(&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new InputStreamReader(is));&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String line = null;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (null != (line = br.readLine())) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(line); // 将其输出至屏幕，实际你可以按照需要处理&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; is.close();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java.sql.Blob ablob = rs.getBlob(2); // 和操作其它基本类型的字段一样&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(ablob.length()); // 简单地操作Blob的实例&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 实际你可以使用Clob的API对其进行任何它允许的操作，请查API&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputStream bis = ablob.getBinaryStream(); // 得到Blob实例的字节流&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 这是操作Clob、Blob等对象的第二种方法，也是最自然的用法&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OutputStream os = new FileOutputStream("11.jpg");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 用于将数据库中的Blob存放到目前目录的&#8220;11.jpg&#8221;文件中&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int b = bis.read(); // 以下就是象操作其它java字节流一样操作了&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (b != -1) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; os.write((char) b);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b = bis.read();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; os.flush();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; os.close();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bis.close();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (Exception e) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.printStackTrace();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } finally {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (conn != null)&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.close();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
}&nbsp; </p>
<p><br />
本文来自CSDN博客，转载请标明出处：http://blog.csdn.net/zhangxs_3/archive/2009/03/22/4014308.aspx</p>
  <img src ="http://www.blogjava.net/wangbbs2007/aggbug/292503.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐java乐</a> 2009-08-25 13:06 <a href="http://www.blogjava.net/wangbbs2007/articles/292503.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Data truncation: Data too long for column 'name' at row 1</title><link>http://www.blogjava.net/wangbbs2007/articles/291357.html</link><dc:creator>乐java乐</dc:creator><author>乐java乐</author><pubDate>Sun, 16 Aug 2009 08:33:00 GMT</pubDate><guid>http://www.blogjava.net/wangbbs2007/articles/291357.html</guid><wfw:comment>http://www.blogjava.net/wangbbs2007/comments/291357.html</wfw:comment><comments>http://www.blogjava.net/wangbbs2007/articles/291357.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangbbs2007/comments/commentRss/291357.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangbbs2007/services/trackbacks/291357.html</trackback:ping><description><![CDATA[mysql能把英文字段插如数据库了　当我输入中文时他就出现字段Data &nbsp; truncation: &nbsp; Data &nbsp; too &nbsp; long &nbsp; for &nbsp; column &nbsp; 'name ' <br />
<br />
<br />
我遇到的 是乱码问题&nbsp;&nbsp; 
 <img src ="http://www.blogjava.net/wangbbs2007/aggbug/291357.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangbbs2007/" target="_blank">乐java乐</a> 2009-08-16 16:33 <a href="http://www.blogjava.net/wangbbs2007/articles/291357.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>