草庐IT

cassandra-jdbc

全部标签

java - JDBC批量更新问题

我对Java-JDBCAPI和Oracle数据库有一个稍微独特的要求。我将autoCommit设置为默认值,这对于Oracle是正确的,我使用的示例类似于link.但是,当我添加1000个批处理并假设它们中的每一个都是插入时。让我们假设大约20条记录违反了某些约束,我希望剩余的980条记录提交到数据库(并且此后对使用任何其他连接的任何其他查询可见)并忽略这20条记录。在上面的示例中,当一行违反任何事务时,即使我在catchblock中提交,事务也只会提交到第一次失败。我知道只有当您非常确定所有行都将通过并且异常处理不是一个时,才会进行批量更新,但我计划修补现有数据库,所以某种“不良做法

java - JDBC 使用 SELECT FOR UPDATE 锁定一行,不起作用

我在使用MySQL的SELECT..FORUPDATE时遇到问题,这是我尝试运行的查询:SELECT*FROMtableNameWHEREHostName='UnknownHost'ORDERBYUpdateTimestampasclimit1FORUPDATE在此之后,相关线程将执行更新并更改主机名,然后它应该解锁该行。我正在运行一个多线程Java应用程序,因此有3个线程正在运行此SQL语句,但是当线程1运行此语句时,它不会锁定线程2和3的结果。因此线程2和3正在获取相同的结果,他们可以更新同一行。而且每个线程都在自己的mysql连接上。我正在使用Innodb,事务隔离=READ-C

java - JDBC 连接 URL 中的用户名和密码

我使用SQuirrelSQL客户端连接和浏览我的Oracle数据库服务器。我已经在连接URL本身中提供了凭据。但它仍然提示输入用户名和密码。建立连接时是否真的需要提供额外的用户名/密码。它不会从连接URL中获取它吗?jdbc:oracle:thin:username/password@my.oracle.server.domain.com:1521:DBName 最佳答案 瘦驱动器Oracle的JDBCThin驱动程序使用Java套接字直接连接到Oracle。它提供自己的OracleSQL*Net协议(protocol)的TCP/I

java - 我应该将时区与 Postgres 和 JDBC 的时间戳分开存储吗?

似乎(也许我错了)如果您想保留JDBC和Postgres发生某些事情时的时区,您需要将时区与时间戳分开存储。也就是说,我更愿意给我的ORM/JDBC/JPA一个带有时区America/New_York的JavaCalendar(或JodaDataTime)>到Postgrestimestampz字段。并且无论服务器时区(或默认为UTC)如何,我都希望在检索时返回一个带有时区America/New_York的Calendar。但只要看看大多数JDBC代码(以及依赖于它但不会发生的事情)。这是正确的吗?当postgres支持时,我需要将tz存储在另一个字段中,这似乎很荒谬。因此似乎只有两个

java - 如何从 jdbc 连接获取驱动类名(不是驱动名)

我有一个格式如下的context.xml文件WEB-INF/web.xml我需要从这个contex.xml中获取我的驱动程序类名称。每次我都这样尝试DataSourceds=(DataSource)context.lookup("java:/jdbc/myDataSource")并尝试使用从连接中获取驱动程序类名称ds.getConnection().getMetatData().getDriverName()刚刚回来OracleJDBCDriver而不是类名oracle.jdbc.driver.OracleDriver如何从上下文中获取类名。 最佳答案

java - Spark 与 Cassandra 输入/输出

想象以下情景:一个Spark应用程序(Java实现)正在使用Cassandra数据库加载、转换为RDD并处理数据。此外,该应用程序正在从数据库中传输新数据,这些数据也由自定义接收器处理。流处理的输出存储在数据库中。该实现使用与数据库集成的SpringDataCassandra。Cassandra配置:@Configuration@ComponentScan(basePackages={"org.foo"})@PropertySource(value={"classpath:cassandra.properties"})publicclassCassandraConfig{@Autowi

java - 赫克托与 Cassandra 的基础知识

我正在使用Cassandra-0.8.2。我正在使用最新版本的Hector&我的java版本是1.6.0_26我对Cassandra和Hector还很陌生。我正在尝试做的事情:1.连接到另一台服务器上正在运行的cassandra实例。我知道它正在运行b/c我可以通过我的终端ssh进入运行这个Cassandra实例的服务器并运行具有完整功能的CLI。2.然后我想连接到一个键空间并创建一个列族,然后通过Hector向该列族添加一个值。我认为我的问题是此服务器上运行的Cassandra实例可能未配置为获取非本地命令。我想我的下一步是在我正在使用的cpu上添加一个Cassandra的本地实例,

java - Google BigQuery 的 JDBC 驱动程序?

有人知道GoogleBigQuery的任何JDBC接口(interface)或驱动程序吗?请只使用Java-我已经完成了Python库。 最佳答案 有一个3rd方JDBC驱动程序,可以从以下位置获得:http://code.google.com/p/starschema-bigquery-jdbc/它支持与原始GoogleBigQuery相同的SQLSELECT语法,但不支持插入或更新。如果您对司机有任何进一步的问题或要求,请告诉我 关于java-GoogleBigQuery的JDBC驱

java - 使用 SparkConf 连接到远程 Cassandra 集群时如何获得 pass "requires authentication"?

我正在尝试使用apachespark和cassandra进行数据分析。所以我写了一个java代码来访问在远程机器上运行的cassandra。我使用了以下java代码。publicclassJavaDemoimplementsSerializable{privatetransientSparkConfconf;privateJavaDemo(SparkConfconf){this.conf=conf;}privatevoidrun(){JavaSparkContextsc=newJavaSparkContext(conf);generateData(sc);compute(sc);sho

java - 返回 Java 8 流的 Spring 存储库方法不会关闭 JDBC 连接

我有一个Springdata存储库:@RepositoryinterfaceSomeRepositoryextendsCrudRepository{StreamstreamBySmth(StringuserId);}我在一些Springbean中调用该方法:@Scheduled(fixedRate=10000)privatevoidsomeMethod(){someRepository.streamBySmth("smth").forEach(this::callSomeMethod);}我正在使用MySQL数据库。当我在一些成功的方法调用后运行应用程序时,它会抛出一个异常:o.h.e