String url = "jdbc:sybase:Tds:IP:PORT/DBNAME?charset=cp850&jconnect_version=6"; try { Class.forName("com.sybase.jdbc3.jdbc.SybDriver").newInstance(); Connection con = DriverManager.getConnection(url, "sa", "xxxxxxxx");// Sybase用 Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("select top 10 * from tbname"); while (rs.next()) { System.out.println(rs.getString(1)); } } catch (SQLException ex) { System.out.println(ex.getMessage()); } catch (java.lang.Exception ex) { ex.printStackTrace(); }
以前连接串中,用的是在本地客户端(DSEDIT)创建好的连接,此次直接用IP+端口,也连接成功,看来还是非常方便的,也许不需本地Sybase客户端就可连接成功?有时间测试。
连接Mysql时遇到些小问题,以前未连接过Mysql库,此次对方数据库为Mysql 4.0.20,是一个较老版本,查找相关文档,目前Mysql jdbc驱动最新版为5.1.17,下载尝试时,在 DriverManager.getConnection(url1, “user”, “passwd”);始终报”数据集为空,只允许update”之类的错误,由于还未到查询表的那一步,所以十分不理解。查看jdbc文档,原来5.X版本驱动只支持4.1以上的数据库版本,只有3.0.X版本才支持Mysql 4或3等旧版,又下载了3.0.17版本,测试,通过。又试了3.1.14版本,居然也通过,3.2.X版驱动有alpha标识,就不试了。还是用比较新的3.1.14版吧,有问题了再换回3.0.17。
String url1 = "jdbc:mysql://IP:port/dbname"; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con1 = DriverManager.getConnection(url1, "user", "pass"); Statement stmt1 = con1.createStatement(); String upd="insert into tab(dd,dd,dd) values(5,5,5)"; int kk = stmt1.executeUpdate(upd); } catch (SQLException ex) { System.out.println(ex.getMessage()); } catch (java.lang.Exception ex) { ex.printStackTrace(); }
在Eclipse中添加外部引用其实挺方便,就在buildpath里面。。
另:
Catch出java.lang.Exception非常重要,否则编译就通不过,java这方面校验非常严格。
原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/315.html