jjzjj

mysql - 如何使用 clojure.java.jdbc 从 MySQL 数据库延迟流式传输结果?

我在使用clojure.java.jdbc从MySQL数据库流式传输大型结果集时遇到问题。这就是我现在正在尝试的:(defnetl![queryresult-set-fn](jdbc/with-db-transaction[t-conndb-spec](let[conn(jdbc/get-connectiont-conn)statement(jdbc/prepare-statementconnquery:fetch-sizeInteger/MIN_VALUE:concurrency:read-only:result-type:forward-only)](jdbc/queryconn[

mysql - Clojure MySQL语法错误异常("[...] near ' ???????????????? ?' [...]")

除了建立连接之外,我在使用clojure.contrib.sql做任何事情时都遇到了问题。我有一个在localhost:3306上运行的mysqld,它有一个名为clj_db的数据库。密码为“clj_pass”的用户“clj_user”@“localhost”可以访问该数据库。当尝试“从clj_table中选择*”时,我得到一个“com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:你的SQL语法有错误;检查与你的MySQL服务器版本对应的手册以获得正确的语法在'??????????????????'附近使用在第1行。我做错了什么?cl

mysql - Jdbc (mysql) unicode 行为

我有一个带有两个UTF-8表的Mysql数据库。我们称它们为源和目标。使用clojure.java.jdbc我成功地从Source中检索了一个字段,该字段包含'ă'符号。在尝试将该字符串保存在Destination中时,我发现了一个“?”在应该有'ă'符号的地方。这是实际保存记录的顺序:(jdbc/update-or-insert-values"destination"["lexeme=?"word]record)有人知道为什么会这样吗? 最佳答案 如果您使用Wiki中的示例,那里缺少的一件明显的事情是设置连接编码。如果你没有捕获这

mysql - 如何编写带有嵌入式双引号的 Clojure 查询

我想编写一个Clojure查询,以便将where子句中的lnam和fnam参数用双引号引起来。我需要将它们用双引号引起来,因为嵌入的名称包含单引号字符,例如“O'BRIEN”。我一直在查看Clojure查询和在字符串中嵌入双引号的示例,但没有找到我想要的示例。这在leinrepl中运行良好gic-cmp.core=>(deflnam"O'BRIEN")#'gic-cmp.core/lnamgic-cmp.core=>(str""""lnam"""")"O'BRIEN"但这不会在下面的查询中产生带引号的字符串。(defnmatch-this-rec-with-last""[gic-idl

mysql - MySQL 和 clj-time 的时区问题

我在MySQL中有一个表。创建表演示(theDatedatetime);我插入两个日期,一个是夏令时,一个不是。(require'[clj-time.core:ast])(require'[clj-time.coerce:ascoerce])(require'[korma.core:ask])(k/insert:demo(values{:theDate(coerce/to-sql-date(t/date-time20140101))}))(k/insert:demo(values{:theDate(coerce/to-sql-date(t/date-time20140601))}))从

mysql - 使用 clojure.java.jdbc 从 MySQL 流式传输

根据thereleasenotesfortheMySQLJDBCdriver,当且仅当使用具有并发只读、只进结果且提取大小恰好为Integer/MIN_VALUE的连接时,它才应该流式传输结果。但是,当我尝试准确生成这些条件时(针对[mysql/mysql-connector-java"5.1.21"]),我的SQL查询仍然会永远运行(或者更确切地说,直到它耗尽了JVM的内存并变得繁荣)。(let[query(query-only(fetch-allbig-table))](clojure.java.jdbc/with-connection(get-connection(:dbquer

sql - Compojure + clojure.contrib.sql : SELECT query is being cached. 为什么?

我正在编写一个CompojureTODO应用程序,并将MySQL作为主要数据存储。我正在使用clojure.contrib.sql与MySQL交互,如下所示:(defdb{:classname"com.mysql.jdbc.Driver":subprotocol"mysql":subname"//localhost:3306/todo":user"":password""})我使用的查询似乎有效,但结果似乎已缓存。比如运行后(with-connectiondb(insert-values:todos[:name][name]))该值已成功插入数据库。然而,(defnsql-query[

在Clojure MongoDB驱动程序Monger中设置ReadPreference

在使用Monger中使用查找地图时,如何设置ReadPreference?贩子文档仅指定使用monger的收集的用法。(nsmy.service.server(:refer-clojure:exclude[sortfind])(:require[monger.core:asmg][monger.query:refer:all])(:importcom.mongodb.ReadPreference))(let[conn(mg/connect)db(mg/get-dbconn"monger-test")coll"scores"];;readsfromprimary(master)toguarant

mysql - 你如何在 clojure/java.jdbc 中使用 "WHERE x IN y"子句?

我试图让一个简单的数据库查询正常工作,但我无法让clojure/java.jdbc从IN子句中进行选择。代码如下所示:(sql/with-connectiondb(sql/with-query-resultsrows["selectf.namename,f.idfile_idfromFileCategoryfcjoinFilefonfc.file=f.idwherefc.categoryin?havingcount(1)>=?"[12];Thisisthebitwhichdoesnotwork.;Ihavetried(to-array)and(set)too2](into[]rows)

TCP 使用 Aleph 传输长字节

我正在尝试基于aleph构建RCP服务器。它通过了所有测试,但是当用于发送或接收的字节数组变大时,字节似乎已损坏。例如。我试图发送一个长度为2936的字节数组,但我在服务器上只收到了1024个字节我按照示例对nippy进行了自己的修改。编码和解码将由处理程序自己完成。(defnwrap-duplex-stream[s](let[out(s/stream)](s/connectouts)(s/spliceouts)))(defnclient[hostport](d/chain(tcp/client{:hosthost,:portport})#(wrap-duplex-stream%)))