jdbc 是个啥原理啊
发现没有 jdbc 的 node.js 实现。我寻思这玩意不就是 tcp 连接么,为啥没人写一个
原描述没太说清,我的意思,db connection 这一类的规范,其他语言为啥没有。找各种 driver 找起来就好麻烦
环境限制条件是 electron + python cli ,能不用 jvm 最好
node 来实现 jdbc ? 我感觉用 php 实现更快一些。
你猜 jdbc 的那个 j 是啥意思?
Java Database Connectivity
哈哈哈哈
jdbc 抽调 node 的 d 再抽调 tcp 的 c 就只剩个 ..
大概率可以用 odbc
j
是 javascript (确信
#2 javascript(逃
Javascript DataBase Connectivity 没问题
jdbc 的 j 难道不是 javascript 么?
jdbc 只是一套规范, 各种驱动实现的只是接口, 内部就是 tcp 连接
#6 感谢老哥,不过感觉 odbc 这玩意是不是特别好用,我跑半天跑不起来
www.npmjs.com/package/mysql
www.npmjs.com/package/sqlite
www.npmjs.com/package/mariadb
你学 node 没学 npm ?
xswl 加油吧新人
你用 ODBC 罢,真的
#14 我主要是想接 hive
#12 是的。我就在想这玩意应该有人来出规范才对
万物皆可 JavaScript 重写
说来其他语言有类似 JDBC 的规范吗
java database connectivity,简称 jdbc
你可能不需要 jdbc
xswl 萌新很可爱
#22 我也是这么想的,我只是想连个 hive 而已
- hive-driver 卡在 open-session ,包也不维护了
- npm jdbc 卡在 jni_md.h ,也许是 $JAVA_HOME 的问题,也想到用户的电脑上可能这种问题更多
- npm odbc 也没有跑起来
我现在的想法是自己打一个 fat jar 然后命令行调用吧
卧槽 哈哈哈
“找各种 driver 找起来就好麻烦”???
cwiki.apache.org/confluence/display/Hive/HiveClient
别的我不知道,c#和 golang 都是有统一的 db connection 规范的
JDBC 全称叫 Java Database Connectivity ,是 Java 语言提供了一套用来访问数据库的 API 规范,具体来讲,可以理解为 java.sql 这个包。
类似的,Python 也有 Python Database API Specification ( peps.python.org/pep-0249/)。
#17 hive 的 jdbc 驱动像一坨屎一样 依赖一堆的包
原因是 JDBC 其实是比“某个数据库的 Driver”更高一层的抽象,试图规范这个语言下的所有 DB Driver 接口。这需要强大的语言掌控力。Java 是个最初由 Sun 推动的商业型语言,所以 JDBC 出现了。
如果某个语言需要,就需要有人牵头搞一个。但是很遗憾,JS/Python 这种社区型语言,你退出某个 Javascript XXX 别人也不买账。你看 npm 上各种包。。。
====
其实 ORM 比 JDBC 封装层次更高,并不是要求各大 DB 遵守,而是反过来去适配各大 DB 的 driver 。ORM 才是更优解。
entity framework 表示很 j
是的,我之前也遇到过这个问题,没找到统一的上层接口。
这样看来 Java 还真适合工程应用。
1
🐔你太煤~ baby
小黑子无处不在
jdbc ,开头的 j 是指的 java 。要想通用点,就用 odbc 吧。
#2 可能是 js, /狗头
#26 感谢老哥,我还真没想到要去找 hive 官网,因为同时在找其他的 db
#30 有道理。
我的原意是,实现本身应该不复杂,就怕有什么骚操作所以其他语言没有类似的东西。
我想其实连接 db 无非就是 host, port, credentials, db 这些参数。然后弄一个连接池,如果是分布式的实现相应的协议。所以想当然以为所有语言都该有了。
fat jar 打出来了,python 的方案也跑通了,再次感谢大家!
#29 是不是那个 thrift 协议的问题
#32 后来咋解决的
#41 没有细看 它会引起各种 jar 包冲突 不过你应该不存在这个问题
SPI 服务提供发现机制
每个语言特性,语法,生态,各不相同,所以一个语言设计实现的库包,较难在别的语言有好的实现或应用
JDBC 其实是个很奇怪的抽象层。一方面它试图填补各个 DB driver 的差异性。但是 SQL 语言本身的差异性它又无法填补,就导致这玩意儿好像有点用,但其实毛用也没有,换个 DB 还得重写程序。毕竟所有语言的 DB driver 一般都能找得到完善的 connection pool 。
所以真要跨数据库写代码还是得上 ORM 。比如 Python SQLAlchemy 。
jdbc 就是 java 搞面向对象搞魔怔了的结果,除了 jdbc 还有 servlet 。
以前发布过《C语言的错误处理》一文,不过今天想说的是Egypt的“错误处理”。埃及的事闹得挺大的,国外和中文twitter上更是炸了锅。不要以为程序员就只会写程序——看看程序员…
周五早上我下了单 ETF ,没有成交也无法撤单下午看消息说上交所恢复了,又尝试下了一单结果上交所又故障了😞到晚上的时候券商显示交易成功了难道交易本身是成功的,但是回传给券商的消…
之前大学的时候,熬到两三点,一点问题没有,是带着一点点的困意或者完全不困的情况下强行让身体去睡觉。 最近几年,尤其是去年,感觉完全没有熬夜的能力了。 不是不想熬,是一到十一点多…