代码之家  ›  专栏  ›  技术社区  ›  dkretz

访问后我们将做什么?[闭门]

  •  34
  • dkretz  · 技术社区  · 17 年前

    微软似乎执意反对瑞士军刀式的数据库工具。facading/文件交换/克隆/命名连接任意数据库服务器/电子表格/CSV/扁平文件的首字母缩略词还有什么好处?

    您从访问中挤出了哪些奇怪的功能?还有什么可以取代它呢?

    21 回复  |  直到 16 年前
        1
  •  43
  •   Joe Pineda    17 年前

    Access不是一个数据库管理系统。或者至少不是 一个简单的数据库管理系统。这是一个非常好的RAD环境,一种以图形方式创建SQL代码的简单方法,是成熟DBMs的常规前端。

    SQL Server(Express或MSDE)和Oracle、MySQL等都不会 曾经

    在我的第一份专业工作中,我开发了一个完全使用Access的大型系统。客户端的前端、我的管理前端、管理的报告和监控、每个用户的权限、在特定时间运行的自动任务等等。因此,我了解了它的许多缺陷和优势。

    我见过用它做的很棒的应用程序,还有一些垃圾。我仍然在个人项目中使用它,并且并不为此感到羞耻(例如,一个数独玩家,或者一个卡诺映射实现)。有一个MVP完全在Access中创建了一个绘画克隆,尽管我认为这是极端的。

    Access’pearls:很容易测试数据库设计思想,并为您创建草图表单、报告等。如果您更改了一个列的名称(甚至是一个表,尽管有时会失败),那么很高兴看到所有对该列的引用都自动更改为新名称。“子表单”控制岩石,我渴望它在VB6上。“Thunder”按钮可以在表上重复过滤,这太棒了,我希望在SSMS上也能有这样的功能!

        2
  •  21
  •   Cruachan    16 年前

    这个 在绝大多数情况下,阻止我向我的商业客户推荐迁移到Ubuntu或SUSE桌面的问题并不是Access被广泛用于其数据库设施:它不是除了用户编写的部门应用程序中的大多数米老鼠之外,这些应用程序相对来说不需要重新编码。问题是中型应用程序的数据早就迁移到了企业SQL Server。

    这是一场噩梦。它们通常写得很糟糕(我在过去几年中已经获得了一些需要管理的代码),并且封装了大量的业务逻辑。重新编码 任何东西 一般来说,它最多只能报几个人月——通常是这个数字的两到三倍,而像这样规模的部门有足够的预算来支持这一点是不寻常的。此外,尽管AJAX和良好的桌面控件的出现意味着这至少在理论上是可能的,在实践中,这些都与MS Office桌面的其余部分进行了大规模集成,并且几乎不可能在用户看到可用性在中短期内下降的情况下进行分离,这本身就是一个阻碍。

    我真的不知道解决方案是什么,除了用其他方法缓慢地替代创建新系统,并希望现有应用程序逐渐消亡之外。问题是,我认为Access很可能是20世纪90年代的Cobol——它将永远支持遗留应用程序,因为从头重写成本太高。

    顺便问一下,是否有其他非访问传统Win32编码背景的人有过这样的经历:即使是专业编写的访问应用程序,其编码标准也普遍低于平均水平?虽然像格式化和变量名这样肤浅(但很重要)的东西通常都很好,但我一次又一次地发现程序结构很差。我知道这可能是因为这些应用程序像Topsy一样发展,VBA真的不利于良好的编码,但即使考虑到这些因素,情况通常也比预期的更糟。

        3
  •  12
  •   jle    17 年前

    如果您正在寻找替代方案,Oracle Application Express是一款功能相当强大的基于web的应用程序,可以在Oracle XE上运行。它是访问的潜在替代方案,但不支持主明细表和访问。

        4
  •  7
  •   jford    16 年前

    世界上有一个连续的开发人员,而不是硬性的边界。人员包括业务经理和IT专业人员。我认为自己是一个先进的业余开发人员,介于两者之间。因此,我在工作中使用MS Access在小型建筑办公室中组织大量数据,包括时间表、财务和建筑规范。当然,现在的应用程序是一堆臭气熏天的p**,已经增长了近五年。

    多年来,我一直在寻找比Access更好的东西——我可以在VB.NET中创建简单的应用程序,但是VBA的学习曲线非常大。我看过各种各样的选择。通常,您需要Crystal Reports来获得任何类型的报告功能,或者IDE不直观,或者将字段链接到数据对象每次需要十分钟,或者根本没有与其他office产品集成。老板也不会为那些花了一颗炸弹的东西付钱。我很想远离访问,但我所看到的任何东西都无法接近勾选所有框。

        5
  •  6
  •   Anthony    16 年前

    访问的好处在于它解决了大型IT膨胀的问题。它配备了MS office,因此已经批准在锁定的计算机上使用,但我不必花费数周/数月的时间通过各个部门获得应用程序的批准,也不需要计算编码时间,还可以在一个下午通过Access对应用程序进行所有测试。当然,SQL server很好用,但不值得这么头痛。

        6
  •  5
  •   Chris Latta    16 年前

    我怀疑微软会停止访问。使用Access 2007的 integration with Sharepoint

        7
  •  5
  •   David-W-Fenton    16 年前

    我不认为微软有任何意图摆脱访问。他们可能会把它转变成一个终端用户工具,而不是程序员的工具,但它永远不会消失。Jet数据库引擎分为传统的Jet 4版本(随Windows的每个副本一起提供)(因为Active Directory使用Jet 4作为其数据存储)和Access开发组拥有的版本(ACE及其ACCDB文件格式,实际上是Jet 4.5或Jet 5)。

    Access是一个非常流行和有用的应用程序,在任何数量的组织中,无论大小,都有许多级别的应用程序和功能。

    因为要创建一个能够很好地完成很多不同事情的复杂软件太难了。

        8
  •  5
  •   Brian MacKay    15 年前

    我表弟是个严肃的人 FileMaker 男人他似乎做得很好,并在其周围发展了一家小公司。显然FileMaker是一个跨平台的Mac/PC系统,用于快速开发应用程序。。。

    也许类似的东西会随着business power user/RAD设置而出现?

    Les Pinter

    我通常并不热衷于阴谋论,但这确实与微软在那个时代的业绩记录产生了共鸣。

    不管怎样,撇开琐事不谈,我相信会有更多RAD风格的数据库工具。。。它们赋予非开发人员权力,允许开发人员快速解决某些类型的问题。不幸的是,随着时间的推移,我对大型项目越来越反感。因此,我只在最琐碎的事情上使用它们。

    至于长期后果。。。嗯,我看到过这样的场景,它们没有很好地扩展,所有这些零散的解决方案开始看起来很像技术债务。实际上,可以将访问连接到SQL Server后端,这解决了许多问题。

    也许我用Access做的最大/最奇怪的事情就是从头开始编写一个EDI系统。对于那些直接与EDI合作的人,你们知道我在说什么。那是多么愚蠢的想法啊。我这里的问题更多地与VBA有关,而不是与Access有关——我记得我只是真正需要接口,而没有接口。

    在像Codesmith这样的东西出现之前,我也用它来生成代码。它为ASP Classic生成了业务对象(CRUD和一些其他基础)。这真是太棒了。

        9
  •  3
  •   noocyte    17 年前

    根据我的经验,Excel在兵团内部的应用甚至更为广泛。我们现在正在用4~6张表单将每个Sharepoint项目转换为4张Excel表单

        10
  •  2
  •   Nat    16 年前

    Office Business Applications

    我见过access用于集成和前端GIS和健康数据。这让我大吃一惊,这个应用程序编码和文档记录得多么好。

        11
  •  1
  •   PhiLho    17 年前

    作为标记。Access是我使用数据库的第一种方法,当时我发现它很强大。它有一些很好的特性,比如从“示例查询”生成SQL。它的表单功能和打印各种格式(例如标签页)的能力也很好。

    虽然我没有做太多的个人数据库工作(主要是地址列表),但对于这类工作,我会使用OpenOffice的数据库工具(还没有试用过)或一个很好的旧开源数据库(MySQL,SQLite被认为是轻量级的基础),带有GUI前端,例如SquirrelSQL客户端,可能还有JasperReport作为报告前端。
    不像访问那样集成,学习曲线更陡峭,但在某种程度上更灵活。

        12
  •  1
  •   Joseph Ferris    17 年前

    我欢迎Access最后一口气加入Clippy等公司的那一天。

    访问的用意是好的,但它已成为一根拐杖。即使是在拥有能干IT员工的大公司,Access应用程序也可能猖獗运行,这为了解全球环境提供了一个痛点,当涉及到要维护的产品时。在我看来,指向其他数据源的链接访问数据库、未维护的访问应用程序和灵活性都是问题。

    我认为访问实际上太强大、太灵活、太可扩展了。微软出于好意,试图在桌面数据库领域实现快速发展,这真的打开了潘多拉魔盒。也要从另一个角度来看待它。假设一家公司有几个用Access编写的应用程序。编写它们的开发人员离开了。这些应用程序的重要性足以使其仍需使用,但还不足以使其获得批准,以便将其移植到技术能力更强的平台。

    现在的情况是,如果团队中没有人知道访问权限,这是新开发人员的要求。这意味着,如果一个开发人员没有遗留的印章,那么你可能不得不把他传给一个技术上最全面、最适合的开发人员。我是根据经验来谈这件事的。我们现在只剩下两个遗留访问应用程序,并且正在努力说服人们需要将这些功能集成到相关的、基于代码的项目中,或者集成到它们自己的新项目中。我有一个开发人员具有访问权限“印章”,如果某人离开,我不会根据他是否知道访问权限来搜索候选人。

        13
  •  1
  •   Jared Harley    16 年前

    就我所见过的最奇怪的事情而言。。。

    我是一所规模较小的大学的警察调度员,我们(和几乎所有机构一样)使用CAD(计算机辅助调度)和RMS(记录管理系统)系统。

    我们以前的CAD/RMS软件完全内置于Access中。您打开了Access,通过一个丑陋的GUI,输入了服务调用,以及所有内容。警官们通过同一界面撰写报告。

    它一开始工作得很好,然后随着数据库大小的增长,它变得非常缓慢,难以使用。这就是当州政府让你在一个项目上选择出价最低的人时会发生的事情。。。

    现在,我们使用基于浏览器、以MS SQL为支持的CAD/RMS解决方案。

        14
  •  1
  •   user183402 user183402    16 年前

    如果我要寻找一个新的集成数据库开发系统,提供前端和后端功能,Oracle APEX将是主要的竞争者。前端是基于web的,不需要在客户端上运行,整个系统可以免费下载和安装(快速版),几年后,新用户的进入门槛有望降低,因此外行可以涉足。

        15
  •  1
  •   JeffO    16 年前

    Access只是迁移到桌面上的单个用户或共享数据库文件上的几个用户,没有太多的安全性。如果希望将其提升到更高的级别,请使用Access作为SQL Server的前端。

    好吧,现在看来Access 2010正在寻求将钩子引入SharePoint,以尝试“web启用”Access应用程序。甚至还有一些主机站点迎合了这种技术。也许所有担心访问无法扩展的人都不再害怕了?

        16
  •  1
  •   King Conch    15 年前

    Access肯定有正反两面,它只是另一个可以使用的工具,但不是滥用。我曾经做过的每一份成人工作都是在windows上运行的,所以Access或类似的东西将会存在。我为那些陷入Access流沙或迷失在excel地狱中的地方感到抱歉。但我们是否忘记了,通过一个糟糕的bi团队和适当的培训,所有这些都是可以纠正和更好地预防的。

        17
  •  0
  •   Mark Stock    17 年前

    PostgreSQL、MySQL、FileMaker、, < ,Excel,自定义解析器,自然语言导入程序,Perl只是因为它是一把瑞士军刀,grep awk sed,m4,Access消亡前的旧版本。。。

    我使用SQL语句来访问access,而不是通常的无数访问方式。我使用的SQL语句与其他数据库以及Access一起工作——我知道这很奇怪。

        18
  •  0
  •   seanb    17 年前

    和许多人一样,我多年来使用和滥用了访问权限,但总觉得有点脏。。。当我最近看到Rob Connery的这篇文章时,我感觉好多了:

    http://blog.wekeroad.com/blog/hacking-your-vote/

        19
  •  0
  •   Srividya Sharma    16 年前

    FileMaker是一个很好的数据库,用于从MS Access转换。 FileMaker对于初学者来说很容易使用。您还可以探索脚本机制并实现数据操作。 最新的FileMaker 10有几个有趣的新特性。我投票支持FileMaker。

        20
  •  -1
  •   Great Turtle    16 年前

    我相信,如果人们发现它的存在,File Maker Pro可能会成为一个新的标准。

    FMP具有所有相同的访问特性/缺点,而且如果您知道自己在做什么,您实际上可以进行真正的客户机/服务器设置。

    在单个文件中,您可以定义表单、报表、表格等。它也是跨平台的,在Windows或Mac上运行,也可以适应基于web的应用。这一切都是故意的。

    从“真正的”SQL Server到File Maker Pro在思想上真的很难,但一旦我掌握了窍门,我发现这非常令人惊讶。现在,作为一个数据库,它并没有什么特别之处,但作为一个数据库应用程序开发系统,“普通”人可以使用它,它真的很出色。

    如果您计划进行网络设置,我建议您先花点时间学习如何将存储数据库与应用程序数据库分离。否则,升级需要执行大量数据导出/导入,如果表发生显著变化,这可能需要一段时间,或者几乎不可能。

        21
  •  -1
  •   Jamie    16 年前

    我只在希望Excel能够执行“左内联接”时才使用Access。否则,MS在使C#/SQL提供用于轻量级RDB项目的简单(且免费)方面做得很好。

    推荐文章