当前位置: 技术问答>java相关
用JDBC访问Oracle的问题,不知道大家遇到过没有
来源: 互联网 发布时间:2015-09-29
本文导语: server: Oracle 8.0.5(字符集是中文简体的) Windows 2000 Server client: Windows 2000 Server java.sql.Connection conn = null; java.sql.Statement stmt = null; java.sql.ResultSet rs = null; java.sql.DatabaseMetaData dbmd...
server:
Oracle 8.0.5(字符集是中文简体的)
Windows 2000 Server
client:
Windows 2000 Server
java.sql.Connection conn = null;
java.sql.Statement stmt = null;
java.sql.ResultSet rs = null;
java.sql.DatabaseMetaData dbmd = null;
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
conn = DriverManager.getConnection(url,user,password);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
// stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM LZCardPrint");
rs.next();
System.out.println(rs.getString("PrtNo"));
System.out.println(rs.getString("PrtNo").length());
rs.close();
其中,PrtNo的类型是char2(20);
如果我的Statement不加任何参数,取出的数据是正确的。如果我象上面那样写,PrtNo的长度变成了60。
faint,40也好解释一点,为什么是60?
对于varchar2类型的字段,没有这样的问题。我换了好几个JDBC的驱动,也还是不行。
Oracle 8.0.5(字符集是中文简体的)
Windows 2000 Server
client:
Windows 2000 Server
java.sql.Connection conn = null;
java.sql.Statement stmt = null;
java.sql.ResultSet rs = null;
java.sql.DatabaseMetaData dbmd = null;
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
conn = DriverManager.getConnection(url,user,password);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
// stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM LZCardPrint");
rs.next();
System.out.println(rs.getString("PrtNo"));
System.out.println(rs.getString("PrtNo").length());
rs.close();
其中,PrtNo的类型是char2(20);
如果我的Statement不加任何参数,取出的数据是正确的。如果我象上面那样写,PrtNo的长度变成了60。
faint,40也好解释一点,为什么是60?
对于varchar2类型的字段,没有这样的问题。我换了好几个JDBC的驱动,也还是不行。
|
你的问题我也碰到过,是jdbc问题,具体原因我说不出,我当时用8.16的jdbc,后换用8.17的就没问题了,建议你试一下.
|
关注中,我的配置同楼主
楼主的,net assistant 配置好了么?
test 通过了么
oracle8.05的tns listener没有网络环境是不会启动的
我的建议是
1.要接入网络,最好是局域网
2.配置好net assistant
3.在调试 oracle 的odbc 驱动
4.调试jdbc-odbc 驱动,就应该没问题了
================================================================
CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!
★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。
★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。
Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
楼主的,net assistant 配置好了么?
test 通过了么
oracle8.05的tns listener没有网络环境是不会启动的
我的建议是
1.要接入网络,最好是局域网
2.配置好net assistant
3.在调试 oracle 的odbc 驱动
4.调试jdbc-odbc 驱动,就应该没问题了
================================================================
CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!
★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。
★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。
Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]