嵌入式单用户应用程序的数据库:MS SQL Server/LocalDB与MS Access与其他选项? [英] Databases for Embedded Single User Applications: MS SQL Server/LocalDB vs MS Access vs Other Option?

查看:128
本文介绍了嵌入式单用户应用程序的数据库:MS SQL Server/LocalDB与MS Access与其他选项?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

由于我的bing/google搜索没有发现任何实现了实现节流的VAX/VMS样式批处理队列的应用程序,因此一次只能执行一次3小时的构建或一次6小时的备份,而其他作业/任务在队列中等待,直到 轮到他们了,我决定写我自己的.

Since my bing/google searching has not revealed any applications that implement a VAX/VMS style batch queue that implements a throttle so only one 3 hour build or one 6 hour backup will execute at a time and other jobs/tasks wait in the queue until it is their turn, I have decided to write my own.

这样的应用程序将具有一个带有提交命令的命令行界面,该命令会将CMD.EXE命令插入到队列中,并将最旧的CMD.EXE命令从队列中删除并执行它.它将继续删除并执行CMD.EXE命令 (或bash Cygwin命令),直到队列为空.一次只能执行一个CMD.EXE.

Such an application will have a command line interface with a submit command that will insert a CMD.EXE command into a queue and will remove the oldest CMD.EXE command from the queue and execute it. It will continue removing and executing CMD.EXE commands (or bash Cygwin commands) until the queue is empty. It will only execute one CMD.EXE at a time.

我希望Windows的计划任务功能实现了我可以设置为一个的油门,但我找不到这样的功能.

I was hoping the scheduled task feature of windows implemented a throttle I could set to one but I can find no such feature. 

那么就依赖关系而言,实现此磁盘驻留执行队列的最佳方法是什么?

So what would be the best way to implement this disk resident execution queue with regard to dependencies?

我不想假定MS SQL Server已安装并正在运行.如果将此用于备份,则MS SQL Server服务(如果已安装)可能会暂停或停止.

I don't want to assume MS SQL server has been installed and running. If this is being used for backup, the MS SQL server service (if it is installed) might be paused or stopped.

也许我应该使用LocalDB,但我也不喜欢要求将其安装.

Maybe I should use LocalDB but I don't like requiring that that be installed either.

MS Access呢?我不需要属于Microsoft Office的MS Access UI.我只需要安装ADO和DAO API(和实现),以便我的C#可以操纵持久队列.我可以假设我总是可以使用ADO,ADOX和DAO 在Windows计算机上操作MS Access数据库,而不管是否已安装MS Office?

What about MS Access? I don't need the MS Access UI that is part of Microsoft Office. I just need the ADO and DAO APIs (and implementations) to be installed so my C# can manipulate a persistent queue. Can I assume that I can always use ADO, ADOX and DAO to manipulate MS Access databases on windows machines regardless of having installed MS Office?

还有哪些其他选择?有很多基于Java的解决方案,例如开放源代码Derby数据库,但我认为没有C#驱动程序可用于该数据库以及其他基于Java的数据库.

What other alternatives are there? There are lots of java based solutions like the open source Derby database, but I don't think there is a C# driver for that and other java based databases.

谢谢

齐格弗里德

siegfried heintze

siegfried heintze

推荐答案

MS Access呢?我不需要属于Microsoft Office的MS Access UI.我只需要安装ADO和DAO API(和实现),以便我的C#可以操纵持久队列.我可以假设我总是可以使用ADO,ADOX 和DAO可以在Windows计算机上操纵MS Access数据库,而不管是否已安装MS Office?

What about MS Access? I don't need the MS Access UI that is part of Microsoft Office. I just need the ADO and DAO APIs (and implementations) to be installed so my C# can manipulate a persistent queue. Can I assume that I can always use ADO, ADOX and DAO to manipulate MS Access databases on windows machines regardless of having installed MS Office?

我自己,我不会使用MS Access做任何事情. ADO和DAO是由于ADO.NET而过时的传统技术.

Myself, I wouldn't use MS Access to do anything. And ADO and DAO is legacy technology that's outdated, because of ADO.NET.

LocalDB是MS SQL Server Express MDF文件类型.除了在开发计算机上安装Express,创建数据库,从数据库引擎分离MDF文件以及将MDF文件与应用程序一起部署外,没有任何其他要安装的东西. 还有VS的创建服务数据库",这只是MS SQL Express MDF文件类型.

LocalDB is a MS SQL Server Express MDF file type. There is nothing to be installed, other than,  you installing Express on your development machine, creating a DB, detaching the MDF file from the DB engine and deploying the MDF file with your application. There is also VS's 'Create a Service Database', which is just a MS SQL Express MDF file type.

我只需要安装ADO和DAO API(和实现),以便我的C#可以操纵持久队列.

如果您正在谈论某种排队过程,为什么不使用MSMQ? MSMQ在所有基于Windows NT的O/S上. MSMQ甚至位于Win 10 Home机器上,您可以在Windows 10家用计算机上使用WCF服务和托管WCF服务的Windows NT服务来操作MSMQ. C#程序将是WCF客户端.

And why not use MSMQ if you are talking about some kind of queuing process? MSMQ is on all the Windows NT based O/S(s). MSMQ is even on m Win 10 Home machine, which you can manipulate MSMQ with a WCF service with a Windows NT service hosting the WCF service. Your C# program would be a WCF client.


这篇关于嵌入式单用户应用程序的数据库:MS SQL Server/LocalDB与MS Access与其他选项?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆