除了 sqlite 和 sqlserver,还有哪些数据库支持通过以文件路径访问的数据库?

2020-07-16 09:20:27 +08:00
 tctc4869

sqlite 和 sqlserver,都是单一文件的数据库( sql server 的数据文件只包括 mdf ),可以把数据库文件移动到任何地方,并且都支持通过文件路径访问。而不是通过数据库的服务的实例名称来读取。

但是 sqlite 没有存储过程,而 sql server express 版最大支持 10G,非 express 版要钱。

那么有其他类似功能的数据库么,支持存储过程,支持移动数据文件到任何一个位置,支持通过文件路径( java,c#)去访问数据库内容。

3598 次点击
所在节点    程序员
32 条回复
wangxiaoaer
2020-07-16 16:37:31 +08:00
借楼问一下,有么有文件数据库可以支持集群访问?

比如把数据库依赖的文件放到 NAS 中,集群的多个实例都访问这个数据库。

H2 好像不支持这么干,一个实例(进程)连接之后,其他进程就不能连接了。
tctc4869
2020-07-16 16:53:41 +08:00
@GM 优先考虑 ava 和 c#,其次考虑 c++,node.js 吧( electron ),

不一定要嵌入式数据库,只要是数据库实例是作为文件,或者数据库实例是一个方法数据库实例相关文件夹(其中包括数据文件日志文件等杂项,比如 SqlServer ),可以被程序以本地路径的方式读取,是不是嵌入式还是服务端,都没关系,只要编程语言支持以本地路径读取就可以,
MeteorCat
2020-07-16 17:05:06 +08:00
json + 1,文本化数据库,直接 dbname.json
wiix
2020-07-16 17:07:03 +08:00
@wangxiaoaer h2 支持 Embedded 、Server 、Mixed 三种连接模式,你说的是 Embedded 模式。
tctc4869
2020-07-16 17:07:22 +08:00
@tctc4869 说错了,“或者数据库实例是一个方法数据库实例相关文件夹”改为“数据库实例牵扯文件不止一个,但数据库实例牵扯的文件是可以被整合到一个文件夹内”
wangxiaoaer
2020-07-16 17:10:49 +08:00
@wiix #24 我希望 Embedded 模式支持多实例,但是它不支持。
tctc4869
2020-07-16 17:11:51 +08:00
@wiixh2 h2 支持存储过程么,并发怎么用(与 sqlite 相比)
wiix
2020-07-16 18:04:55 +08:00
@wangxiaoaer 可以关掉文件锁。但只能一个链接进行写操作,否则数据库会损坏。

@tctc4869 应该是支持的,不用存储过程没去了解。
有 Server 模式,可以用 TCP/IP 访问
jdbc:h2:tcp://<server>[:<port>]/[<path>]<databaseName>
但需要用 java -jar h2.jar 这种方式启动一个 h2 服务;
或者先用一个应用以 Mixed 启动,然后其他应用就可以用 TCP/IP 访问了
tctc4869
2020-07-17 08:29:09 +08:00
@wackyjazz1 请问要怎么在 Windows 中启动 firebird ? dbeaver 无法像 sqlite 那样直接创建 firebird 的 db 文件,需要安装什么么?
Firebird-3.0.6.33328_0_x64.exe 安装这个么?然后要怎么创建一个 firebird 的 db 文件?
wackyjazz1
2020-07-20 11:21:13 +08:00
@tctc4869 https://firebirdsql.org/manual/qsg10-creating.html 安裝完後可以使用命令行創建,很簡單的
tctc4869
2020-12-21 09:48:54 +08:00
@codehz 存储过程的用处,可以少写很多东西
tctc4869
2020-12-21 09:51:34 +08:00
@codehz 假设我用两个不同的编程语言开发读写数据库的程序,要写重复的代码,但是有了存储过程,我可以少写很多代码,节省开发时间。

当然这种用途,我并不是用于服务端,

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/690456

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX