数据库连接使用ODBC数据源

问题描述

<%@pagecontentType="text/html;Charset=gb2312"%><%@pageimport="java.sql.*"%><html><bodybgcolor="#00FFFF"><%Connectioncon;Statementsql;ResultSetrs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptione){out.print(e);}try{con=DriverManager.getConnection("jdbc:odbc:mymoon","sa","sa");sql=con.createStatement();rs=sql.executeQuery("SELECT*FORMemployeeWHEREsalary>3000");out.print("<tableborder=2>");out.print("<tr>");out.print("thwidth=100>"+"雇员号");out.print("<thwidth=100>"+"姓名");out.print("<thwidth=50>"+"出生日期");out.print("<thwidth=50>"+"薪水");out.print("</tr>");while(rs.next()){out.print("<tr>")out.print("<td>"+rs.getString(1)+"</td>");out.print("<td>"+rs.getString(2)+"</td>");out.print("<td>"+rs.getDate("birthday")+"</td>");out.print("<td>"+rs.getFloat("salary")+"</td>");out.print("</tr>");}out.print("</table>");con.close();}catch(SQLexceptione){out.print(e);}%></body></html>也不知道哪里出错了,求高手帮忙!

解决方案

解决方案二:
下面是使用纯java数据库驱动程序的代码,也是出错,求高手帮忙啊:<%@pagecontentType="text/html;Charset=gb2312"%><%@pageimport="java.sql.*"%><html><bodybgcolor="#00FFFF"><%Connectioncon;Statementsql;ResultSetrs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(Exceptione){out.print(e);}try{Stringuri="jdbc:sqlserver://192.168.1.5:1433;DatabaseName=factory";Stringuser="sa";Stringpassword="sa";con=DriverManager.getConnection(uri,user,password);sql=con.createStatement();rs=sql.executeQuery("SELECT*FORMemployeeWHEREsalary>3000");out.print("<tableborder=2>");out.print("<tr>");out.print("thwidth=100>"+"雇员号");out.print("<thwidth=100>"+"姓名");out.print("<thwidth=50>"+"出生日期");out.print("<thwidth=50>"+"薪水");out.print("</tr>");while(rs.next()){out.print("<tr>")out.print("<td>"+rs.getString(1)+"</td>");out.print("<td>"+rs.getString(2)+"</td>");out.print("<td>"+rs.getDate("birthday")+"</td>");out.print("<td>"+rs.getFloat("salary")+"</td>");out.print("</tr>");}out.print("</table>");con.close();}catch(Exceptione){out.print(e);}%></body></html>出错信息是:exceptionorg.apache.jasper.JasperException:UnabletocompileclassforJSPAnerroroccurredatline:4inthejspfile:/showBySQLDriver.jspGeneratedservleterror:Syntaxerror,insert";"tocompleteBlockStatementsorg.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)javax.servlet.http.HttpServlet.service(HttpServlet.java:802)rootcauseorg.apache.jasper.JasperException:UnabletocompileclassforJSPAnerroroccurredatline:4inthejspfile:/showBySQLDriver.jspGeneratedservleterror:Syntaxerror,insert";"tocompleteBlockStatementsorg.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:414)org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:305)org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)javax.servlet.http.HttpServlet.service(HttpServlet.java:802)noteThefullstacktraceoftherootcauseisavailableintheApacheTomcat/5.5.20logs.
解决方案三:
真的快崩溃了,如果这个问题搞不定,下面没法学了,哎
解决方案四:
1,检查是否将classpath设置错误:正确的为.;%java_home%librt.jar;%java_home%libtools.jar<!--java_homeisyourjdkdirectory-->2,Thiscanusuallybesolvedbycopyingmanually$JAVA_HOME/lib/tools.jarfromtheJDKtothecommon/libdirectoryoftheTomcatserver,followedbyaTomcatrestart.看到了吗?把jdk安装目录下的lib/tools.jar拷贝到tomcat安装目录下的common/lib目录下,然后重启tomcat,试试。3,设置tomcat的字符集为GBK,预防乱码的产生:F:Tomcat5.0conf目录下的server.xml中增加一个参数URIEncoding="GBK"forexample:<ConnectorURIEncoding="GBK"port="8080"maxThreads="150"minSpareThreads="25"maxSpareThreads="75"enableLookups="false"redirectPort="8443"acceptCount="100"debug="0"connectionTimeout="20000"disableUploadTimeout="true"/>4,增大tomcat的jvm内存使用参数:在F:Tomcat5.0bin目录下的catalina.bat文件中增加setJAVA_OPTS=-Xms256m-Xmx512mforexample:thefirstwordisaddedbyus.setJAVA_OPTS=-Xms384m-Xmx768mset_EXECJAVA=%_RUNJAVA%setMAINCLASS=org.apache.catalina.startup.BootstrapsetACTION=startsetSECURITY_POLICY_FILE=setDEBUG_OPTS=setJPDA=

解决方案五:
out.print("thwidth=100>"+"雇员号");少个括号out.print("<td>"+rs.getString(1)+"</td>");out.print("<td>"+rs.getString(2)+"</td>");out.print("<td>"+rs.getDate("birthday")+"</td>");out.print("<td>"+rs.getFloat("salary")+"</td>");要么全用序列要么全用列名只能帮你看出这么多了。希望对你有帮助
解决方案六:
引用3楼leehuat的回复:

CSScode1,检查是否将classpath设置错误:正确的为.;%java_home%librt.jar;%java_home%libtools.jar<!--java_homeisyourjdkdirectory-->2,Thiscanusuallybesolvedbycopyingmanually$JA……

请问一下,第四点中,我打不开catalina.bat文件,打开后瞬时关闭,来不及更改,还有运行后jsp页面出现乱码如下:com.microsoft.sqlserver.jdbc.SQLServerException:????TCP/IP?????java.net.ConnectException:Connectionrefused:connect我也按你说的第三点中,做了更改,重启后还是不行。怎么办呢?多谢了。

时间: 2024-08-28 13:15:46

数据库连接使用ODBC数据源的相关文章

jsp中javabean数据库连接(用ODBC数据源)

问题描述 数据库是sqlserver2000我配置了ODBC数据源dcxtdatabase.java中.............Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Stringurl="jdbc:odbc:dcxt";conn=DriverManager.getConnection(url,"sa","111111");................连接不上!不知道是什

vb神童教程(续)--ODBC数据源简介

本文欢迎非商业用途的转载,但需要注明出自"编程入门网"及相应的网址链接. ODBC(开放式数据库连接)是一种应用程序的接口(API).这种接口提供了独立于任何的数据管理系统编写应用程序的能力.OCBC通过ODBC驱动程序提供了对不同的数据库供应商的一组应用程序接口来给特殊的数据库管理系统(DBMS).用户的应用程序使用这组API来调度ODBC驱动程序.然后驱动程序通过SQL语句同DBMS发生联系. 下面我们开始介绍ODBC数据源.在"我的电脑"中打开"控制

Win8系统中的ODBC数据源是什么?

  ODBC(开放式数据库连接)是一种应用程序的接口(API).这种接口提供了独立于任何的数据管理系统编写应用程序的能力.OCBC通过ODBC驱动程序提供了对不同的数据库供应商的一组应用程序接口来给特殊的数据库管理系统(DBMS).用户的应用程序使用这组API来调度ODBC驱动程序.然后驱动程序通过SQL语句同DBMS发生联系. 下面我们开始介绍ODBC数据源.在"控制面板系统和安全管理工具"中,即可见ODBC数据源图标. 双击打开ODBC数据源管理器,如下图所示: ODBC数据源管理

关于ODBC数据源连接文本

odbc|数据|数据源 关于ODBC数据源连接文本 在<外部数据库的连接原理>一讲中我们说过,ODBC提供对多种数据库的支持,如dBase.Access.MS SQL Server及Oracle,也就是说运用ODBC数据源中所提供的连接代码,我们可以实现对多种数据库的连接.以连接Access数据库为例,ODBC数据源连接文本的格式是: "Driver={数据库驱动程序};Dbq=数据库文件;" 在以上连接文本中,如果数据库跟程序在同一目录下,或者用变量DefaultDir指

几种注册 ODBC数据源的方法

odbc|数据|数据源 几种注册 ODBC数据源的方法 国防科大 丁 浩 ODBC(Open Database Connectivity,开放式数据库互连)是一种应用程序接口 (API) 规范.它定义了一个标准例程集,使用它们应用程序可访问数据源中的数据.应用程序通过引用 API 的函数可以直接使用 ODBC,或利用数据访问对象 (DAO) 或远程数据对象 (RDO) 来使用ODBC.但是,在实现ODBC时,我们必须首先配置ODBC环境,进行数据源的注册,这样才能在对数据库进行编程时,对数据源进

搞定C# 建立ODBC数据源

odbc|数据|数据源 你观察就可以发现用windows控制面板的工具建立ODBC数据源就是在注册表中建立相应的值.下面的函数可以建立SQL Server的ODBC数据源!可以自己观察注册表,修改一部分值!/// <summary>        /// 注册odbc数据源        /// </summary>        /// <param name="DsnName">ODBC数据源名称,这里要与SQL Server数据库名保持一致&l

C++ Builder动态设定odbc数据源

本文以access为例 需要文件 odbcinst.h(bcb或vc的include目录) odbccp32.dll(winnt\system32\目录) implib.exe(通过dll生成lib库) coff2omf.exe (将coff库转化为omf库) 首先将上面文件拷贝到工程目录,执行下面命令: implib.exe odbccp32.lib odbccp32.dll coff2omf odbccp32.lib 下面程序的功能为当应用程序启动时,动态添加/修改一个指向当前目录的,名为t

通过Java动态创建ODBC数据源来访问DBF文件

通过Java动态创建ODBC数据源来访问DBF文件,需要用到registry,来修改注册表. 其实,主要是动态创建ODBC数据源,开始很简单,可以手工设置一次数据源,当然也可以通过程序直接生成,问题都不大.下面只说怎样修改. import com.ice.jni.registry.RegStringValue; import com.ice.jni.registry.Registry; import com.ice.jni.registry.RegistryKey; public class T

win7 64位下 excel 连接odbc 数据源报错,32位下可以正常

问题描述 win7 64位下 excel 连接odbc 数据源报错,32位下可以正常 odbc数据源32位 excel 32位 配置的odbc数据源如图所示 在excel中 连接到odbc数据源 这种错误怎么解决 解决方案 你选错驱动了,这是Oracle的驱动,不是Access的. 解决方案二: WIN7 64位 ODBC连接Oracle 32位报错问题