Articles of 数据库

如何将MS Access数据库(.mdb)文件转换为Sqlite数据库(.db)文件?

任何人都可以帮助我将MS Access( .mdb )文件转换为Sqlite数据库( .db )文件? 我需要转换所有的表并转储里面的数据。 有没有可用的工具,或者是否有任何API将.mdb转换为.db?

如何find自动增量列的下一个生成的值?

IBM DB2的自动增量列面临一些麻烦。 起初,我的所有列被定义为GENERATED ALWAYS ,但是由于我在使用“db2 import …”命令时遇到了麻烦,所以我将它们更改为GENERATED BY DEFAULT 。 这是必要的,因为我需要ID是一致的,因为其他表引用它们。 所以使用“db2 import …被identityignore修改…”不是一个选项。 当我现在导入数据时,ID被正确插入,但每次我这样做的时候,我都必须记住通过获得最高的Id + 1来设置自动增量列的新开始,并像这样改变列: SELECT MAX(mycolumn)+ 1 FROM mytable; ALTER TABLE mytable ALTER COLUMN mycolumn RESTART WITH <above_result>; 如果我忘记了这一点,一个插入语句将失败并出现重复的PK错误,因为自动增加列是主键。 所以我的问题是:有没有办法find一个自动增量列的下一个值,所以我可以编写语句来检查,如果这个值小于SELECT MAX并且需要设置? 或者:这不是像我看起来那么复杂吗? 我可以以某种方式导入数据,保留ID和自动增量列仍按预期工作?

机器对机器通信的协议select – 级别:n00b

我正在build立一个灌溉泵和连接pipe道的监测系统。 到目前为止,我已经完成了传感器networking。 一切都连接到一个微控制器板(实际上是4 Teensy 3.0板),并且板被编程为以预定的时间间隔输出一串格式化的数据(读数)。 我想要做的就是通过USB串口将电路板连接到一个RaspberryPI (或其他一些SBC),然后让计算机将来自传感器板的读数发送到远程服务器进行logging。 我考虑的选项是: 1 – 系统日志…它让我很早就意识到这一点,因为它似乎提供了我所需要的几乎所有东西。 复杂性让我感到害怕。 2 – REST …将RaspberryPI POST数据,线上,通过networking上传到服务器上的CouchDB。 3 – HTTP …使用node.js保持一个开放的HTTP连接,并“写入”数据行。 它当然需要被第二个node.js脚本接收,以存储在DB中。 现在要求: 〜它需要轻量级和相对较快。 将会有很多数据(间隔1秒),而RaspberryPI也不是强大的。 〜我非常喜欢压缩string的选项。 上行链路是通过3G,我希望去一个“小”的月度计划。 〜encryption将是很好的,但不是强制性的。 偏执狂与乡下人一样强大 〜我真的需要这个尽可能KISS。 长话短说,我已经把这个作为一种网上串行连接,一台计算机在线连接到另一台计算机。 那么,我在这里select的选项是可取的? 或者更好,有谁有更好的主意? 我诚恳地打开编辑,甚至重新发布这个问题,如果有人有一个好点。 编辑: 迄今为止所有的评论和回答都被赞赏和考虑。 系统日志真的很棒,但我真的需要避免复杂性和开销。 另外,经过一些testing,RaspberryPI似乎在启动rsyslog后不久就停下来了。 到目前为止,已经决定DBMS将成为CouchDB。 显而易见的select是使用curl或退化的node.js服务器在数据到达时立即对数据库服务器进行REST调用。 这虽然简单而有效,但出于许多原因并不可取。 安全也是一个问题。 我不喜欢在直接调用DBMS的领域中使用微型PC的想法。 我开始赏金的原因是我希望有人能够提出一个如下的想法:“远程微型PC和DBMS之间的某种持续连接,数据将通过某种协议进行格式化并通过这种连接进行转发以便在另一端接收,这种连接需要尽可能轻量,尽可能less的开销“。

确保MySQL数据库完全使用UTF8的最佳方法

在使用UTF8和非UTF8string的一些问题之后,我们正在使用UTF8进行标准化。 我需要做的一件事是检查在MySQL数据库中的一切都是UTF8? 我需要检查什么? 服务器默认字符集 每个数据库的默认字符集 每个文本列都有一个字符集? 我如何检查? 我正在考虑把所有这一切都放在一个nagios插件来检查一切是在UTF8。 build议?

使用MySQL来pipe理20 TB数据是否可行?

我正在一个项目中工作,我的工作是build立一个数据库系统来pipe理大约600亿个数据条目。 项目背景是我必须对大量每秒从大约30,000个RFID阅读器读取的消息进行实时存储。 假设每个RFID阅读器每天产生6000条消息,我必须将180,000,000条条目插入到数据库中。 一个可能的数据input就像“time_stamp,Reader_ID,Tag_ID,other_msg_content” 将根据时间范围,Reader_ID和Tag_ID进行查询(SELECT)。 查询不会很复杂。 现在我正在devise数据库系统,并计划使用MySQL。 我的转储问题是: 使用MySQL是明智的,还是应该使用Oracle(昂贵)或HBase? 如果我必须使用MySQL,任何想法如何build立群集? 如果我把消息插入一个表格,表格很快就会变长。 我想使用Sharding技术将长表拆分为许多短表。 3.A. 我想知道一个MySQL InnoDB表的正确长度,也就是说,在插入了多less条数据之后,我将开始分片? 3.B. 那里有没有好的分片代理解决scheme? 我知道spock代理和其他一些,需要build议。 我必须使用MySQL群集吗? 或者我只使用mysql主服务器和分片从服务器,并使用复制来实现高可用性? 假设我必须在MySQL中处理20TB数据(一年),我打算使用20个节点(PC服务器,便宜),并且每个节点存储1TB的数据,这有可能吗? 任何意见都欢迎。 非常感谢。

PostgreSQL服务initdb不起作用

我在我的Fedora 16上安装了PostgreSQL 9.1.2,使用类似于这里提到的方法,并对其进行了testing,这意味着我的安装工作正常。 但是当我这样做: service postgresql initdb甚至service postgresql-9.0 initdb我得到的错误: Redirecting to /bin/systemctl initdb postgresql.service Unknown operation initdb 正因为如此,我也无法启动pgAdmin3。 我错过了什么?

join_buffer_size> = 4 M不build议?

我从MysqlTunner.pl得到这个消息: join_buffer_size> = 4 M这不build议 另一方面,我读了Debian关于jont_buffer_size的my.cnf指南: 此缓冲区用于优化完整JOIN(没有索引的JOIN)。 在大多数情况下,这样的JOIN对性能来说是非常糟糕的,但是将这个variables设置为一个较大的值会降低对性能的影响。 请参阅“Select_full_join”状态variables以查看完整JOIN的计数。 如果find完全连接,则为每个线程分配一个线程 所以我想知道我应该相信哪一个? 目前我已经设置了join_buffer_size = 64M,作为应对高stream量站点的可扩展性问题的一部分,其中查询并不是特别优化的。 我很欣赏你的提示。

数据库服务器能够在2个16核的CPU或者8个4核的CPU上运行得更好吗?

我拥有的: 一个在线财务应用程序(ASP.NET,C#) 在高峰期,我们有5K +同时用户 后端在Oracle 11g上运行(活动服务器+使用Active Data Guard的备用服务器)。 在峰值 – 4K-5K数据库会话 Oracle安装在Linux 5.8(Oracle的不可破解的版本)上 数据库大小:7TB 磁盘存储:NetApp(连接10GBnetworking) 我想replace旧的服务器(IT将购买HP刀片BL685C)。 服务器将有256GB的RAM。 我需要你的帮助来弄清楚如何处理CPU和内核。 选项: 2个CPU(2.3 GHz),每个16个核心 4个CPU(3.0 GHz),每个8个核心 问题:我应该select哪一个? PS明年,我们将从Oracle迁移到SQL服务器。 我希望,无论您推荐什么选项,都可以在两个平台上使用

我如何知道是否安装并激活了Oracle数据库?

IANADBA,但是我正在编写一个脚本,只要oracle备用数据库还没有被激活就会采取行动。 我正在寻找的是两个查询(或一组查询,如果有必要的话)。 1 – 数据库是否挂载(如在,有人做了“alter database mount standby database”) 2 – 如何判断数据库是否被激活(如“alter database activate standby database”)? 正如我所提到的,我正在寻找疑问,但是如果有一种方法可以在系统中进行说明的话,我也会接受。 谢谢! 更新 我采取了下面的build议(稍微修改,因为我正在处理Oracle 8i,我得到这个: SQL> SELECT INSTANCE_NAME, DATABASE_STATUS, INSTANCE_ROLE from v$instance; INSTANCE_NAME DATABASE_STATUS INSTANCE_ROLE —————- —————– —————— RGR01 ACTIVE PRIMARY_INSTANCE 目前,这个实例正在主动恢复归档日志,但不是“活的”。 我仍然在寻找一种方法来判断它是不是作为备用数据库挂载的。

如何在my.cnf中将默认表types设置为innodb?

对于MySQL …有没有一种方法来设置它,使每个创build的表是innodb?