西西河

主题:【求助】数据库解决方案 -- frnkl

共:💬49 🌺49 新:
分页树展主题 · 全看 下页
  • 家园 【求助】数据库解决方案

    最近要帮朋友搞一个小型数据库的解决方案。数据库不大,在2GB以内。要求如下:

    (1)数据库后台的server端希望使用MS SQL Server的免费版本。

    (2)朋友年龄较大,电脑使用不很在行。希望设计一个比较好使用的前台界面,实现如下两个功能:(a)在前台输入一些参数,再用SQLServer在后台搜索,搜索结果输出至一个Excel文件中;(b)可以自己更新数据库。同时要保证十位数以内的用户可以同时使用该软件链接到数据库进行功能(a)的操作。

    我自己对数据库的经验基本限于直接使用数据库管理软件上,对前台设计方面从没有涉及,不知河友有何建议?老福在此先谢过了。最近老福工作生活压力较大,没有很多时间上西西河,如果没有及时回复您的帖子,先道声歉。

    • 家园 学习笔记一:ASP.NET+IIS

      【1】ASP.NET Engine是微软.NET Framework的一部分。如果要使用ASP.NET Engine的话,需要安装.Net Framework。

      【2】ASP.NET Engine主要用来处理以aspx为后缀的动态网页。

      【3】IIS(Internet Information Services)是微软的Web Server软件。WinXP Professional即可启动(Control Panel -> Add/Remove Programs -> Add/Remove Windows Components。在WinXP Professional中启动IIS服务需要使用WinXP SP3安装盘)。

      【4】IIS可类比于Apache。

      【5】IIS的标准端口是80。

      【6】aspx网页的处理过程:用户通过浏览器软件请求调看*.aspx;IIS接收到用户请求;ASP.NET Engine接到IIS转交的要求,生成初始化网页;IIS将生成的初始化网页文件转交给用户的浏览器软件;用户的浏览器软件将网页文件翻译为用户可视语言;用户输入信息,经过类似过程,ASP.NET Engine做出相应处理,最终反馈到用户的浏览器显示里。

      【7】Web Server有两个意思,经常混淆。一个是Web Server软件,其实是个信息中转站;另一个意思是存储网页的计算机。“Run at Server”中的Server是指后者。

      【8】IIS+ASP.NET的配置诀窍:有时IIS里配置的.NET Framework版本不对,出错信息显示xml解析错误。则可以运行命令行指令纠正:"C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe" -i

      (这里假定.NET Framework版本是v4.0.30319)

      【9】静态网页一般表现为plain html文件,aspx动态网页则一般包括三个文件:*.aspx, *.cs(如果使用Visual c#)或*.vb(如果使用Visual Basic),*.config。

      【10】*.cs / *.vb是用来处理用户互动需求的。具体上则由.NET Framework动态解释执行。

    • 家园 pgAdmin

      pgAdmin这个管理器比较好使,GUI的,傻瓜程度跟sql server企业管理器差不多。

      • 家园 我下载了postgreSQL

        似乎pgAdmin是默认的GUI管理器。过一阵有空学习一下。谢谢。

    • 家园 PostgreSQL

      1)数据库我觉得选PostgreSQL不错,管理器的界面也挺好使的。

      2)我觉得需求很不明确,应该不会是让用户直接用sql查询数据,自己在管理器里更新数据库表吧?

      3)应该是先搞清楚用户要登记哪些台账或单据数据,要进行哪些报表统计。

      • 家园 这几个数据库我以后都想试一试

        PostgreSQL,MySQL,and SQLite。多谢推荐。

        一个问题,PostgreSQL的管理器是GUI界面的吗?

        需求比较简单,可能我没写清楚。主要是一个大表,实现查询和批量更新。用户绝对是要求傻瓜型操作。

        • 家园 PostgreSQL + openoffice base

          PostgreSQL + openoffice.org-base

          openoffice.org-base 是GUI界面, 慢些,用起来也方便。

          建议看看

          • 家园 看起来像Access

            openoffice.org-base是不是仿照Access界面设计的?熟悉Access的,大概上手比较快。小花一朵,多谢推荐。

            • 家园 对的, 熟悉Access的,上手比较快

              熟悉Access的,大概上手比较快。

              而且Access应该能连上PostgreSQL,就是说PostgreSQL+Access也行

    • 家园 说个方案

      1.数据库用 SQL Server Express。设计和调试可以用 Access,然后再用 SQL Server Management Studio import.

      2.如果是 Thick Client, 前台用 Visual Basic。

      如果要是 Thin Client, 前台用 ASP.net 加 IIS。这两个东西都是为半吊子程序员设计的。很容易用的。

      否则的话,用 JSP 加 Tomcat 也是可以的。Fancy 一点还可以用 Struts. 只看你那位朋友对哪套东西比较熟悉了。

      3.至于输出到 Excel,方法很多的,DTS, SSIS,甚至自己写个小的程序都可以。如果用 JSP 或 Struts,现成的 code sample, 随便搜一下就到处都是了。

      不知道你所说的更新数据库指更新数据,还是更新数据库结构。前者不过是怎样加数据的问题,SQL Server 上的工具一大堆。后者就比较麻烦,尤其是数据库里已经有数据的情况下。这就不是一般非专业人士能搞的了。

      • 家园 回任兄,讲讲我具体的选择

        多谢任兄!我基本是按照上手最快的原则做的选择。

        我的背景是没有Windows GUI Application编程经验,没有使用面向对象语言经验,曾经使用c(不是c++)做数值计算,有数据库(包括sql server)使用经验。用户则可以假定什么都不懂,只有最基本的计算机使用经验。

        所以我最后的选择是:(1)前台用ASP.NET(c#)+IIS,后台用SQL Server Express。(2)数据的导入比较麻烦,因为用户的数据不规范,无法直接用SQL Server Management Studio import导入(这个我试过无数遍,鄙视一下微软的程序员,像SAS里加个选项即可),所以选择自己编程处理。更新是指有新的数据过来话,怎么加入数据库。用户不需要即时处理,一般是累积一段时间再导入新的数据。(3)输出至Excel我选择的还是自己编程,主要是自己的学习时间成本问题。

        • 家园 用户的数据不规范是何症状?

          (2)数据的导入比较麻烦,因为用户的数据不规范,无法直接用SQL Server Management Studio import导入(这个我试过无数遍,鄙视一下微软的程序员,像SAS里加个选项即可),所以选择自己编程处理。更新是指有新的数据过来话,怎么加入数据库。用户不需要即时处理,一般是累积一段时间再导入新的数据。

          不知道用户的原始数据是何种形态?一般不能导入的话,倒不一定是微软的问题,而是数据不符合数据结构所致。例如应当是唯一的主键结果在要导入的数据中有重复。或者表中的外键在对应的表中找不到相应数值。

          • 家园 是这样

            每个域是fixedlength的,但是每行末尾有许多域没有数据,而且每行没有数据的域的个数不确定。同时,末尾没数据的话没有空格填充,而是直接换行结束。

            我没有找到Management Studio import导入此类数据的方法,BulkCopy也没有找到相应的选项,只能是先把原始数据处理一下再导入。再有一个问题是原始数据没有主键(primary key),所以必须有办法防范重复输入。所以最终选择自己编程处理。好在程序比较简单。

            • 家园 也可以这样

              先用 Access 或 Excel 输入。 Access 、Excel 对这类例外处理的比较好。然后把数据再从 Access 或 Excel 输入 SQL Server.

分页树展主题 · 全看 下页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河