发信人: _westlife_(西城的秋天)
整理人: zjxyz(2002-12-19 11:15:50), 站内信件
|
首先再次说明,这不是演习,注意是在Unix下怎样通过JDBC连接远程SQLServer.
上星期在网易Java版问大虾关于如何用Java Connect SqlSever的问题,结果等了n天无人鸟我。不知道是问题太菜没引起重视,还是没有大虾。干脆自己研究,一通网上折腾,没想到其实也不难,几个小时搞定。
其实如果你的Java是在win上的,可以用JDBC-ODBC桥,这很简单,我察看了很多参考书,都是讲这个,不用对每种数据库找相应的驱动,配一下ODBC完事,没有新意,而且不是国际上流行趋势,因为Java真正的天下是Unix。
说起JDBC连接,有4类驱动程序。比较常用的是 JDBC层---数据库 形式(主要针对Unix)。他的好处是不依赖于系统环境,而且执行速度最快,国际上最流行(呵呵),缺点是不同数据库需要不同驱动程序。我们常见的有for Mysql,for Oracle,for Sqlserver,for access等。,我上网查找的是驱动程序。其实我觉得For Sqlserver的驱动挺难找的,可能是Win--Sun不容吧。不过还幸运,我找到了一个叫JSQLConnect.jar的东东。下面我只讲讲JSP和Java Application下如何连接.
顺便说一下,一个好的开发环境是很重要的,本来Java包罗万象,所以这个开发环境最好也是包罗万象。我选择的是Jbuilder,这真是个好东西,这点我特佩服Borland(inprise),人家的Builder做的确实好,很方便。首先在Jbuilder下的Tools/Configure Libraries.../配置驱动程序的引用。接着你要看看你的Default Project.../中的JspServer服务器,JDK是什末等等吧,一般默认,当然可以自己升级这些东西。Jbuilder6的Jdk是1.3的,Server是Tomcat3.2和Tomcat4(Borland想的真周到)。现在俺打开一个新建工程/建立一个index.jsp。好了,下面是敲入代码:
<%@ page import = "java.sql.*"%> //这个不用说了吧
...
...
<%!
String ConnStr;
%> //定义连接字符串对象
...
...
<%
String MobileId = "13907540***" //俺手机保密
Class.forName("com.jnetdirect.jsql.JSQLDriver"); //加载SQLServer驱动到servet 引擎的classpath中.这就是
//刚才配置Configure Libraries的原因。Tomcat知道从哪
//里找到JSQLConnect.jar。
//.代表子目录也不用说了吧
ConnStr = "jdbc:JSQLConnect://192.168.0.1:7000/database=mySQLServer/user=westlife/password=kissme";
//JSQLConnect是驱动名,就是JSQLConnect.jar名字。
//192.168.0.1:7000是远程数据库地址和端口。一般不用写端口。SQLServer
//默认端口1433,Oracle默认端口1521。我的SQLServer在7000端口,防止被
//人攻击,嘿嘿(其实自欺欺人)
//库名、用户名、口令略。
Connection Conn = DriverManager.getConnection(ConnStr);
//DriverManager是一个Java类---驱动管理器。用它生成一个连
//接。getConnection(URL)是他的方法,你要是不理解,就死记住写
//法,以后会懂的。
Statement SQLStatement = Conn.createStatement(); //生成数据库语句。createStatement方法用法自己看Documents.不懂死
//记。
String Query = "select * from subscibe where mobile_id='"+MobileID+"' order by sid";
ResultSet SQLResult = SQLStatement.executeQuery(Query);
String m_sid = SQLResult.getString("sid");
//这些东西参考书讲的很多了,包括update,insert还有存储过程等略。
SQLResult.close();
SQLStatement.close();
Conn.close(); //用完了要记得关闭,不然嘿嘿。
//******************The End*********************************************************
//写文章真累,Application的本来想写,太累了,俺还要工作,略吧,其实大同小异。
//以上谨代表个人观点,不妥之处务请指出,以免误人子弟。希望多多指教。[email protected]
//可以转载本文,但请标注来源。
---- 宿因所构,缘尽全无,得失随缘,心无增减。
|
|