我是Tomcat和Java SE 6的新手,需要知道我需要做些什么才能安装,配置和使用Microsoft JDBC驱动程序。
我已下载JDBC驱动程序并将其解压缩到Windows 2008系统上的目录中。我将在tomcat 6中安装几个需要与SQL数据库通信的Java应用程序。
我是否需要将文件从JDBC目录复制到tomcat目录或tomcat中安装的java应用程序目录?
我是否需要配置任何其他内容?
答案 0 :(得分:1)
尝试Getting Started with JDBC Drivers
另外一个链接Getting Started with Microsoft JDBC Drivers
我现在就你提出的问题做了一些研究。我发现的是这个。 下载驱动程序后,只需将它们添加到操作系统的类路径中即可。现在如何将它们放到你的Tomcat部分,我建议你做MVC模型方法,请求将进入你的servlet然后你的类将与你的数据库建立连接只是一个普通的类,你的Servlet class将调用此类,它将与您的数据库建立Connections,并将所需的字段发送回Servlet类。 我使用Microsoft SQL Server 2008测试了驱动程序,以下代码适用于:
import java.*;
public class Connect
{
private java.sql.Connection con = null;
private final String url = "jdbc:sqlserver://";
private final String serverName= "localhost";
private final String portNumber = "1433";
private final String databaseName= "yourDatabaseName";
private final String userName = "yourUserName";
private final String password = "yourPassword";
// Informs the driver to use server a side-cursor,
// which permits more than one active statement
// on a connection.
private final String selectMethod = "cursor";
// Constructor
public Connect(){}
private String getConnectionUrl()
{
return url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";
}
private java.sql.Connection getConnection()
{
try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);
if(con!=null) System.out.println("Connection Successful!");
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Error Trace in getConnection() : " + e.getMessage());
}
return con;
}
/*
Display the driver properties, database details
*/
public void displayDbProperties()
{
java.sql.DatabaseMetaData dm = null;
java.sql.ResultSet rs = null;
try
{
con= this.getConnection();
if(con!=null)
{
dm = con.getMetaData();
System.out.println("Driver Information");
System.out.println("\tDriver Name: "+ dm.getDriverName());
System.out.println("\tDriver Version: "+ dm.getDriverVersion ());
System.out.println("\nDatabase Information ");
System.out.println("\tDatabase Name: "+ dm.getDatabaseProductName());
System.out.println("\tDatabase Version: "+ dm.getDatabaseProductVersion());
System.out.println("Avalilable Catalogs ");
rs = dm.getCatalogs();
while(rs.next())
{
System.out.println("\tcatalog: "+ rs.getString(1));
}
rs.close();
rs = null;
closeConnection();
}else System.out.println("Error: No active Connection");
}
catch(Exception e)
{
e.printStackTrace();
}
dm=null;
}
private void closeConnection()
{
try
{
if(con!=null)
con.close();
con=null;
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception
{
Connect myDbTest = new Connect();
myDbTest.displayDbProperties();
}
}
此代码稍微改变了一下我在给出的链接中提供的代码。将sqljdbc.jar添加到类路径并提供DatabaseName,UserName和Password并尝试运行此代码。如果它成功了,那么为Web应用程序使用一个MVC(模型视图控制器)模式,其中请求来到servlet,servlet将它传递给普通的Java类,建立与数据库的连接并访问数据库,然后将您需要的内容检索回Servlet类。
答案 1 :(得分:1)
正如Gagandeep提供的链接所说,为了让你的JVM建立数据库连接,JDBC驱动程序jar必须在类路径上,你需要为你的Java程序提供一个合适的连接字符串和凭据。
至于你需要专门用Tomcat做什么,这在很大程度上取决于你的应用程序以及它们如何检索与数据库的连接
现在有一些选项可以创建并提供此连接。使用Tomcat和Java EE应用程序,您的Java应用程序可以在其web.xml中定义一个。 Tomcat将负责创建/维护连接(池)并根据需要将其提供给应用程序。在这种情况下,驱动程序必须位于Tomcat的类路径上,您需要在应用程序的相应context.xml中进行一些配置,甚至可能需要server.xml。 Here's some Tomcat docs on this method topic
或者,您的应用程序可能负责设置和拆除数据库连接,在这种情况下,驱动程序jar可能属于WAR类路径的WAR /部分。然后,所需要的只是一种将所需的连接信息提供给应用程序的方法(环境条目,属性文件,任意数量的其他方法)...