在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();
}
}
}
好像可以写得通用一点 哦
阅读(11119) | 评论(1) | 转发(0) |