当前位置: 技术问答>java相关
applet连接数据库(SQL Server),在本机可读出内容,在别的机子上却看不到?
来源: 互联网 发布时间:2015-01-05
本文导语: 操作系统: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 使用jd...
操作系统: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){}
}
}
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){}
}
}
|
jdbc-odbc 桥这种JDBC Driver是 I 型的Driver,能使用的前提是它运行的Client机器上有相应的ODBC Driver以及相应的ODBC配置是正确的。因为它只是在一个正确的ODBC连接上包装了一层JDBC接口而已,这个Driver其存在的目的不是为了让你在任何生产环境中使用的,而是让你在花大价钱购买一个别的JDBC Driver(III/IV型)之前可以在自己的机器上模拟一下使用JDBC Driver和数据库连接的效果。
也就是说,你应该做的是:先用这个Driver在自己的机器上试验,再在想发布相应的程序时去找一个III/IV型的JDBC Driver,在程序中作一点相应的修改。
也就是说,你应该做的是:先用这个Driver在自己的机器上试验,再在想发布相应的程序时去找一个III/IV型的JDBC Driver,在程序中作一点相应的修改。