Tag: jdbc

找不到合适的驱动程序(jdbc:pgsql)

(使用com.impossibl.postgres.api.jdbc) 从主机文件引用某些内容时,我遇到了build立与数据库的连接的问题。 虽然它似乎与'localhost'一起工作。 Class.forName("com.impossibl.postgres.jdbc.PGDriver"); String url = "jdbc:pgsql://localhost:5432/db"; Connection conn = DriverManager.getConnection(url, "name", "pass"); 我有一个docker容器(在同一台主机上作为postgres容器)运行。 当我使用主机的IP地址或IP地址的postgres容器工作正常,但每当我尝试使用容器名称,它给了我 java.sql.SQLException: No suitable driver found for jdbc:pgsql://postgres_container:5432/db 容器在运行时被链接到了postgres容器,并且该容器的主机文件就像它应该是一样。 这个驱动无法引用hosts文件吗? 如果是这样,为什么它与本地主机一起工作?

在docker环境中configurationtcp md5的Postgres

我正在尝试configurationPostgres以接收使用md5encryption密码的连接。 我阅读了大量的手册,并按照指示,但我没有成功。 我们有几个docker容器,其中一个是使用init_db.sh脚本configuration的Postgres 9容器。 正在运行的容器上的最终configuration是: listen_addresses = '*' local all all md5 host all all all md5 运行:lsof -i tcp:5432(我现在在我的Mac上运行),产生了这样的结果: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME com.docke 17454 sigals 36u IPv4 0x13ec351b99f025cd 0t0 TCP *:postgresql (LISTEN) com.docke 17454 sigals 37u IPv6 0x13ec351b8ce8a025 0t0 TCP localhost:postgresql (LISTEN) 当我启动使用encryption密码运行的容器时,出现:ERROR org.apache.tomcat.jdbc.pool.ConnectionPool:182 – 无法创build池的初始连接。 2017-02-08T14:07:43.438478547Z org.postgresql.util.PSQLException: […]

docker pentaho mysql驱动程序问题

我在Windows 10上使用Docker来创build一个pentaho和mysql映像,这个映像将在我用docker network create定义的networking上作为容器运行。 目的是(作为第一步),我将运行一个.KTR文件与pan.sh将从.csv文件读取数据库连接参数,并将其放置到环境; 获取数据库连接参数 接下来,第二个.KTR使用上面的环境参数来检查数据库是否存在。 检查DB存在 问题是当我用docker-compose“旋转”我的项目时,第二步失败,找不到驱动程序问题。 我把我需要的驱动程序放在pentaho容器的lib目录中,但我猜这是不正确的? 最终的目的是进行一个转换,从一个OpenEdge数据库读取的数据经过pentaho中的一系列步骤并写入mysql数据库。 这里是支持文件; Dockerfile; FROM java:8-jre MAINTAINER M Beynon # Set required environment vars ENV PDI_RELEASE=7.1 \ PDI_VERSION=7.1.0.0-12 \ CARTE_PORT=8181 \ PENTAHO_JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 \ PENTAHO_HOME=/home/pentaho # Create user RUN mkdir ${PENTAHO_HOME} && \ groupadd -r pentaho && \ useradd -s /bin/bash -d ${PENTAHO_HOME} -r -g pentaho pentaho […]

在dockerizing TeamCity时找不到MSSQL驱动程序

我用这个命令加载了一个TeamCity镜像之后: docker run -it –name teamcity -p 8111:8111 jetbrains/teamcity-server 在selectMSSQL时,我不能超越数据库集合。 我试图find在文档中的解决scheme,我发现这个网页: 用MS SQL Server设置TeamCity 我做了什么文档build议,我下载了微软的JDBC驱动程序6.2 ,我复制了它的内容,这是一个拉链在<Team City Data Directory>/lib/jdbc目录。显然,即使我把包含驱动程序的jar文件进入请求目录,它不被识别。 我试着先拷贝目录中的mssql-jdbc-6.2.2.jre8.jar和mssql-jdbc-6.2.2.jre7.jar文件,然后把所有的mssql-jdbc-6.2.2.jre7.jar文件复制一遍。之后我下载了Microsoft JDBC Driver 6.0认为这可能是一个版本问题,因为文档build议复制sqljdbc42.jar ,我也做了,没有。 也许是因为我的MSSQL服务器也是一个docker的容器,并没有一些特定的驱动程序需要安装在我的机器。

如何使用jdbc从eclipse连接到docker容器

我已经从docker中心下载了docker image mysql/mysql-server ,并使用以下命令运行了一个容器: docker run –name <name of my container> -e MYSQL_ROOT_PASSWORD=<my pwd > -d mysql:mysql-server 我已经在交互模式下使用命令docker exec -it <name of my container> mysql -uroot -p打开了mysql ,并创build了一个数据库表,并使用以下命令将其所有权限授予了我的机器ip: mysql> create user 'uname'@'<machine ip>' identified by 'pwd'; mysql> create database <dbname>; mysql> grant all privileges on <dbname>. * to 'uname'@'<machine ip>' identified by '<pwd>'; mysql> flush […]

在PSQLException上运行Grails应用程序失败:此ResultSet被closures

我试图在terminal(当然,在Pycharm)中运行本地Grails应用程序,它失败了: [WARN] 2017-11-28 13:16:26,836 (springframework.jdbc.datasource.LazyConnectionDataSourceProxy:warn:189) | Could not retrieve default auto-commit and transaction isolation settings org.postgresql.util.PSQLException: This ResultSet is closed. at org.postgresql.jdbc2.AbstractJdbc2ResultSet.checkClosed(AbstractJdbc2ResultSet.java:2852) at org.postgresql.jdbc2.AbstractJdbc2ResultSet.setFetchSize(AbstractJdbc2ResultSet.java:1875) at org.postgresql.jdbc4.Jdbc4Statement.createResultSet(Jdbc4Statement.java:37) at org.postgresql.jdbc2.AbstractJdbc2Statement$StatementResultHandler.handleResultRows(AbstractJdbc2Statement.java:219) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1816) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:559) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:403) at org.postgresql.jdbc2.AbstractJdbc2Connection.execSQLUpdate(AbstractJdbc2Connection.java:376) at org.postgresql.jdbc2.AbstractJdbc2Connection.getTransactionIsolation(AbstractJdbc2Connection.java:898) at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:733) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:233) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1214) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:676) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:455) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:90) at […]

得到的URL通过jdbc连接到马拉松应用程序

我有一个运行postgres的马拉松应用程序。 [即。 DB-实例] 我还有另一个应用程序在马拉松上运行,需要使用jdbc属性文件中的数据库URL连接到第一个应用程序。 [viz app-instance] 他们两个都是docker化的。 当马拉松旋出“db-instance”时,它会在集群中的不同从节点上启动。 那么如何在“app-instance”中指定jdbc url,以便能够连接到“db-instance”

Jupyter Spark数据库访问; java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

我在一个jupyter笔记本中使用Python 2.7&Spark 2.0.2试图访问另一个docker容器中的mySql数据库。 为了弥补这个问题,我已经实施了所有我能find的一切,但仍然不足。 这是我的模式,所以至less类似以前做过。 我把我的笔记本和Dockerfile放在一个公共仓库中作为参考,在这里的'mysql'分支。 代码失败: df = (spark.read.format('jdbc') .options( url='jdbc:mysql://172.17.0.8:6603/giskard', user='root', password='datascience', dbtable='supers',driver='com.mysql.jdbc.Driver') .load() ) (摘录,上面引用的笔记本中的完整列表): Py4JJavaError: An error occurred while calling o42.load. : java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 在dockerfile里面,我添加了所有可能的解决scheme: RUN apt-get update && apt-get install -y –no-install-recommends apt-utils && \ apt-get install -y mysql-client && \ apt-get install -y python-dev && \ apt-get […]

我可以将Oracle JDBC驱动程序JAR捆绑到Docker映像中吗?

我正在构build基于官方Docker Tomcat镜像的Docker镜像 ,除Tomcat之外,我还将其中一个Web应用程序添加为WAR文件,以便在容器启动时进行部署。 由于应用程序需要访问数据库,并且受支持的数据库使用不同的JDBC驱动程序和一些其他configuration文件,因此我将为每个受支持的数据库(均基于公共基本映像)构build一个映像,其中映像包含相应的数据库configuration和JDBC驱动程序JAR。 到目前为止,我已经为MySQL和PostgreSQL做了这个,现在我正在寻求对Oracle的支持。 由于Oracle是一个商业产品,我读了一些地方(对不起,没有官方的资料),你不允许捆绑JDBC驱动程序 – 最好的解决scheme是什么? 我是否允许/允许将Oracle JDBC驱动程序JAR捆绑到我提供给我们内部用户(不在公司之外)的Docker镜像中? 或者我必须要求用户自己下载驱动程序并将其映射到映像中?

重新介绍了“未知的初始字符集索引”错误?

我有一个连接到mysql服务器的Java客户端应用程序。 客户端和服务器都在Docker容器中运行。 我注意到官方的mysql Docker镜像最近更新了mysql服务来运行Version: '8.0.1-dmr' 由于此更改,我的Java客户端应用程序无法连接到mysql实例; 它会失败,并出现以下错误: Caused by: java.sql.SQLException: Unknown initial character set index '255' received from server. Initial client character set can be forced via the 'characterEncoding' property. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910) ~[mysql-connector-java-5.0.8-bin.jar:na] at com.mysql.jdbc.Connection.configureClientCharacterSet(Connection.java:2412) ~[mysql-connector-java-5.0.8-bin.jar:na] at com.mysql.jdbc.Connection.initializePropsFromServer(Connection.java:4139) ~[mysql-connector-java-5.0.8-bin.jar:na] at com.mysql.jdbc.Connection.createNewIO(Connection.java:2789) ~[mysql-connector-java-5.0.8-bin.jar:na] at com.mysql.jdbc.Connection.<init>(Connection.java:1555) ~[mysql-connector-java-5.0.8-bin.jar:na] at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285) ~[mysql-connector-java-5.0.8-bin.jar:na] at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:307) ~[tomcat-jdbc-8.0.20.jar:na] at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:200) ~[tomcat-jdbc-8.0.20.jar:na] at […]