相关疑难解决方法(0)

将Java连接到MySQL数据库

你如何用Java连接到MySQL数据库?

当我尝试时,我明白了

java.sql.SQLException: No suitable driver found for jdbc:mysql://database/table
    at java.sql.DriverManager.getConnection(DriverManager.java:689)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
Run Code Online (Sandbox Code Playgroud)

要么

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
Run Code Online (Sandbox Code Playgroud)

要么

java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
Run Code Online (Sandbox Code Playgroud)

java mysql jdbc

309
推荐指数
5
解决办法
55万
查看次数

如何修复:"使用池时没有找到适合jdbc:mysql:// localhost/dbname的驱动程序"错误?

我正在尝试创建与我的数据库的连接,当我使用main方法测试我的代码时,它可以无缝地工作.但是,当尝试通过Tomcat 7访问它时,它会失败并显示错误:

No suitable driver found for jdbc:mysql://localhost/dbname. 
Run Code Online (Sandbox Code Playgroud)

我正在使用汇集.我在WEB-INF/lib和.classpath中放入了mysql连接器(5.1.15),dbcp(1.4)和pool(1.4.5)库.我正在使用Eclipse IDE.我的数据库驱动程序代码是:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import org.apache.tomcat.dbcp.dbcp.ConnectionFactory;
import org.apache.tomcat.dbcp.dbcp.DriverManagerConnectionFactory;
import org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory;
import org.apache.tomcat.dbcp.dbcp.PoolingDriver;
import org.apache.tomcat.dbcp.pool.impl.GenericObjectPool;

public class DatabaseConnector {
    public static String DB_URI = "jdbc:mysql://localhost/dbname";
    public static String DB_USER = "test";
    public static String DB_PASS = "password";

    // Singleton instance
    protected static DatabaseConnector _instance;

    protected String _uri;
    protected String _username;
    protected String _password;

    /**
     * Singleton, so no public constructor
     */
    protected DatabaseConnector(String uri, String username, String password) { …
Run Code Online (Sandbox Code Playgroud)

mysql jdbc tomcat7 apache-commons-dbcp

92
推荐指数
6
解决办法
45万
查看次数

臭名昭着的java.sql.SQLException:找不到合适的驱动程序

我正在尝试将已启用数据库的JSP添加到现有的Tomcat 5.5应用程序(GeoServer 2.0.0,如果有帮助的话).

该应用程序本身与Postgres谈话很好,所以我知道数据库已启动,用户可以访问它,所有这些好东西.我想要做的是在我添加的JSP中的数据库查询.我已经在Tomcat数据源示例中使用了配置示例,非常开箱即用.必要的taglibs位于正确的位置 - 如果我只有taglib refs就不会发生错误,因此它会找到那些JAR.postgres jdbc驱动程序postgresql-8.4.701.jdbc3.jar位于$ CATALINA_HOME/common/lib中.

这是JSP的顶部:

<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<sql:query var="rs" dataSource="jdbc/mmas">
  select current_validstart as ValidTime from runoff_forecast_valid_time
</sql:query>
Run Code Online (Sandbox Code Playgroud)

来自$ CATALINA_HOME/conf/server.xml的相关部分,其内部<Host>依次是<Engine>:

<Context path="/gs2" allowLinking="true">
  <Resource name="jdbc/mmas" type="javax.sql.Datasource"
      auth="Container" driverClassName="org.postgresql.Driver"
      maxActive="100" maxIdle="30" maxWait="10000"
      username="mmas" password="very_secure_yess_precious!"
      url="jdbc:postgresql//localhost:5432/mmas" />
</Context>
Run Code Online (Sandbox Code Playgroud)

这些行是webapps/gs2/WEB-INF/web.xml中标记的最后一行:

<resource-ref>
  <description>
     The database resource for the MMAS PostGIS database
  </description>
  <res-ref-name>
     jdbc/mmas
  </res-ref-name>
  <res-type>
     javax.sql.DataSource
  </res-type>
  <res-auth>
     Container
  </res-auth>
</resource-ref>
Run Code Online (Sandbox Code Playgroud)

最后,例外:

   exception
    org.apache.jasper.JasperException: Unable …
Run Code Online (Sandbox Code Playgroud)

postgresql tomcat jdbc geoserver

72
推荐指数
4
解决办法
12万
查看次数

Keycloak 17.0.0 docker 镜像找不到适合 postgres 的驱动程序

我正在运行 docker 桌面(Windows)并按照此处的说明为 keycloak 17.0.0 构建 docker 映像。构建成功完成,但是当我在桌面上运行此映像时出现错误

错误 [org.key.qua.run.cli.ExecutionExceptionHandler](主要)错误:无法获取 JDBC 连接

错误 [org.key.qua.run.cli.ExecutionExceptionHandler](主要)错误:找不到适用于 jdbc 的驱动程序:postgresql://postgres/keycloak

postgres 已经在默认端口 5432 上以名称“postgres”在 docker 桌面中运行,并创建了 keyclock 数据库。

这是我的 Dockerfile:

FROM quay.io/keycloak/keycloak-x:latest as builder

ENV KC_METRICS_ENABLED=true
ENV KC_FEATURES=token-exchange
ENV KC_DB=postgres
RUN /opt/keycloak/bin/kc.sh build

FROM quay.io/keycloak/keycloak-x:latest
COPY --from=builder /opt/keycloak/lib/quarkus/ /opt/keycloak/lib/quarkus/
WORKDIR /opt/keycloak

RUN keytool -genkeypair -storepass password -storetype PKCS12 -keyalg RSA -keysize 2048 -dname "CN=server" -alias server -ext "SAN:c=DNS:localhost,IP:127.0.0.1" -keystore conf/server.keystore

ENV KEYCLOAK_ADMIN=admin
ENV KEYCLOAK_ADMIN_PASSWORD=admin

ENV KC_DB_URL='jdbc:postgresql://postgres/keycloak'
ENV KC_DB_USERNAME=postgres
ENV KC_DB_PASSWORD=postgres

ENV KC_HOSTNAME=localhost:8443
ENTRYPOINT …
Run Code Online (Sandbox Code Playgroud)

docker keycloak

10
推荐指数
1
解决办法
9137
查看次数