applet连接数据库(SQL Server),在本机可读出内容,在别的机子上却看不到?

kjc 2001-06-02 05:58:00
操作系统:win2000 server
Jbuilder4 安装时自带jdk1.3
浏览器:ie5.5
数据库:sql server 7.0
本地dsn: kjc
用户名:sa
密码: (无密码)
表名:table1
列名:test1 (varchar(50) table1表中只有这一列)
局域网ip: 192.168.0.250
机器名:kjc

使用jdbc-odbc桥连接sql server数据库,建了一个dsn,applet调用dsn,可以取出sql server中的表的数据,
但是使用局域网中别的机器就不能看到sql server表中数据,要看到只有在本机建立一个相同的数据库和数据源
为什么哟?(小弟我asp用的时间太长,想换换口味,看看用applet显示数据库内容能否快些)

源代码如下:

import java.awt.*;
import java.applet.*;
import java .sql.*;

public class Applet1 extends Applet
{
//TextArea t=new TextArea("ok");
public void init()
{
//add(t);
}
public void paint(Graphics g) //此方法用于显示输出
{
this.setBackground(Color.lightGray ); //定义背景颜色
//this.setForeground(Color.red); //定义前景颜色

String url="jdbc:odbc:kjc";
String ls_1="select * from table1";
try //异常处理模块
{
Class.forName("com.ms.jdbc.odbc.JdbcOdbcDriver"); //加载驱动程序
//建立连接
Connection con=DriverManager.getConnection(url,"","");
//执行SQL
Statement stmt=con.createStatement();
ResultSet result=stmt.executeQuery(ls_1); //返回结果
g.drawString("编号",40,40);
g.drawString("名称",80,40);
g.drawString("价值",160,40);
int iw=0,jh=0;
while(result.next())
{
//取各个字段的值
//g.drawString(result.getString(1),40,60+i);
//g.drawString(result.getString(2),80,60+i);
//t.setText(t.getText()+result.getString(1));

g.drawString(result.getString(1),iw,jh);
if(iw>320)
{
iw=0;
jh+=20;
}
else
iw+=20;

}
//关闭连接
result.close();
stmt.close();
con.close();
}
//捕获异常
catch(SQLException ex){}
catch(java.lang.Exception ex){}
}
}
...全文
82 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
luodi 2001-06-03
  • 打赏
  • 举报
回复
如何取得JDBC Driver(III/IV型),这是一个取决于你用什么数据库的问题。
按你题中所述,大概你用的是MS SQLServer,去看看这个贴子吧:
http://www.csdn.net/expert/topic/132/132156.shtm

另外,如何修改程序,这也要取决于你使用的具体Driver,不过基本上都是在前面用DriverManager来Register一个Driver的语句上作些修改就可以了。具体一点是:
Class.forName("com.ms.jdbc.odbc.JdbcOdbcDriver"); //加载驱动程序
这句话里面的"com.ms.jdbc.odbc.JdbcOdbcDriver" 改成其它Driver的类名,基本上就可以了。
kjc 2001-06-02
  • 打赏
  • 举报
回复
多谢luodi兄的解答和yangzi兄的关注,现将分数送上

能否请luodi 兄进一步告知如何取得JDBC Driver(III/IV)驱动,然后如何修改程序来使至起作用?高分送上!(我想实现的效果就是用applet代替asp的功能,客户端只需要浏览器就可以访问服务器数据)
kjc 2001-06-02
  • 打赏
  • 举报
回复
luodi 2001-06-02
  • 打赏
  • 举报
回复
jdbc-odbc 桥这种JDBC Driver是 I 型的Driver,能使用的前提是它运行的Client机器上有相应的ODBC Driver以及相应的ODBC配置是正确的。因为它只是在一个正确的ODBC连接上包装了一层JDBC接口而已,这个Driver其存在的目的不是为了让你在任何生产环境中使用的,而是让你在花大价钱购买一个别的JDBC Driver(III/IV型)之前可以在自己的机器上模拟一下使用JDBC Driver和数据库连接的效果。
也就是说,你应该做的是:先用这个Driver在自己的机器上试验,再在想发布相应的程序时去找一个III/IV型的JDBC Driver,在程序中作一点相应的修改。
yangzi 2001-06-02
  • 打赏
  • 举报
回复
由于安全问题,你不能获取你机子上的文件。
换句话说:applet只能打电话到家里。不能打到别人家。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧