GVKun编程网logo

Tomcat5+Mssql server 2000数据库连接池配置之旅(tomcat数据库连接池配置参数)

4

本文将分享Tomcat5+Mssqlserver2000数据库连接池配置之旅的详细内容,并且还将对tomcat数据库连接池配置参数进行详尽解释,此外,我们还将为大家带来关于APACHE2.0.50+T

本文将分享Tomcat5+Mssql server 2000数据库连接池配置之旅的详细内容,并且还将对tomcat数据库连接池配置参数进行详尽解释,此外,我们还将为大家带来关于APACHE2.0.50+TOMCAT5.0.18+LINUX9 配置过程、Apache2.2.4 + Tomcat5.0 整合手记、apache2.2.4+jk+tomcat5.5.27 配置中的几个问题、django 连接 mssql 数据库 (django 1.11.11 sql server 2008 R2)的相关知识,希望对你有所帮助。

本文目录一览:

Tomcat5+Mssql server 2000数据库连接池配置之旅(tomcat数据库连接池配置参数)

Tomcat5+Mssql server 2000数据库连接池配置之旅(tomcat数据库连接池配置参数)

Tomcat相信大家已经很熟悉了,作为一种免费而强大的java web server,得到了很多java爱好者的青睐,最新版本的tomcat5支持servlet2.4和jsp2.0,今天我将采用Tomcat5和Ms sqlserver 000一起来开始数据库连接池配置之旅。

需要的准备

1、jdk 我使用的版本1.4.01

2、Tomcat 5 我使用的是5.0.16版本 下载地址:http://jakarta.apache.org/site/binindex.cgi

3、Mssql server 2000 数据库

4、Mssql server 2000的官方jdbc driver ,可以到微软的官方网站免费下载

好了在安装完上面的软件之后,就进入配置实战了:)

一、找到jdbc的安装目录,把lib目录下面的msbase.jar和mssqlserver.jar、msutil.jar三个文件一起copy到$CATALINA_HOME/common/lib/($CATALINA_HOME代表的是你的tomcat5的安装目录)

二、用文本编辑器,我这是使用editplus(她可是我的挚爱奥)打开$CATALINA_HOME/conf/server.xml文件,找到配置context的地方,把下面的代码

粘贴到文件里面

       debug="5" reloadable="true" crossContext="true">

             prefix="localhost_DBTest_log." suffix=".txt"

            timestamp="true"/>

               auth="Container"

              type="javax.sql.DataSource"/>

 

  

     factory

     org.apache.commons.dbcp.BasicDataSourceFactory

  

  

  

     maxActive

     100

  

  

  

     maxIdle

     30

  

  

  

     maxWait

     10000

  

  

  

    username

    sa

  

  

    password

   

  

  

  

      driverClassName

      com.microsoft.jdbc.sqlserver.sqlServerDriver

  

  

  

     url

     jdbc:microsoft:sqlserver://localhost:1433;databasename=northwind

  

 

注意:我本地的数据库的sa的密码为空,数据库使用的是northwind,我的目录名DBTest,他的目录是D:rautinee workdb

打开DBTest下面的web.xml文件,用下面的代码替换原来的内容

   br>   "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

   "http://java.sun.com/dtd/web-app_2_3.dtd">

 MSsql server Test App

 

     DB Connection

     jdbc/TestDB

     javax.sql.DataSource

     Container

 

ok,配置完成,下面的工作是需要编写两个文件测试一下,连接是否成功。

这里我用了http://jakarta.apache.org上面的例子

首先是bean文件

package foo;

import javax.naming.*;

import javax.sql.*;

import java.sql.*;

public class DBTest {

 String foo = "Not Connected";

 int bar = -1;

 public void init() {

   try{

     Context ctx = new InitialContext();

     if(ctx == null )

         throw new Exception("Boom - No Context");

     DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/TestDB");

     if (ds != null) {

       Connection conn = ds.getConnection();

       if(conn != null)  {

           foo = "Got Connection "+conn.toString();

           Statement stmt = conn.createStatement();

           ResultSet rst =

               stmt.executeQuery("select * from orders");

           if(rst.next()) {

              foo=rst.getString("CustomerID");

              bar=rst.getInt("OrderID");

           }

           conn.close();

       }

     }

   }catch(Exception e) {

     e.printstacktrace();

   }

}

public String getFoo() { return foo; }

public int getBar() { return bar;}

}

然后是index.jsp文件

 

   DB Test

 

     foo.DBTest tst = new foo.DBtest();

   tst.init();

 %>

 

Ms sql server 2000 java search Results

   Foo

   Bar  

'www.kNowsky.com编译运行,如果不出意外,应该检索到一条记录,

我的ie中显示的是

Ms sql server 2000 java search Results

Foo VINET

Bar 10248

ok,配制成功!

参考文档:

http://jakarta.apache.org/tomcat/tomcat-5.0-doc/jndi-datasource-examples-howto.html 上面有MysqL和oracle8i的连接教程,有兴趣的朋友可以上去看一下。

APACHE2.0.50+TOMCAT5.0.18+LINUX9 配置过程

APACHE2.0.50+TOMCAT5.0.18+LINUX9 配置过程

APACHE2+TOMCAT5+LINUX9 配置过程

1. 准备:(目录:/www/tmp)
 httpd-2.0.50.tar.gz
 jakarta-tomcat-5.0.18.tar.gz
 jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
 j2sdk-1_4_2-linux-i586-rpm
2. 安装 JDK1.4
 直接运行 JDK rpm, 默认情况下安装在 /usr/java 下
rpm –ivh j2sdk-1_4_2-linux-i586-rpm
 编辑全局变量
vi /etc/profile
添加:JAVA_HOME=/usr/java/ j2sdk-1_4_2
export JAVA_HOME
 验证设置
echo $JAVA_HOME
3. 安装 APACHE
 解压原码包
tar –zxvf httpd-2.0.50.tar.gz
 配置路径和选项
./configure --prefix=/usr/local/apache2 --enable-mods-shared=all
 make
 make install
 测试
./usr/local/apache2/bin/apachectl start
http://localhost
4. 安装 TOMCAT
 复制代码包到 /usr/local 下
cp jakarta-tomcat-5.0.18.tar.gz /usr/local
 解压该包
tar –zxvf jakarta-tomcat-5.0.18.tar.gz
 配置全局变量
vi /etc/profile
添加:
CATALINA_HOME=/usr/local/ jakarta-tomcat-5.0.18
export CATALINA_HOME
 测试
./usr/local/apache2/apachectl start
http://localhost:8080
5. 编译连接器
 解压源码包
tar –zxvf jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
 修改配置
cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2
./configure
 --with-apxs2=/usr/local/apache2/bin/apxs --with-apr-lib=/usr/local/apache2/bin
 --with-tomcat-41=/usr/local/jakarta-tomcat-5.0.18 --with-java-home=/usr/java/ j2sdk-1_4_2 
--with-jni
 修改 MAKEFILE 文件(为了包含所必须的类,否则会在 TOMCAT 启动时报错)
cd  /www/tmp/ jakarta-tomcat-connectors-jk2-2.0.4-src /jk/native2/server/apache2
找到:
ifdef APR_LIBDIR_LA 
JK_LDFLAGS=-L${APACHE2_LIBDIR} -lcrypt 
else 
JK_LDFLAGS=-lcrypt ${APR_LIBS} 
endif
替换为:
ifdef APR_LIBDIR_LA 
JK_LDFLAGS=-L${APACHE2_LIBDIR} -lcrypt 
else 
JK_LDFLAGS=-lcrypt ${APR_LIBS} JK_LDFLAGS=-lcrypt ${APR_LIBS} -L/usr/local/apache2/lib -laprutil-0 -lgdbm -ldb-4.0 -lexpat 
endif
 make
 回到 native2 目录
 进入 build 目录,运行 APXS
cd ../build/jk2/apache2
/usr/local/httpd/bin/apxs -n jk2 -i mod_jk2.so
 将生成的文件拷贝到 APACHE 下
# cp libjkjni.so /usr/local/apache2/modules/jkjni.so 
# cp mod_jk2.so /usr/local/apache2/modules/
6. 配置
 配置 jk2.properties
cd /usr/local/jakarta-tomcat-5.0.18/conf
vi jk2.properties
 去掉 shm.file 前的 # 拿掉,並且設定 jk2.shm 位置为 /usr/local/ apache2/logs/ jk2.shm
# shm.file=/usr/local/apache/logs/jk2.shm ---- shm.file=/usr/local/apache2/logs/jk2.shm
 配置 httpd.conf
cd /usr/local/apache2/conf
vi httpd.conf
找到 LOAD 块,在其下添加:
LoadModule jk2_module modules/mod_jk2.so
 配置 workers2.properties
cd /usr/local/apache2/conf
vi workers2.properties
添加如下代码:
# ------- start ---------
[shm]
file=/usr/local/apache/logs/shm.file
size=1048576
[channel.socket]
tomcatId=localhost:8009
[uri:/jsp-examples/*]
# --------end ------------
7. 测试
http://localhost/jsp-examples
8. 问题:
 在 apache 启动后的日志(/usr/loal/apache2/logs/error_log)里如果发现这样的错误: 
channelSocket.open() connect failed localhost:8009 146 Connection refused
请检查 workers2.properties 配置是否正确
 在 TOMCAT 启动后的日志 (/usr/local/tomcat/logs/Catalina.out) 里如果发现这样的错误:
INFO:APRnotloaded,disablingjnicomponents:java.io.IOException:java.lang.UnsatisfiedLinkError: /usr/local/apache2/modules/jkjni.so:/usr/local/apache2 /modules/jkjni.so: undefined symbol: apr_md5_final
请检查是否正确修改了 MAKEFILE




李高峰
QQ: 180323536
msn: lushanlee@hotmail.com
email: ligf@sports.cn



Apache2.2.4 + Tomcat5.0 整合手记

Apache2.2.4 + Tomcat5.0 整合手记

基于反向代理的动态页面缓存技术(参见 车东文章),
落实到穷人的解决方案之一就是 Apache+tomcat 的整合,整合应当达到以下几方面效果:
1.Apache 负责静态文件的处理
2. 涉及 jsp,servlet 的动态请求交给 tomcat 处理
3. 通过自定义错误响应 404,当 Apache 找不到静态页面时,应当重定向给 tomcat 处理
4. 在负责处理第 3 种情况 tomcat 的 servlet 或者 jsp 中,能够获得重定向之前的 URL 等信息。

看了网上的文章,需要在 apache2.2 自带 ajp 或者 mod_jk 之间做出选择。
先试试 ajp 吧,大家都说配置简单。
搜了一下,以 这篇文章讲得最为清楚。
按照作者指引,很快来到了第 4 步。在 httpd-vhosts.conf 中加入一行
    ErrorDocument 404 /rp/test.jsp
其中 test.jsp 是统一的 404 错误入口,将来调用模板和数据生成请求的静态页面。
测试代码如下:
<%@ page contentType="text/html;charset=gb2312" import="java.util.*"%>
<%out.println("

Hello World!jsp

");%>
<%
Object redir_url = request.getAttribute("REDIRECT_URL");
out.println(redir_url);
%>

结果 404 错误重定向到该页面后,确无法获得原始的 URL。
在网上搜索,也有难友遇到同样的问题,即 ajp 没有提供类似 mod_jk 的 JkEnvVar 机制,
以将错误重定向的环境变量传递给 servlet 的 request.getAttribute
关于 apache 的自定义错误处理参见 www.kingmx.com/Manual/ApacheMenu/custom-error.html
没奈何只好悻悻作罢。
后来想了想,有一个曲折的解决办法就是,将 ErrorDocument 重定向到 apache 下的一个 html,再由此 html 在 browser 端
利用 js 调用 tomcat 的 servlet 并将原始 URL 传递进去。
关键代码行如下:

document.location="http://localhost/batcal/test.jsp?ru="+document.URL;
这个办法的缺点是效率较低,与服务端重定向相比较,多了一次 http 交互.

改用 mod_jk 好了
根据以下链接 http://blog.sina.com.cn/u/4c592ecf010009dz
指引,同样顺利来到第 4 步。

在 httpd.conf 中加入一行
JkEnvVar REDIRECT_URL NULL
再次调用 test.jsp,结果通过 request.getAttribute ("REDIRECT_URL"); 获得了原始 URL,搞定。

与采用 ajp 相比,mod_jk 的配置确实麻烦。但总算实现了预期目标。

apache2.2.4+jk+tomcat5.5.27 配置中的几个问题

apache2.2.4+jk+tomcat5.5.27 配置中的几个问题

问题1:
我的workers.properties中的内容是这样的:
ps=\
wk.list=ajp13
wk.ajp13.port=8009
wk.ajp13.host=localhost
wk.ajp13.type=ajp13
wk.ajp13.lbfactor=50
在apache的conf/httpd.conf中写了如下内容:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile "D:\Program Files\Apache Software Foundation\Apache2.2\conf\workers.properties"
JkMount /*.do ajp13
JkMount /*.jsp ajp13
这样是可以连通的,但是如果我将workers.properties和httpd.conf中的ajp13换成别的名字,就无法正常运行,请问这是为什么?另外,我把workers.properties中的wk.ajp13.host这行用#号注释掉,只要wk.list的名字是ajp13,仍然可以运行,这是怎么回事啊。。。
问题2:
当我把apache安装在一台物理机,tomcat安在另一台物理机上,按照如上写法,只是将wk.ajp13.host=localhost中的值改成对应的tomcat的地址,但是连不上,请问这个应该如何配置?
问题3:
按照问题1中的配置,访问http://localhost/admin时,点击admin就显示没有安装此应用,但是直接敲http://localhost:8080/admin就可以访问,请问这个应该如何配置?

先写过了!!!

django 连接 mssql 数据库 (django 1.11.11 sql server 2008 R2)

django 连接 mssql 数据库 (django 1.11.11 sql server 2008 R2)

 

模块使用的是 pcodbc+django-pyodbc-azure

1 pip install django-pyodbc-azure 
2 pip install pyodbc

版本分别为

pyodbc==4.0.26

django-pyodbc-azure==2.1.0.0

创建数据库连接

DATABASES = {
    ''default'': {
        ''ENGINE'': ''sql_server.pyodbc'',
        ''HOST'': ''127.0.0.1'',
        ''PORT'': '''',
        ''NAME'': ''test'',
        ''USER'': ''sa'',
        ''PASSWORD'': ''123'',
        ''OPTIONS'': {
            ''driver'': ''ODBC Driver 13 for SQL Server'',
            ''MARS_Connection'': True,
        }
    }
}

# set this to False if you want to turn off pyodbc''s connection pooling
# 不想用pyodbc连接就把这句加上?
DATABASE_CONNECTION_POOLING = False

在对应的 app/models.py 添加 model 

from django.db import models

# Create your models here.
class userinfo(models.Model):
    #如果没有models.AutoField,默认会创建一个id的自增列
    name = models.CharField(max_length=30)
    email = models.EmailField()
    memo = models.TextField()

项目文件下目录下执行

python manage.py makemigrations
python manage.py migrate

报错

django.db.utils.InterfaceError: (''IM002'', ''[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 (0) (SQLDriverConnect)'')

原因是未安装 ODBC 驱动

前往微软官网下载驱动

https://www.microsoft.com/zh-CN/download/details.aspx?id=53339

Microsoft® ODBC Driver 13.1 for SQL Server

如果下载其他版本 ''driver'': 字段要自行修改 

再次执行

1 python manage.py makemigrations
2 python manage.py migrate

查看数据库

如出现以上表说明连接成功

 

关于Tomcat5+Mssql server 2000数据库连接池配置之旅tomcat数据库连接池配置参数的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于APACHE2.0.50+TOMCAT5.0.18+LINUX9 配置过程、Apache2.2.4 + Tomcat5.0 整合手记、apache2.2.4+jk+tomcat5.5.27 配置中的几个问题、django 连接 mssql 数据库 (django 1.11.11 sql server 2008 R2)等相关内容,可以在本站寻找。

本文标签: