查看: 4738|回复: 89
|
远端存取资料库的资料 + 设计POS系统 + 多分行和连锁分店
[复制链接]
|
|
请问是不是所有在vb.net的controls,ASP.net都有,都可以使用呢?
如果要connect database.. ADO.net是不是唯一选择呢? 那一种会比较通用,比较好呢?
小弟主要是connect SQL server 2000
[ 本帖最后由 白日梦 于 10-3-2006 10:01 AM 编辑 ] |
|
|
|
|
|
|
|
发表于 1-3-2006 12:24 AM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 1-3-2006 09:05 AM
|
显示全部楼层
原帖由 counterking 于 28-2-2006 03:36 PM 发表
请问是不是所有在vb.net的controls,ASP.net都有,都可以使用呢?
如果要connect database.. ADO.net是不是唯一选择呢? 那一种会比较通用,比较好呢?
小弟主要是connect SQL server 2000
ASP.NET 里的 libray 是通用的, 也就是说你可以在 vb.net, c# 等上用到.
不是每个 control 都可以用, 如果你是做 web application, 那么你只能用 web form control 而不是 window form/mobile form control. 至于其它的 control 如资料库等则是那里都可以用.
如果主要是连接 sql server, 你应该用 SqlConnection, 参考相关的 .Net Framework SDK 吧. |
|
|
|
|
|
|
|
楼主 |
发表于 1-3-2006 10:12 AM
|
显示全部楼层
我其实打算develop一个 POS system给一间公司,它旗下有4间outlet。
我打算写一个window-based's front end给他每一间outlet,若要读取或存取任何资料这4间outlet都得connect去我放在网上的 SQL Server(unique)! 不知这个方案可行吗?
为何我要把database放上网
以及4间outlet的资料都存放在一个database因为:
1)他们不能拉LAN线
2)他们要让HQ或各分店可以anytime地知道每间分店的存货量,销售额等资料
不知道我这个方案或做法妥当吗? 利与弊?
这样把database放上网会不会很冒险,执行update或query会不会不稳定?慢?
有讨论过万一internet down,他们不能连接database时,他们可以暂时开cash bill,过后再keyin回去!但其实有没有其他更好的解决方法呢?
我真的需要你们的宝贵意见。。。 |
|
|
|
|
|
|
|
发表于 1-3-2006 12:23 PM
|
显示全部楼层
你的方案行得通, 当然得保证你的网络运行顺畅. 保安问题是个要考虑的因素, 也许你可以考虑用 VPN 来预防资料在网上外泄或被侵入.
建议你在客户端里自行有个小型资料库, 可以是 Access 还是什么的, 这样万一 update 资料错误的时候可以追踪回来, 也可以在 internet down 的时候当暂时的资料库. |
|
|
|
|
|
|
|
楼主 |
发表于 1-3-2006 12:24 PM
|
显示全部楼层
而我有另一个方案就是完完全全将整个pos system 放上网,没有window-based front end... 哪一个比较好呢? |
|
|
|
|
|
|
|
发表于 1-3-2006 12:26 PM
|
显示全部楼层
原帖由 counterking 于 1-3-2006 12:24 PM 发表
而我有另一个方案就是完完全全将整个pos system 放上网,没有window-based front end... 哪一个比较好呢?
这方案在万一 internet down 就完了... 也不安全.
还是用 window based + VPN 会比较好. |
|
|
|
|
|
|
|
楼主 |
发表于 1-3-2006 12:40 PM
|
显示全部楼层
1)保证网络运行顺畅?
但这个out of my control,不对吗?
2)用VPN来预防资料在网上外泄或被侵入?
我所知道VPN是 virtual private network.. 上网找过资料明白VPN是什么但不大明白VPN如何预防资料在网上外泄或被侵入,可以分享吗?
3)客户端里建立一个小型资料库
- 这个建议太好了,谢谢!!万一 update 资料错误的时候都以追踪回来
- 但在 internet down 的时候当暂时的资料库的意思是不是means 可以不用手写cash bill,暂时将资料存进access database? 但过后又如何update去在internet's sqlserver呢? |
|
|
|
|
|
|
|
发表于 1-3-2006 01:11 PM
|
显示全部楼层
1. 是不在你的范围内, 但试想想, 网络不好导致你的软件无法好好运做, 客户还是会怪在你头上的, 所以你得尝试弄好这些网络的东西, 找家信誉良好的公司帮你设定.
2. VPN 简单来说也就是透过 internet 来组成一个 LAN, 这样整个网络就只有你的四台电脑. 当然, 没有一个网络是安全的, VPN 仅是提高安全性而已.
3. 是暂时存进 Access. 至于如何 update, 你的软件怎么 update 资料库你就怎么从 Access update 去资料库. |
|
|
|
|
|
|
|
楼主 |
发表于 2-3-2006 02:39 PM
|
显示全部楼层
由于这是一个Point of Sales System.. 每一个transaction发生之前都需要先select items, 知道product的最低销售价和存货是多少。
问题:
万一当internet down时,如果所有product的资料(items name, stock balance)
都只存放在mssql(web-based),那么windows-based application就搜寻不到任何product information。没有product资料, 就进行不到transaction,即使有access充当暂时的资料库(纪录买卖货物的纪录,internet connection available时再update record的作用),那么这个临时资料库根本就没什么用处,对吗?
我想到的解决方法就是要求windows-based application keep-on update product info from MSSQL to ACCESS (但这是好又实际的方法吗?)
有更好和简单实际的solution吗? 请指教。。。
[ 本帖最后由 counterking 于 2-3-2006 02:41 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 2-3-2006 03:42 PM
|
显示全部楼层
原帖由 counterking 于 2-3-2006 02:39 PM 发表
我想到的解决方法就是要求windows-based application keep-on update product info from MSSQL to ACCESS (但这是好又实际的方法吗?)
这算是可行的方法. 也许可以选择性来更新资料, 例如说把 product 的资料存在客户端, 只是不断刷新价钱和数量, 也可以设为半小时/一小时刷新一次.
客户端的资料库的主要用途是记录下 history, 进行 offline 的 transaction...
当然如果你不需要这些... 当然就没有什么用途了... |
|
|
|
|
|
|
|
楼主 |
发表于 5-3-2006 10:09 PM
|
显示全部楼层
糟糕!我常使用的那个web hosting(www.ipserverone.com) 公司告诉我说MSSQL connection is only be established from their servers.. 意思就是我不能透过客户端(window-based application)来连接web-based's mssql.. 请问有什么好介绍吗? |
|
|
|
|
|
|
|
楼主 |
发表于 5-3-2006 10:37 PM
|
显示全部楼层
我有一个想法,就是把sql server设立在对方HQ's company的电脑,如果其他outlet's pc需要存取资料就必须透过internet来连接去HQ的那部电脑的database。
1)不知可以这样做吗?( mssql support 这样吗)
2)这个做法经济实际吗? (at least no need to bare hosting fee 4 every year)
3)会不会比connect去hosting company's sqlserver来的更安全容易?( juz worry abt disater recovery plan only ) |
|
|
|
|
|
|
|
发表于 6-3-2006 08:36 AM
|
显示全部楼层
原帖由 counterking 于 5-3-2006 10:09 PM 发表
糟糕!我常使用的那个web hosting(www.ipserverone.com) 公司告诉我说MSSQL connection is only be established from their servers.. 意思就是我不能透过客户端(window-based application)来连接web ...
针对这问题, 你可以用 web services 或 xml http 来 update 你的 sql server.
据我所知, 没有 web hosting 会让你这样 direct connect, 最起码, 我暂时不知道. |
|
|
|
|
|
|
|
发表于 6-3-2006 08:39 AM
|
显示全部楼层
原帖由 counterking 于 5-3-2006 10:37 PM 发表
我有一个想法,就是把sql server设立在对方HQ's company的电脑,如果其他outlet's pc需要存取资料就必须透过internet来连接去HQ的那部电脑的database。
1)不知可以这样做吗?( mssql support 这样吗)
2)这 ...
1. 可以. 用 web services 或 xml http. 如果是 VPN, 就可以做得好象 LAN 一样.
2. 不一定, 你的 sql server license 可能会很贵, 还有 server, backup tape... 等.
3. 这得看你那里的网络保安了. |
|
|
|
|
|
|
|
发表于 6-3-2006 01:17 PM
|
显示全部楼层
原帖由 counterking 于 1-3-2006 10:12 AM 发表
我其实打算develop一个 POS system给一间公司,它旗下有4间outlet。
我打算写一个window-based's front end给他每一间outlet,若要读取或存取任何资料这4间outlet都得connect去我放在网上的 SQL Server(uniqu ...
1. 看起來最後都可能會變成 web-based, 不如一開始就下決定
2. 對於本地 internet connection 的 '素質' 不如考慮直接 update 在 local database, 然後用 goatstudio 的方法每 X 分鐘交換資料一次
3. 儘量不要通過 internet 來存取大量的資料, 需要較多的安全設定也沒有效率 |
|
|
|
|
|
|
|
楼主 |
发表于 6-3-2006 09:15 PM
|
显示全部楼层
由于对方要求需要经由HQ的admin来增加各分店货品的项目,进货后,由HQ来配给各分店货物数量。
基于以上的条件,我觉得将所有货品的资料,销售记录等都存放在网络上的资料库。
每当分店需要进行transaction时,就经由standalone application透过internet将data update去网络上的资料库,同时每一个standalone application都有一个access DB。
当internet down时可以充作临时资料库,记录销售记录,等网络正常时再将资料update上去网络上的资料库。
使用一个unique DB我觉得比较容易管理,这样的系统设计不是比较简单和容易吗?不知你有什么高见吗?而且POS system的资料量也不会很大,透过网络传送资料问题应该不大,对吗?
其实以access充作POS system's DB,纪录货品的资料,销售记录可行吗? |
|
|
|
|
|
|
|
发表于 6-3-2006 11:11 PM
|
显示全部楼层
由于对方要求需要经由HQ的admin来增加各分店货品的项目,进货后,由HQ来配给各分店货物数量。
基于以上的条件,我觉得将所有货品的资料,销售记录等都存放在网络上的资料库。
一般上, 只有在進貨 或 分行貨物不足 / 要求某樣貨物 時才會出現.
總行把貨物分到不同的分行, 而各分行並不需要 / 不能 知道總行及其他分行的存貨情況.
而各分行也不需要知道其他分行的銷售紀錄.
一天大概只有 早午晚 3 次, 以及緊急的 1 - 2 次
每当分店需要进行transaction时,就经由standalone application透过internet将data update去网络上的资料库,同时每一个standalone application都有一个access DB。
当internet down时可以充作临时资料库,记录销售记录,等网络正常时再将资料update上去网络上的资料库。
萬一斷線或者 database / server busy 時將會影響資料的完整 update 或者 client site 會 waiting server response 很久.
如果是全部都使用 local database, 並定時把 update office records to server, 那麼將會快很多.
而且不需要做兩分 code: 1) direct update to server, 2) update offline records
(只需要做 2)
使用一个unique DB我觉得比较容易管理,这样的系统设计不是比较简单和容易吗?不知你有什么高见吗?而且POS system的资料量也不会很大,透过网络传送资料问题应该不大,对吗? 其实以access充作POS system's DB,纪录货品的资料,销售记录可行吗?
pos system 的資料會根據買賣的數量而變大.
如果你的分行每天開 10 張單, 每張單 10 個 item,
10 分行 * 10 張單 * 10 item = 1000 records / day
1000 * 30 = 30'000 records / month
30'000 * 12 = 360'000 records / year
你的 database 打算儲存多久的資料呢 ?
分行會不會撿查近幾個月來某樣物品的銷售情況 / 走勢 呢 ?
只要不超過 access 的限制, 是可以的.
所以才建議你把不同分行的資料分開.
[ 本帖最后由 flashang 于 6-3-2006 11:18 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 7-3-2006 08:11 PM
|
显示全部楼层
我的POS 系统也是因为不能Real-Time地连接两个地方的分店而显得没有什么 "前途".
Daily Update 的方式太多破绽了, 当正真要去实施时候, 才发现很多没有想到的问题不断会发生的.
除非对方是个规模很大的超级市场, 要不然, 叫他们用VPN, 简直就是超出了他们的budget. (不知道要到什么时候我国的Lease Line , 每个人都负担得起呢) |
|
|
|
|
|
|
|
发表于 8-3-2006 12:24 AM
|
显示全部楼层
要realtime sync 4个remote locations...只能说加油!
web base就是一劳永逸的方法。最起码不用头痛如何去sync. |
|
|
|
|
|
|
| |
本周最热论坛帖子
|