Hay muchas formas de conectarse a la base de datos SQL Server2000 utilizando Java. Los siguientes son los dos métodos más utilizados (conexión a la base de datos a través del controlador JDBC).
1. Conéctese a través del controlador JDBC de Microsoft. Este controlador JDBC tiene tres archivos, a saber, mssqlserver.jar, msutil.jar y msbase.jar, que se pueden descargar desde el sitio web de Microsoft (://www.microsoft.com/downloads/details.aspx?FamilyId=07287B11-0502 -461A -B138-2AA54BFDC03A&displaylang=en), si descargó setup.exe, también deberá instalarlo. Después de la instalación, se generarán los tres archivos jar anteriores. Este controlador JDBC implementa JDBC 2.0.
Nombre del controlador: com.microsoft.jdbc.sqlserver.SQLServerDriver (es decir, classforname a continuación)
URL de conexión a la base de datos: jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname (es decir, la siguiente URL)
2. Conéctese a la base de datos de SQL Server a través del controlador JTDS JDBC. El nombre de archivo de este controlador es jtds-1.2.jar y la ruta de descarga es ( http://sourceforge.net/project/showfiles.php?group_id=33291. ). Este controlador es compatible con Microsoft SQL Server (6.5, 7.0, 2000 y 2005) y Sybase, y la implementación de JDBC3.0 es gratuita.
Nombre del controlador: net.sourceforge.jtds.jdbc.Driver (es decir, classforname a continuación)
URL de conexión a la base de datos: jdbc:jtds:sqlserver://localhost:1433/dbname (es decir, la siguiente URL)
Hay muchos códigos Bean para que JDBC se conecte a bases de datos de SQL Server en Internet. Aquí hay un extracto de parte de ellos: (Cambie localhost y 1433 por la dirección del servidor SQL y el número de puerto en su aplicación real, y cámbielos. dbname a su nombre de base de datos real)
importar java.sql.*;
conexión de base de datos de clase pública {
conexión de conexión privada;
declaración privada stmt;
URL de cadena privada = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname";
cadena privada classforname = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
Cadena privada uid = "sa";
cadena privada pwd = "contraseña";
Conexión de base de datos pública(){}
/**
* <p>Obtener conexión a la base de datos a través del controlador JDBC de Microsoft</p>
* Conexión @return
* @exception ClassNotFoundException, SQLException
*/
Conexión pública getConnection()
{
intentar
{
Class.forName(claseparanombre);
if (conexión == nulo || conexión.isClosed())
conexión = DriverManager.getConnection(url, uid, contraseña);
}
captura (ClassNotFoundException ex)
captura (SQLException ex)
conexión de retorno;
}
}
Por supuesto, antes de realizar el trabajo anterior, primero debe verificar si hay algún problema con la configuración de SQL Server. Los pasos son los siguientes:
Primero abra la "ventana de línea de comando", que es la ventana de MS-Dos, e ingrese
telnet localhost 1433 (Por supuesto, reemplace localhost con la dirección del servidor donde se encuentra SQL Server y cambie el puerto al puerto real de SQL Server. El valor predeterminado es 1433)
Si tiene éxito, significa que su servidor SQL se puede conectar. Si falla (generalmente para Win2003 o WinXP SP2), ingrese al panel de control, abra "Servicios" en "Herramientas administrativas" e inicie el servicio "SQLSERVERAGENT" (. Por supuesto, también puede aplicar el paquete de parche SP3 de SQL Server) y continuar con la operación anterior, que debería tener éxito.
En segundo lugar, verifique si su nombre de usuario y contraseña pueden iniciar sesión en el servidor SQL Server. Por supuesto, la forma más directa es abrir el "Analizador de consultas" de SQL Server, ingresar el nombre de usuario y la contraseña y hacer clic en Aceptar.
Si tiene éxito, significa que su configuración de inicio de sesión de SQL Server está bien. Si falla, abra el "Enterprise Manager" de SQL Server y vaya al servidor SQL Server que registró (es decir, el que está en "Grupo de SQL Server". a la izquierda Dongdong) Es decir, haga clic derecho, seleccione "Propiedades", seleccione "Seguridad" en el cuadro de diálogo "Configuración de SQL Server (Propiedades)", configure la autenticación en "SQL Server y Windows (S)", y luego use Análisis de consultas Pruebe el servidor una vez. Si aún no puede conectarse, verifique si su nombre de usuario y contraseña son correctos. Repita la prueba hasta que tenga éxito.
Si usa conexiones en JSP, por supuesto, además de usar JDBC directamente, todos están más interesados en el grupo de conexiones (Pool). Aquí nos centraremos en varios usos del grupo de conexiones.
Por conveniencia, primero configure el contenedor JSP en Tomcat, porque todos lo usan más.
1. Configuración global (cualquier aplicación web en Tomcat puede usar el grupo de conexiones configurado): configure el grupo de conexiones en server.xml. El archivo server.xml se encuentra en el directorio $TOMCAT_HOME$/conf/. Ábralo y busque </. GlobalNamingResources> e inserte el siguiente código antes de esta línea:
<Recurso
nombre="jdbc/nombredelgrupo"
auth="Contenedor"
tipo="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
nombre de usuario = "sa"
contraseña="contraseña"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=dbname"/>
Nota: nombre es el nombre JNDI global completo del grupo de conexiones, nombre de usuario es el nombre de usuario y contraseña de la conexión de la base de datos, driverClassName es el nombre del controlador de la base de datos y url es la cadena de conexión de la base de datos. Modifíquelo de acuerdo con su configuración real.
La configuración aún no está completa. A continuación, debemos establecer el nombre del acceso global en context.xml. La configuración es la siguiente:
Busque </Context> e inserte el siguiente código antes de esta línea:
<ResourceLink global="jdbc/poolName" nombre="jdbc/poolName" tipo="javax.sql.DataSource"/>
2. Configuración parcial: cree un nuevo archivo xml en el directorio $TOMCAT_HOME$/conf/Catalina/localhost/. El archivo xml debe tener el mismo nombre que el directorio de la aplicación web que publica. Si es webappname.xml, agregue lo siguiente. contenido (configuración de Tomcat El directorio virtual externo también se maneja aquí, ¡ja!
<Ruta de contexto="/webappname" docBase="d:/webappname" debug="0" reloadable="true" crossContext="true">
<Recurso
nombre="jdbc/nombredelgrupo"
auth="Contenedor"
tipo="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
nombre de usuario = "sa"
contraseña="contraseña"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=dbname"/>
<ResourceLink global="jdbc/poolName" nombre="jdbc/poolName" tipo="javax.sql.DataSource"/>
</Contexto>
Para los dos primeros métodos, el código para llamar al grupo de conexiones es el siguiente: (El método Debug.log() de com.yeno.util.Debug se usa principalmente para imprimir información de depuración y puede ser reemplazado por System.out.println ())
importar java.sql.*;
importar javax.sql.DataSource;
importar javax.naming.*;
importar com.yeno.util.Debug;
/**
* <p>La clase de gestión de operaciones de base de datos solo implementa la conexión, el apagado y el procesamiento de transacciones de la base de datos</p>
* @Aurhor Yeno.hhr
* Fecha de creación 2005-12-9
*/
grupo de datos de clase pública {
grupo de datos público(){}
/**
* <p>Obtener conexión a la base de datos a través del grupo de conexiones Tomcat</p>
* @param no
* @return Conexión de base de datos
* @exception NamingException,SQLException,Excepción
*/
Conexión pública getConnect()
{
Conexión de conexión = nula;
intentar
{
Contexto intitCtx = nuevoContextoInicial();
Contexto envCtx = (Contexto)intitCtx.lookup("java:comp/env");
Fuente de datos ds = (Fuente de datos)envCtx.lookup("jdbc/poolName");
conexión = ds.getConnection();
}
captura (NamingException siguiente)
{
Debug.log(this,"getConnect()","¡No hay un entorno correcto!");
}
captura (SQLException sqlex)
{
Debug.log(this,"getConnect()","¡No se puede conectar!");
}
conexión de retorno;
}
}
Antes de utilizar el código anterior, debe asegurarse de que los archivos JAR relevantes del controlador JDBC (mssqlserver.jar, msutil.jar y msbase.jar para Microsoft, jtds-1.2.jar para JTDS) se hayan configurado correctamente. Puede copiarlos. archivos JAR relevantes al directorio $TOMCAT_HOME $/common/lib/, o puede copiarlos al directorio $WEB_ROOT$/WEB-INF/lib/
También puede utilizar la inyección para llamar al grupo de conexiones, es decir, llamarlo en el archivo de configuración de Hibernate hibernate.cfg.xml. Después de configurar el grupo de conexiones en el contenedor JSP, llame a la configuración del grupo de conexiones del sistema en la clave de configuración de Hibernate. código A continuación se incluye un extracto:
<fábrica de sesiones>
<!--
<nombre de propiedad="jndi.class"></property>
<nombre de propiedad="jndi.url"></property>
-->
<property name="connection.datasource">java:comp/env/jdbc/poolName</property>
<nombre de propiedad="show_sql">falso</propiedad>
<nombre de propiedad="dialect">org.hibernate.dialect.SQLServerDialect</property>
</sesión-fábrica>
Para el uso específico de Hibernate, verifique los detalles relevantes.