高分悬赏java web编程中动态项目的eclipse+tomcat+sql2000的配置问题,成功以后还要加分。
这个问题整理一星期了,系统都重装了三次,还是搞不定,求高手。先讲下我的配置过程:软件有jdk1.5、tomcat(绿色版)6.x,eclipse3.7forjavaweb...
这个问题整理一星期了,系统都重装了三次,还是搞不定,求高手。先讲下我的配置过程:
软件有jdk1.5、tomcat(绿色版)6.x,eclipse3.7for javaweb,sql数据库及补丁和sql驱动包(msbase.jar、mssqlserver.jar、msutil.jar)。 安装过jdk、sql、sql补丁、解压sql驱动并放到C:\Program Files\Java\jre1.5.0_11\lib\ext路径下。
JAVA_HOME=C:\Program Files\Java\jdk1.5.0_11
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
path=%JAVA_HOME%\bin;
添加classpath:
C:\ProgramFiles\Java\jre1.5.0_11\lib\ext\msbase.jar;
C:\Program Files\Java\jre1.5.0_11\lib\ext\mssqlserver.jar;
C:\Program Files\Java\jre1.5.0_11\lib\ext\msutil.jar;
Tomcat需要配置的有:
1. CATALINA_HOME: D:\tomcat
2. CATALINA_BASE: D:\tomcat
3. TOMCAT_HOME: D:\Tomcat
4. 添加classpath: %CATALINA_HOME%\lib\servlet-api.jar;
解压tomcat for eclipse插件到eclipse的plugins文件夹,然后打开eclipse在窗口-首选项的tomcat下配置6.x在到服务器下配置6.0的环境完成以后,写一个简单的jsp文件可以正常访问,写一个java类可以正常访问,写一个jsp访问sql2000的动态项目,将sql的驱动包放到项目下的lib文件夹中,在META-INF中新建context.xml,代码如下
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/test" docBase="test" debug="5" reloadable="true" corssContext="true">
<Resource name="jdbc/ConnectionPool"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DtatbaseName=db_net"
username="sa"
password="123"
maxActive="50"
maxIdle="20"
maxWait="10000"
factort ="org.apache.commous.dbcp.BasicDataSourceFactory"
/>
</Context>
然后再到项目的WEB-INF下修改web.xml添加代码
<resource-ref>
<description>sql</description>
<res-ref-name>jdbc/ConnectionPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
sql2000数据库中新建数据库,db_net,新建表test1字段t记录1,2,3.数据库账号sa密码123
新建jsp文件核心代码(篇幅原因)
DataSource ds = null;
Connection conn = null;
Statement stmt = null;
ResultSet rs =null;
try{
InitialContext ctx = new InitialContext();
ds = (DataSource)ctx.lookup("java:/comp/env/jdbc/ConnectionPool");
conn = ds.getConnection();
}
catch(Exception e)
{
e.printStackTrace();
}
if(conn!=null)
{
try{
stmt=conn.createStatement();
out.println(stmt);
String tsql ="insert into test1 (t) values ('5')";
out.println(tsql);
stmt.executeUpdate(tsql);
}
catch(Exception e)
{
e.printStackTrace();
}
}
然后报错为,[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'test1' 无效。上面的out打印结果为com.microsoft.jdbc.base.BaseStatement@ec6b00 insert into test1 (t) values ('5') 。 展开
软件有jdk1.5、tomcat(绿色版)6.x,eclipse3.7for javaweb,sql数据库及补丁和sql驱动包(msbase.jar、mssqlserver.jar、msutil.jar)。 安装过jdk、sql、sql补丁、解压sql驱动并放到C:\Program Files\Java\jre1.5.0_11\lib\ext路径下。
JAVA_HOME=C:\Program Files\Java\jdk1.5.0_11
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
path=%JAVA_HOME%\bin;
添加classpath:
C:\ProgramFiles\Java\jre1.5.0_11\lib\ext\msbase.jar;
C:\Program Files\Java\jre1.5.0_11\lib\ext\mssqlserver.jar;
C:\Program Files\Java\jre1.5.0_11\lib\ext\msutil.jar;
Tomcat需要配置的有:
1. CATALINA_HOME: D:\tomcat
2. CATALINA_BASE: D:\tomcat
3. TOMCAT_HOME: D:\Tomcat
4. 添加classpath: %CATALINA_HOME%\lib\servlet-api.jar;
解压tomcat for eclipse插件到eclipse的plugins文件夹,然后打开eclipse在窗口-首选项的tomcat下配置6.x在到服务器下配置6.0的环境完成以后,写一个简单的jsp文件可以正常访问,写一个java类可以正常访问,写一个jsp访问sql2000的动态项目,将sql的驱动包放到项目下的lib文件夹中,在META-INF中新建context.xml,代码如下
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/test" docBase="test" debug="5" reloadable="true" corssContext="true">
<Resource name="jdbc/ConnectionPool"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DtatbaseName=db_net"
username="sa"
password="123"
maxActive="50"
maxIdle="20"
maxWait="10000"
factort ="org.apache.commous.dbcp.BasicDataSourceFactory"
/>
</Context>
然后再到项目的WEB-INF下修改web.xml添加代码
<resource-ref>
<description>sql</description>
<res-ref-name>jdbc/ConnectionPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
sql2000数据库中新建数据库,db_net,新建表test1字段t记录1,2,3.数据库账号sa密码123
新建jsp文件核心代码(篇幅原因)
DataSource ds = null;
Connection conn = null;
Statement stmt = null;
ResultSet rs =null;
try{
InitialContext ctx = new InitialContext();
ds = (DataSource)ctx.lookup("java:/comp/env/jdbc/ConnectionPool");
conn = ds.getConnection();
}
catch(Exception e)
{
e.printStackTrace();
}
if(conn!=null)
{
try{
stmt=conn.createStatement();
out.println(stmt);
String tsql ="insert into test1 (t) values ('5')";
out.println(tsql);
stmt.executeUpdate(tsql);
}
catch(Exception e)
{
e.printStackTrace();
}
}
然后报错为,[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'test1' 无效。上面的out打印结果为com.microsoft.jdbc.base.BaseStatement@ec6b00 insert into test1 (t) values ('5') 。 展开
5个回答
展开全部
勒个从异常来看,是数据源中没有找到test1的表,既然如此看了一下你的数据源的配置。
url="jdbc:microsoft:sqlserver://localhost:1433;DtatbaseName=db_net"
貌似最后的勒个DtatbaseName写错了, 应该是DatabaseName=“db_net”. 其他貌似没有问题的。
url="jdbc:microsoft:sqlserver://localhost:1433;DtatbaseName=db_net"
貌似最后的勒个DtatbaseName写错了, 应该是DatabaseName=“db_net”. 其他貌似没有问题的。
更多追问追答
追问
貌似你说的最有道理,但是怎么改啊。我把后面的那个db_net删除,运行,报错和上面还是一样的
追答
不是删除,是把改成url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_net”这个样子。
展开全部
链接数据库不是这样的??
Connection con;
Statement sta;
ResultSet rs;
资料引用:http://www.knowsky.com/300576.html
try{
Class.forName(driver);
System.out.println("driver is ok");
con = DriverManager.getConnection(url,user,pwd);
System.out.println("conection is ok");
sta = con.createStatement();
sta. executeUpdate("insert into test1 (t) values ('5')");
)
catch(Exception e)
{
e.printStackTrace();
}
}
还有 jdbc的驱动直接在eclipse里选构架路径 就可以了啊
Connection con;
Statement sta;
ResultSet rs;
资料引用:http://www.knowsky.com/300576.html
try{
Class.forName(driver);
System.out.println("driver is ok");
con = DriverManager.getConnection(url,user,pwd);
System.out.println("conection is ok");
sta = con.createStatement();
sta. executeUpdate("insert into test1 (t) values ('5')");
)
catch(Exception e)
{
e.printStackTrace();
}
}
还有 jdbc的驱动直接在eclipse里选构架路径 就可以了啊
追问
那是java应用程序编程,我现在写的是jsp
追答
大哥 jsp就是javaweb就是jsp+servlet
绝对能用啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从报错的结果来看,应该是正确执行了sql,但是你在数据库里有test1这张表么?
追问
有,确实是执行sql的时候报异常。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
找不到test1,数据库里有test1吗?或者,test1属性是只有一个字符吗?看下insert属性是否与test1匹配。
追问
数据库叫db_net里面有表叫test1字段是t记录是1,2,3
我不写jsp工程,写java类就算用记事本都可以访问的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-01-17
展开全部
数据库里有test1这个表了么
更多追问追答
追问
数据库叫db_net里面有表叫test1字段是t记录是1,2,3
我不写jsp工程,写java类就算用记事本都可以访问的
追答
看报错信息是test1不存在。你检查下数据库db_net和数据库用户sa都对不。然后看看test1这个表所属的数据库用户和数据库是哪个?看看记事本访问时都正常insert了么?再比较下两种方式的不同之处。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询