Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database MS Access迁移的前端? 背景_Database_Ms Access_Desktop Application - Fatal编程技术网

Database MS Access迁移的前端? 背景

Database MS Access迁移的前端? 背景,database,ms-access,desktop-application,Database,Ms Access,Desktop Application,我为一家大型组织工作,该组织有数千个MS Access应用程序。这些我都没有写过——事实上,大多数原创作者早就离开公司了——但不时会有另一款Access应用程序出现在我的办公桌上寻求支持。我很想用一种不同的解决方案来取代access 要求 我知道MS Access(Jet数据库)的数据库部分有几种很好的替代方案,如SQLite、MySQL、VistaDB等 我想知道的是:是否有任何东西可以取代MS Access的前端部分 例如,可以用来构建表单、编写简单脚本和查询等的东西 为什么? @BRAC问

我为一家大型组织工作,该组织有数千个MS Access应用程序。这些我都没有写过——事实上,大多数原创作者早就离开公司了——但不时会有另一款Access应用程序出现在我的办公桌上寻求支持。我很想用一种不同的解决方案来取代access

要求 我知道MS Access(Jet数据库)的数据库部分有几种很好的替代方案,如SQLite、MySQL、VistaDB等

我想知道的是:是否有任何东西可以取代MS Access的前端部分

例如,可以用来构建表单、编写简单脚本和查询等的东西

为什么? @BRAC问“为什么要替换访问?”——这的确是一个公平的问题。
我想取消访问权限,因为:

  • 它隐藏了逻辑,导致难以支持的应用程序。逻辑可以在许多不同的地方,但没有一个地方提供或鼓励任何结构:
    • 模块
    • 询问
    • 形式
  • 它的本质就是鼓励用户创建“小”应用程序,而这些应用程序变成了“不那么小的应用程序”。然后用户离开了,我必须支持一堆意大利面条。我知道访问不是唯一的罪魁祸首,但它是我所在组织的领导者,我希望彻底摆脱它
额外学分 我真的很想找到一种可以读取MDB文件并输出类似C#的东西,它可以复制功能。(或任何语言——不要挑剔)

我希望这一切都清楚了。如果没有,请发表评论,我将重新撰写/添加详细信息

更新 @吉尼斯迷提出了一些我觉得有趣的观点。我添加了我的评论来讨论这些问题

自从我提出这个问题以来,我们做了什么:

  • 让用户向我们提供他们使用和需要的access应用程序的最终列表。(我们的理解是,任何不在列表中的MDB文件都可以被删除——万岁!)
  • 分析了清单上的MDB,得出以下结论:
    • 大多数“应用程序”由单个硬编码查询或单个链接表组成
    • 许多查询是少量查询,可能带有日期参数或类似参数
    • 很少(如果有的话)有真正复杂的逻辑
  • 我们现在正在整理列表,将大多数应用程序转换为SSRS(SQL Server Reporting Services)包
  • 任何无法使用SSRS复制的内容都将成为手工制作的web应用程序。然而,这些并不多

请允许我向所有给了我有用答案的人说声谢谢。

你找不到一个还附带桌面界面设计工具的服务器类引擎。大型服务器引擎都希望你使用C++、C语言、java或PHP之类的东西来构建你的接口。 一、 我也希望看到access的升级工具,它能吐出一些基本的C#表单,并与一个等效的SQL Server数据库对话。这对微软来说似乎是一个巨大的赚钱机会,因为他们可以利用它向客户推销完整的SQL Server


IIRC,可能有一种方法可以告诉访问前端与SQL Server对话,或者将访问前端使用的表更改为真正链接到SQL Server的表,或者类似的东西,但我自己从来没有使用过该功能。

几年前,我将一个应用程序的后端从MSacces切换到MSSQL。保留前端,因为它工作得很好,而且我没有发现任何东西那么容易使用/修改

我从未见过MSAccess->C翻译。但是,您可能会找到一个MSAccess to VB6 translator(它们的语法大致相似),从那里可以找到VB6->VB.Net translators(甚至VB.Net->C#translators)

是否有任何东西可以取代MS Access的前端部分

也许吧?

你可以去看看。它是免费的,面向Access开发者

它还有一个迁移助手,您可以通过它运行Access数据库,它处理数据和表单,将所有内容迁移到Oracle数据库(这与免费数据库Oracle XE配合使用,默认情况下安装),并为Access数据库构建web表单

因此,最终您将拥有web上的Access数据库、Oracle中的数据以及扩展这些数据库的良好web前端

就Oracle而言,该工具还不错。你可以注册一个免费的实例来玩


那么,除了个人的反感,为什么要更换接入前端呢?对于一些(简单的)数据库来说可能很容易做到,但现实世界中的大多数Access应用程序都有很多复杂性

当然,升级后端有很多原因(可伸缩性、性能、数据库损坏、用户锁定)。Access甚至有一个内置的“升级向导”工具,允许您从数据中拆分表单和逻辑,并将数据升级到MS SQL server。如果需要,请使用此向导将后端升级到SQL Express,然后手动迁移到另一个db平台

希望这不是一个太离题的话题,但有时您需要做的只是:

  • 升级后端(正如我们已经讨论过的)

  • 始终确保前端已锁定(只读)

  • 如有必要,为不同的用户角色创建不同的前端(作为一种安全形式)

  • 如果可能,出于性能原因,在每个工作站上本地复制前端。您可能需要一个网络脚本来检查前端的新版本

  • 我对它没有任何直接的经验,但我确实在

    @BradC上找到了一个名为“accesswhiz”的ASP.Net转换工具

    我不推荐微型工具。不久前我在一家公司工作,我们遇到了同样的问题。