Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1343172
  • 博文数量: 188
  • 博客积分: 4847
  • 博客等级: 上校
  • 技术积分: 2124
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-06 13:49
个人简介

Who am I?

文章分类

全部博文(188)

分类: Sybase

2006-06-26 15:57:22


在sybase网站上下载了两个jdbc的驱动
jConnect-5_5.zip

jConnect-6_05.zip
在网上搜罗了一下如何使用jdbc连接sybase。
很明显 那些大全里写的那些文字根本不正确。
这是一个典型的例子,(当然 我没有调试成功)
--
Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB为你的数据库名
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);
--
解压jConnect-5_5.zip后看到驱动jconn2.jar,使用winrar打开浏览一下
com.sybase.jdbc.SybDriver的路径不正确 好像是com.sybase.jdbcx.SybDriver
改后仍旧不成功。
不过,设置JDBC_HOME后,带的一个工具jisql是运行成功的。这给了我很大的鼓舞。
毕竟,人家能连接,我也要试试。
忍住头皮,看docs。
翻阅了一小会儿,就有了眉目。
这个文档叫docs\en\progref\prjdbcp6.htm ,很短,正是我想要的。试试去
我虽然java不精通,调试小程序还是很容易的,加上eclipse很智能,程序很快就调试过去了。
下面是程序
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import com.sybase.jdbcx.SybDriver;

public class T1 {

    /**
     *T1.java
     * @param args
     */
    public static void main(String[] args) {
        
        
        try {
            SybDriver  sybDriver = (SybDriver)
               Class.forName   ("com.sybase.jdbc2.jdbc.SybDriver").newInstance();

    sybDriver.setVersion
                   (com.sybase.jdbcx.SybDriver.VERSION_5);
            
            DriverManager.registerDriver(sybDriver);
            //Class.forName("com.sybase.jdbcx.SybDriver").newInstance();
        } catch (InstantiationException e) {
            // TODO 自动生成 catch 块
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            // TODO 自动生成 catch 块
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            // TODO 自动生成 catch 块
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO 自动生成 catch 块
            e.printStackTrace();
        }
        String url =" jdbc:sybase:Tds:192.168.0.43:5000";
        Properties sysProps = System.getProperties();
        sysProps.put("user","sa");
        sysProps.put("password","");
        try {
            Connection conn= DriverManager.getConnection(url, sysProps);
            Statement stmt = null;
            stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("select * from spt_datatype_info");
            System.out.println("<-");
            
            while (rs.next())
            System.out.println(rs.getString(1)+"-"+rs.getString(2));
            System.out.println("->"); 
        } catch (SQLException e) {
            
            e.printStackTrace();
        }
    }
}
好像可以写得通用一点 哦
阅读(11064) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~