Python论坛  - 讨论区

标题:[python-chinese] 关于python的数据库操作

2006年06月19日 星期一 16:14

Samuel samuel.net at gmail.com
Mon Jun 19 16:14:03 HKT 2006

刚开始了解python,请大家指教。
python对于数据库的操作,好像是针对每一个不同的数据库都有不同的lib,有没有通用的api呢?
如果没有的话,是不是要自己去封装?
那移植到不同的数据库上时会不会有大麻烦?
比方我用.net,可以用ado.net,那么移植到不同的数据库时,只用修改sql,sp等等。
谢谢大家。
-- 
Regards, Samuel
http://www.SamuelChen.net

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月19日 星期一 16:17

Jerome(sell jordan,shox shoes) yesbbs at gmail.com
Mon Jun 19 16:17:35 HKT 2006

IronPython还是可以用ado.net .lol

On 6/19/06, Samuel <samuel.net at gmail.com> wrote:
>
> 刚开始了解python,请大家指教。
> python对于数据库的操作,好像是针对每一个不同的数据库都有不同的lib,有没有通用的api呢?
> 如果没有的话,是不是要自己去封装?
> 那移植到不同的数据库上时会不会有大麻烦?
> 比方我用.net,可以用ado.net,那么移植到不同的数据库时,只用修改sql,sp等等。
> 谢谢大家。
> --
> Regards, Samuel
> http://www.SamuelChen.net
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060619/9b6cb876/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月19日 星期一 16:23

Samuel samuel.net at gmail.com
Mon Jun 19 16:23:58 HKT 2006

python也有odbc,也可以调用ado,估计ado.net问题也不大。
那么现在问题是ado.net是不能用在linux下的 :)

On 6/19/06, Jerome(sell jordan,shox shoes) <yesbbs at gmail.com> wrote:
> IronPython还是可以用ado.net .lol
>
>
> On 6/19/06, Samuel <samuel.net at gmail.com> wrote:
> >
> 刚开始了解python,请大家指教。
> python对于数据库的操作,好像是针对每一个不同的数据库都有不同的lib,有没有通用的api呢?
> 如果没有的话,是不是要自己去封装?
> 那移植到不同的数据库上时会不会有大麻烦?
> 比方我用.net,可以用ado.net,那么移植到不同的数据库时,只用修改sql,sp等等。
> 谢谢大家。
> --
> Regards, Samuel
> http://www.SamuelChen.net
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>
>


-- 
Regards, Samuel
http://www.SamuelChen.net

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月19日 星期一 16:27

Jerome(sell jordan,shox shoes) yesbbs at gmail.com
Mon Jun 19 16:27:25 HKT 2006

我用Python的目的。。。不是为了跨平台。。你呢?

On 6/19/06, Samuel <samuel.net at gmail.com> wrote:
>
> python也有odbc,也可以调用ado,估计ado.net问题也不大。
> 那么现在问题是ado.net是不能用在linux下的 :)
>
> On 6/19/06, Jerome(sell jordan,shox shoes) <yesbbs at gmail.com> wrote:
> > IronPython还是可以用ado.net .lol
> >
> >
> > On 6/19/06, Samuel <samuel.net at gmail.com> wrote:
> > >
> > 刚开始了解python,请大家指教。
> > python对于数据库的操作,好像是针对每一个不同的数据库都有不同的lib,有没有通用的api呢?
> > 如果没有的话,是不是要自己去封装?
> > 那移植到不同的数据库上时会不会有大麻烦?
> > 比方我用.net,可以用ado.net,那么移植到不同的数据库时,只用修改sql,sp等等。
> > 谢谢大家。
> > --
> > Regards, Samuel
> > http://www.SamuelChen.net
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to
> > python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to
> > python-chinese-request at lists.python.cn
> > Detail Info:
> > http://python.cn/mailman/listinfo/python-chinese
> >
> >
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to
> > python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to
> > python-chinese-request at lists.python.cn
> > Detail Info:
> > http://python.cn/mailman/listinfo/python-chinese
> >
> >
>
>
> --
> Regards, Samuel
> http://www.SamuelChen.net
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060619/6ab1ba4a/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月19日 星期一 16:35

=?gb2312?B?o9ueY+qWpaulyqXDpa+j3eCH+Wk=?= tei0925 at cannac-she.com
Mon Jun 19 16:35:41 HKT 2006

for love -_-
  ----- Original Message -----
  From: Jerome(sell jordan,shox shoes)
  To: python-chinese at lists.python.cn
  Sent: Monday, June 19, 2006 4:27 PM
  Subject: Re: [python-chinese] 关于python的数据库操作


  我用Python的目的。。。不是为了跨平台。。你呢?


  On 6/19/06, Samuel <samuel.net at gmail.com> wrote:
    python也有odbc,也可以调用ado,估计ado.net问题也不大。
    那么现在问题是ado.net是不能用在linux下的 :)

    On 6/19/06, Jerome(sell jordan,shox shoes) < yesbbs at gmail.com> wrote:
    > IronPython还是可以用ado.net .lol
    >
    >
    > On 6/19/06, Samuel <samuel.net at gmail.com> wrote:
    > >
    > 刚开始了解python,请大家指教。
    > python对于数据库的操作,好像是针对每一个不同的数据库都有不同的lib,有
没有通用的api呢?
    > 如果没有的话,是不是要自己去封装?
    > 那移植到不同的数据库上时会不会有大麻烦?
    > 比方我用.net,可以用ado.net,那么移植到不同的数据库时,只用修改sql,sp
等等。
    > 谢谢大家。
    > --
    > Regards, Samuel
    > http://www.SamuelChen.net
    >
    > _______________________________________________
    > python-chinese
    > Post: send python-chinese at lists.python.cn
    > Subscribe: send subscribe to
    > python-chinese-request at lists.python.cn
    > Unsubscribe: send unsubscribe to
    > python-chinese-request at lists.python.cn
    > Detail Info:
    > http://python.cn/mailman/listinfo/python-chinese
    >
    >
    >
    > _______________________________________________
    > python-chinese
    > Post: send python-chinese at lists.python.cn
    > Subscribe: send subscribe to
    > python-chinese-request at lists.python.cn
    > Unsubscribe: send unsubscribe to
    > python-chinese-request at lists.python.cn
    > Detail Info:
    > http://python.cn/mailman/listinfo/python-chinese
    >
    >


    --
    Regards, Samuel
    http://www.SamuelChen.net

    _______________________________________________
    python-chinese
    Post: send python-chinese at lists.python.cn
    Subscribe: send subscribe to python-chinese-request at lists.python.cn
    Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
    Detail Info: http://python.cn/mailman/listinfo/python-chinese






----------------------------------------------------------------------------
--


  _______________________________________________
  python-chinese
  Post: send python-chinese at lists.python.cn
  Subscribe: send subscribe to python-chinese-request at lists.python.cn
  Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
  Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060619/7a8df6b8/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月19日 星期一 16:38

刘鑫 march.liu at gmail.com
Mon Jun 19 16:38:39 HKT 2006

ADO.net是.net平台的专有技术(Linux下可以使用MONO),很少有CPython程序员会使用这个东西,为什么不使用DBAPI呢?

2006/6/19, Samuel <samuel.net at gmail.com>:
>
> python也有odbc,也可以调用ado,估计ado.net问题也不大。
> 那么现在问题是ado.net是不能用在linux下的 :)
>
> On 6/19/06, Jerome(sell jordan,shox shoes) <yesbbs at gmail.com> wrote:
> > IronPython还是可以用ado.net .lol
> >
> >
> > On 6/19/06, Samuel <samuel.net at gmail.com> wrote:
> > >
> > 刚开始了解python,请大家指教。
> > python对于数据库的操作,好像是针对每一个不同的数据库都有不同的lib,有没有通用的api呢?
> > 如果没有的话,是不是要自己去封装?
> > 那移植到不同的数据库上时会不会有大麻烦?
> > 比方我用.net,可以用ado.net,那么移植到不同的数据库时,只用修改sql,sp等等。
> > 谢谢大家。
> > --
> > Regards, Samuel
> > http://www.SamuelChen.net
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to
> > python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to
> > python-chinese-request at lists.python.cn
> > Detail Info:
> > http://python.cn/mailman/listinfo/python-chinese
> >
> >
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to
> > python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to
> > python-chinese-request at lists.python.cn
> > Detail Info:
> > http://python.cn/mailman/listinfo/python-chinese
> >
> >
>
>
> --
> Regards, Samuel
> http://www.SamuelChen.net
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>


-- 
欢迎访问:
http://blog.csdn.net/ccat

刘鑫
March.Liu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060619/c0c53aa5/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月19日 星期一 16:39

limodou limodou at gmail.com
Mon Jun 19 16:39:07 HKT 2006

On 6/19/06, Samuel <samuel.net at gmail.com> wrote:
> 刚开始了解python,请大家指教。
> python对于数据库的操作,好像是针对每一个不同的数据库都有不同的lib,有没有通用的api呢?
> 如果没有的话,是不是要自己去封装?
> 那移植到不同的数据库上时会不会有大麻烦?
> 比方我用.net,可以用ado.net,那么移植到不同的数据库时,只用修改sql,sp等等。
> 谢谢大家。

没有通用的lib,但有通用的api。但并不所有数据库都有支持,常见的有。

-- 
I like python!
My Blog: http://www.donews.net/limodou
My Django Site: http://www.djangocn.org
NewEdit Maillist: http://groups.google.com/group/NewEdit

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月19日 星期一 16:47

Samuel samuel.net at gmail.com
Mon Jun 19 16:47:27 HKT 2006

我目的很简单,想做一个web应用。

其实,最想用的是.net,其次是java,但是:

window 2k3 + mssql 成本应该超过20万;而linux的free
开始阶段,租用的国外的虚拟主机,成本/年不超过1000
但这类的主机,95%是php/cgi的,不支持java(java的主机会至少贵一倍)

python灵活,支持oo,建立变化频繁的应用比较合适(不知道这点说的对不对)

其实还担心一点,python的代码好不好维护,我感觉java,c++的是最好维护,.net略次之,基本差不多。至于php,就我维护asp的经验,比较麻烦。

当然还是会在window下开发,在开发模型的时候,我会使用msde。
目前只是有个简单想法,所以最终的平台还不能确定。

为什么不用mysql? 因为我用mssql em建立数据库模型很快,mysql则麻烦多了

On 6/19/06, [瀋陽カナック]鄧鵬 <tei0925 at cannac-she.com> wrote:
>
>
> for love -_-
>
> ----- Original Message -----
> From: Jerome(sell jordan,shox shoes)
> To: python-chinese at lists.python.cn
> Sent: Monday, June 19, 2006 4:27 PM
> Subject: Re: [python-chinese] 关于python的数据库操作
>
> 我用Python的目的。。。不是为了跨平台。。你呢?
>
>
> On 6/19/06, Samuel <samuel.net at gmail.com> wrote:
> > python也有odbc,也可以调用ado,估计ado.net问题也不大。
> > 那么现在问题是ado.net是不能用在linux下的 :)
> >
> > On 6/19/06, Jerome(sell jordan,shox shoes) < yesbbs at gmail.com> wrote:
> > > IronPython还是可以用ado.net .lol
> > >
> > >
> > > On 6/19/06, Samuel <samuel.net at gmail.com> wrote:
> > > >
> > > 刚开始了解python,请大家指教。
> > > python对于数据库的操作,好像是针对每一个不同的数据库都有不同的lib,有没有通用的api呢?
> > > 如果没有的话,是不是要自己去封装?
> > > 那移植到不同的数据库上时会不会有大麻烦?
> > > 比方我用.net,可以用ado.net,那么移植到不同的数据库时,只用修改sql,sp等等。
> > > 谢谢大家。
> > > --
> > > Regards, Samuel
> > > http://www.SamuelChen.net
> > >
> > > _______________________________________________
> > > python-chinese
> > > Post: send python-chinese at lists.python.cn
> > > Subscribe: send subscribe to
> > > python-chinese-request at lists.python.cn
> > > Unsubscribe: send unsubscribe to
> > > python-chinese-request at lists.python.cn
> > > Detail Info:
> > > http://python.cn/mailman/listinfo/python-chinese
> > >
> > >
> > >
> > > _______________________________________________
> > > python-chinese
> > > Post: send python-chinese at lists.python.cn
> > > Subscribe: send subscribe to
> > > python-chinese-request at lists.python.cn
> > > Unsubscribe: send unsubscribe to
> > > python-chinese-request at lists.python.cn
> > > Detail Info:
> > > http://python.cn/mailman/listinfo/python-chinese
> > >
> > >
> >
> >
> > --
> > Regards, Samuel
> > http://www.SamuelChen.net
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to
> python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> > Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
> >
> >
>
>
>
>
>  ________________________________
>
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>
>


-- 
Regards, Samuel
http://www.SamuelChen.net

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月19日 星期一 16:51

swordsp sparas2006 at gmail.com
Mon Jun 19 16:51:16 HKT 2006

不妨直接从orm框架(比如sqlalchemy)入手学习,即使只使用其sql模板的功能也是很方便的,可以完全隔离底层api,移植的时候几乎不需要改动自己的代码。

On 6/19/06, Samuel <samuel.net at gmail.com> wrote:
>
> 刚开始了解python,请大家指教。
> python对于数据库的操作,好像是针对每一个不同的数据库都有不同的lib,有没有通用的api呢?
> 如果没有的话,是不是要自己去封装?
> 那移植到不同的数据库上时会不会有大麻烦?
> 比方我用.net,可以用ado.net,那么移植到不同的数据库时,只用修改sql,sp等等。
> 谢谢大家。
> --
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060619/bfde8440/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月19日 星期一 16:53

Samuel samuel.net at gmail.com
Mon Jun 19 16:53:49 HKT 2006

通用的api? 是不是说他所有的lib用的api都一致?难道都是同一个/组人在维护?
当然不苛求完全一致。
或者我没能理解您说的?

On 6/19/06, limodou <limodou at gmail.com> wrote:
> On 6/19/06, Samuel <samuel.net at gmail.com> wrote:
> > 刚开始了解python,请大家指教。
> > python对于数据库的操作,好像是针对每一个不同的数据库都有不同的lib,有没有通用的api呢?
> > 如果没有的话,是不是要自己去封装?
> > 那移植到不同的数据库上时会不会有大麻烦?
> > 比方我用.net,可以用ado.net,那么移植到不同的数据库时,只用修改sql,sp等等。
> > 谢谢大家。
>
> 没有通用的lib,但有通用的api。但并不所有数据库都有支持,常见的有。
>
> --
> I like python!
> My Blog: http://www.donews.net/limodou
> My Django Site: http://www.djangocn.org
> NewEdit Maillist: http://groups.google.com/group/NewEdit
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>


-- 
Regards, Samuel
http://www.SamuelChen.net

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月19日 星期一 17:01

swordsp sparas2006 at gmail.com
Mon Jun 19 17:01:04 HKT 2006

On 6/19/06, Samuel <samuel.net at gmail.com> wrote:
>
> 我目的很简单,想做一个web应用。
>
> 其实,最想用的是.net,其次是java,但是:
>
> window 2k3 + mssql 成本应该超过20万;而linux的free
> 开始阶段,租用的国外的虚拟主机,成本/年不超过1000
> 但这类的主机,95%是php/cgi的,不支持java(java的主机会至少贵一倍)
>
> python灵活,支持oo,建立变化频繁的应用比较合适(不知道这点说的对不对)
>
>
> 其实还担心一点,python的代码好不好维护,我感觉java,c++的是最好维护,.net略次之,基本差不多。至于php,就我维护asp的经验,比较麻烦。


轻量级项目是很好维护的,毕竟python是一种简洁的语言,代码行和源文件数目都要少得多。
项目规模大了以后可能不一定比java有优势,但至少不差于c++。

当然还是会在window下开发,在开发模型的时候,我会使用msde。
> 目前只是有个简单想法,所以最终的平台还不能确定。
>
> 为什么不用mysql? 因为我用mssql em建立数据库模型很快,mysql则麻烦多了
>

主流数据库中,mssql似乎是python相对支持的比较差的一个...也许是开源天生和MS不合吧。
作为快速开发的话,其实我更倾向于使用orm框架,直接在对象层做设计,底层数据库结构直接生成或者必要时再手工调整,到时候也只要修改mapping策略就可以了。
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060619/66869e90/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月19日 星期一 17:01

Samuel samuel.net at gmail.com
Mon Jun 19 17:01:14 HKT 2006

1. 效率问题
2. 学习曲线问题,这样要多了解一个框架,这是很需时间的,背离了选择python的目的
3. 稳定问题,就算是hibernate,成功应用的例子也不多,大型的系统就更是凤毛麟角了。而且用3rd的framework,很多东西都是自己掌控不了的,碰到问题了就麻烦大了。豆瓣就曾有过例子,一个bug查了好长时间,才发现是别人的问题,然后report,还要等别人修改。

On 6/19/06, swordsp <sparas2006 at gmail.com> wrote:
> 不妨直接从orm框架(比如sqlalchemy)入手学习,即使只使用其sql模板的功能也是很方便的,可以完全隔离底层api,移植的时候几乎不需要改动自己的代码。
>
>
> On 6/19/06, Samuel <samuel.net at gmail.com > wrote:
> > 刚开始了解python,请大家指教。
> > python对于数据库的操作,好像是针对每一个不同的数据库都有不同的lib,有没有通用的api呢?
> > 如果没有的话,是不是要自己去封装?
> > 那移植到不同的数据库上时会不会有大麻烦?
> > 比方我用.net,可以用ado.net,那么移植到不同的数据库时,只用修改sql,sp等等。
> > 谢谢大家。
> > --
> >
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>
>


-- 
Regards, Samuel
http://www.SamuelChen.net

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月19日 星期一 17:03

limodou limodou at gmail.com
Mon Jun 19 17:03:40 HKT 2006

On 6/19/06, Samuel <samuel.net at gmail.com> wrote:
> 通用的api? 是不是说他所有的lib用的api都一致?难道都是同一个/组人在维护?
> 当然不苛求完全一致。
> 或者我没能理解您说的?
>
前面已经有人提过是db-api。这是一个由python开发小组维护的数据库的标准api。其它的db包如果支持此api自然就使用方式相同。但不能保证所有的包都支持。要使用时仔细看才可以。常见的都支持,如mysql,
sqlite等。

-- 
I like python!
My Blog: http://www.donews.net/limodou
My Django Site: http://www.djangocn.org
NewEdit Maillist: http://groups.google.com/group/NewEdit

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月19日 星期一 17:16

Samuel samuel.net at gmail.com
Mon Jun 19 17:16:30 HKT 2006

;) 可能越说越远了:
做的越久越觉得stored procedure好啊
需求是非常不稳定的(传统的项目不说了,就现在想做的东西自己都还没有清晰的概念,更别说做出来以后要随着user的要求变化,变化是我考虑的比较多的)

如果用orm的话,数据的粒度得更细,数据库的表(关系)就更多。
比方说用户表,就只能用 id, name, email
那么对应的就是
class user {
string id
string name
string email
}
当用户资料要增加 homepage, im的时候 就增加一个表 id, homepage, im
class user-info{
...
}

原因是当系统成型以后,如果直接增加字段的话,修改的代码就会很多了。

而用sp,就敢去直接增加字段,修改sp,而代码形如
cmd.text = "xxx"
reader = cmd.execute
reader.field("id")
完全不需要变化的。

这是我考虑的.

On 6/19/06, swordsp <sparas2006 at gmail.com> wrote:
>
>
> On 6/19/06, Samuel <samuel.net at gmail.com> wrote:
> > 我目的很简单,想做一个web应用。
> >
> > 其实,最想用的是.net,其次是java,但是:
> >
> > window 2k3 + mssql 成本应该超过20万;而linux的free
> > 开始阶段,租用的国外的虚拟主机,成本/年不超过1000
> > 但这类的主机,95%是php/cgi的,不支持java(java的主机会至少贵一倍)
> >
> > python灵活,支持oo,建立变化频繁的应用比较合适(不知道这点说的对不对)
> >
> >
> 其实还担心一点,python的代码好不好维护,我感觉java,c++的是最好维护,.net略次之,基本差不多。至于php,就我维护asp的经验,比较麻烦。
>
>
> 轻量级项目是很好维护的,毕竟python是一种简洁的语言,代码行和源文件数目都要少得多。
>  项目规模大了以后可能不一定比java有优势,但至少不差于c++。
>
>
> > 当然还是会在window下开发,在开发模型的时候,我会使用msde。
> > 目前只是有个简单想法,所以最终的平台还不能确定。
> >
> > 为什么不用mysql? 因为我用mssql em建立数据库模型很快,mysql则麻烦多了
> >
>
> 主流数据库中,mssql似乎是python相对支持的比较差的一个...也许是开源天生和MS不合吧。
> 作为快速开发的话,其实我更倾向于使用orm框架,直接在对象层做设计,底层数据库结构直接生成或者必要时再手工调整,到时候也只要修改mapping策略就可以了。
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>
>


-- 
Regards, Samuel
http://www.SamuelChen.net

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月19日 星期一 17:19

Samuel samuel.net at gmail.com
Mon Jun 19 17:19:08 HKT 2006

也许考虑多了,可能要考虑只是数据量的问题,应用的负杂度应该不会太大。

On 6/19/06, Samuel <samuel.net at gmail.com> wrote:
> ;) 可能越说越远了:
> 做的越久越觉得stored procedure好啊
> 需求是非常不稳定的(传统的项目不说了,就现在想做的东西自己都还没有清晰的概念,更别说做出来以后要随着user的要求变化,变化是我考虑的比较多的)
>
> 如果用orm的话,数据的粒度得更细,数据库的表(关系)就更多。
> 比方说用户表,就只能用 id, name, email
> 那么对应的就是
> class user {
> string id
> string name
> string email
> }
> 当用户资料要增加 homepage, im的时候 就增加一个表 id, homepage, im
> class user-info{
> ...
> }
>
> 原因是当系统成型以后,如果直接增加字段的话,修改的代码就会很多了。
>
> 而用sp,就敢去直接增加字段,修改sp,而代码形如
> cmd.text = "xxx"
> reader = cmd.execute
> reader.field("id")
> 完全不需要变化的。
>
> 这是我考虑的.
>
> On 6/19/06, swordsp <sparas2006 at gmail.com> wrote:
> >
> >
> > On 6/19/06, Samuel <samuel.net at gmail.com> wrote:
> > > 我目的很简单,想做一个web应用。
> > >
> > > 其实,最想用的是.net,其次是java,但是:
> > >
> > > window 2k3 + mssql 成本应该超过20万;而linux的free
> > > 开始阶段,租用的国外的虚拟主机,成本/年不超过1000
> > > 但这类的主机,95%是php/cgi的,不支持java(java的主机会至少贵一倍)
> > >
> > > python灵活,支持oo,建立变化频繁的应用比较合适(不知道这点说的对不对)
> > >
> > >
> > 其实还担心一点,python的代码好不好维护,我感觉java,c++的是最好维护,.net略次之,基本差不多。至于php,就我维护asp的经验,比较麻烦。
> >
> >
> > 轻量级项目是很好维护的,毕竟python是一种简洁的语言,代码行和源文件数目都要少得多。
> >  项目规模大了以后可能不一定比java有优势,但至少不差于c++。
> >
> >
> > > 当然还是会在window下开发,在开发模型的时候,我会使用msde。
> > > 目前只是有个简单想法,所以最终的平台还不能确定。
> > >
> > > 为什么不用mysql? 因为我用mssql em建立数据库模型很快,mysql则麻烦多了
> > >
> >
> > 主流数据库中,mssql似乎是python相对支持的比较差的一个...也许是开源天生和MS不合吧。
> > 作为快速开发的话,其实我更倾向于使用orm框架,直接在对象层做设计,底层数据库结构直接生成或者必要时再手工调整,到时候也只要修改mapping策略就可以了。
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to
> > python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to
> > python-chinese-request at lists.python.cn
> > Detail Info:
> > http://python.cn/mailman/listinfo/python-chinese
> >
> >
>
>
> --
> Regards, Samuel
> http://www.SamuelChen.net
>


-- 
Regards, Samuel
http://www.SamuelChen.net

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月19日 星期一 17:23

Samuel samuel.net at gmail.com
Mon Jun 19 17:23:41 HKT 2006

基本上就应该是它了。

DB-API spec v2.0 Version 2.0 of an API specification for connecting to
databases from Python.

看来不能太习惯google了,应该先上python.org的,被google的搜索结果误导了 :D

谢谢各位

On 6/19/06, limodou <limodou at gmail.com> wrote:
> On 6/19/06, Samuel <samuel.net at gmail.com> wrote:
> > 通用的api? 是不是说他所有的lib用的api都一致?难道都是同一个/组人在维护?
> > 当然不苛求完全一致。
> > 或者我没能理解您说的?
> >
> 前面已经有人提过是db-api。这是一个由python开发小组维护的数据库的标准api。其它的db包如果支持此api自然就使用方式相同。但不能保证所有的包都支持。要使用时仔细看才可以。常见的都支持,如mysql,
> sqlite等。
>
> --
> I like python!
> My Blog: http://www.donews.net/limodou
> My Django Site: http://www.djangocn.org
> NewEdit Maillist: http://groups.google.com/group/NewEdit
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>


-- 
Regards, Samuel
http://www.SamuelChen.net

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月19日 星期一 17:30

swordsp sparas2006 at gmail.com
Mon Jun 19 17:30:37 HKT 2006

对于效率问题,我比较认同hibernate的逻辑:
首先用尽可能快的方式实现功能,省下来的开发时间再慢慢手工调整优化瓶颈。
毕竟orm框架是可以和原生sql互补共存的,而项目中真正的效率瓶颈也往往只有小部分代码。

python的orm框架相对简洁,远不如hibernate那般复杂,学习曲线也要平缓多了,现在的快速开发框架都是推荐直接从orm上手,甚至如django一般内置orm实现,也正是考虑了其易用型的。

稳定性的确是个问题,python世界的orm都还没有足够的成熟度。

On 6/19/06, Samuel <samuel.net at gmail.com> wrote:
>
> 1. 效率问题
> 2. 学习曲线问题,这样要多了解一个框架,这是很需时间的,背离了选择python的目的
> 3.
> 稳定问题,就算是hibernate,成功应用的例子也不多,大型的系统就更是凤毛麟角了。而且用3rd的framework,很多东西都是自己掌控不了的,碰到问题了就麻烦大了。豆瓣就曾有过例子,一个bug查了好长时间,才发现是别人的问题,然后report,还要等别人修改。


题外话, hibernate几乎已经是java轻量级框架的事实标准了,不能说是"成功应用的例子也不多"吧。
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060619/df2c581e/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月19日 星期一 17:46

swordsp sparas2006 at gmail.com
Mon Jun 19 17:46:15 HKT 2006

其实存储过程或者orm都是分离实现与接口的方式,使用orm的话,增加字段同样不需要改变代码,只要修改mapping的配置逻辑就可以了,甚至表结构都不需要自己去维护(除了效率调优的需要),对外增删改查的接口同样不需要修改,尤其是对于python这样的动态语言。
我觉得orm和存储过程的唯一区别就是相应接口的实现是在python代码中还是数据库中,对于业务逻辑这一层来说其实没有很大区别。
但是当项目变大,数据结构变复杂的时候,用orm可以让接口之间组织的更清晰有层次,正可以带来你所说的可维护性。
存储过程毕竟表达能力比程序语言还是要差一些,其中的逻辑一旦膨胀了,维护代价是相当大的,尤其是团队开发的时候。

On 6/19/06, Samuel <samuel.net at gmail.com> wrote:
>
> ;) 可能越说越远了:
> 做的越久越觉得stored procedure好啊
> 需求是非常不稳定的(传统的项目不说了,就现在想做的东西自己都还没有清晰的概念,更别说做出来以后要随着user的要求变化,变化是我考虑的比较多的)
>
> 如果用orm的话,数据的粒度得更细,数据库的表(关系)就更多。
> 比方说用户表,就只能用 id, name, email
> 那么对应的就是
> class user {
> string id
> string name
> string email
> }
> 当用户资料要增加 homepage, im的时候 就增加一个表 id, homepage, im
> class user-info{
> ...
> }
>
> 原因是当系统成型以后,如果直接增加字段的话,修改的代码就会很多了。
>
> 而用sp,就敢去直接增加字段,修改sp,而代码形如
> cmd.text = "xxx"
> reader = cmd.execute
> reader.field("id")
> 完全不需要变化的。
>
> 这是我考虑的.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060619/4fa91b96/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月19日 星期一 17:53

Xiao Lei Wu xiaoleiw at cn.ibm.com
Mon Jun 19 17:53:03 HKT 2006

¾ÍÄãµÄµÚ3Ìõ£¬ÄǾͲ»ÄÜÓÃMSƽ̨

Best Regards,

Zachary Wu (Îâ°~ÀÚ)
Software Engineer, Enterprise Content Management FVT, IBM China Software
Development Lab
Tel: +86 10 82782244-3235. Fax: 82782244-2886 Tie Line: 915-2244-3235
Internet: xiaoleiw at cn.ibm.com
Notes ID: Xiao Lei Wu/China/Contr/IBM at IBMCN
Address: 8/F, Block A, Power Creative Building, No.1, East Road, Shang Di,
Beijing 100085, P.R. China

python-chinese-bounces at lists.python.cn дÓÚ 2006-06-19 17:01:14:

> 1. ЧÂÊÎÊÌâ
> 2. ѧϰÇúÏßÎÊÌ⣬ÕâÑùÒª¶àÁ˽âÒ»¸ö¿ò¼Ü£¬ÕâÊǺÜÐèʱ¼äµÄ£¬±³ÀëÁËÑ¡ÔñpythonµÄ
Ä¿µÄ
> 3. Îȶ¨ÎÊÌ⣬¾ÍËãÊÇhibernate£¬³É¹¦Ó¦ÓõÄÀý×ÓÒ²²»¶à£¬´óÐ͵Äϵͳ¾Í¸üÊÇ
> ·ïë÷ë½ÇÁË¡£¶øÇÒÓÃ3rdµÄframework£¬ºÜ¶à¶«Î÷¶¼ÊÇ×Ô¼ºÕƿز»Á˵ģ¬Åöµ½ÎÊ
> ÌâÁ˾ÍÂé·³´óÁË¡£¶¹°ê¾ÍÔøÓйýÀý×Ó£¬Ò»¸öbug²éÁ˺ó¤Ê±¼ä£¬²Å·¢ÏÖÊDZðÈË
> µÄÎÊÌ⣬Ȼºóreport£¬»¹ÒªµÈ±ðÈËÐ޸ġ£
>
> On 6/19/06, swordsp <sparas2006 at gmail.com> wrote:
> > ²»·ÁÖ±½Ó´Óorm¿ò¼Ü£¨±ÈÈçsqlalchemy£©ÈëÊÖѧϰ£¬¼´Ê¹Ö»Ê¹ÓÃÆäsqlÄ£°åµÄ
> ¹¦ÄÜÒ²ÊǺܷ½±ãµÄ£¬¿ÉÒÔÍêÈ«¸ôÀëµ×²ãapi£¬ÒÆÖ²µÄʱºò¼¸ºõ²»ÐèÒª¸Ä¶¯×Ô¼ºµÄ´ú
Âë¡£
> >
> >
> > On 6/19/06, Samuel <samuel.net at gmail.com > wrote:
> > > ¸Õ¿ªÊ¼Á˽âpython£¬Çë´ó¼ÒÖ¸½Ì¡£
> > > python¶ÔÓÚÊý¾Ý¿âµÄ²Ù×÷£¬ºÃÏñÊÇÕë¶Ôÿһ¸ö²»Í¬µÄÊý¾Ý¿â¶¼Óв»Í¬µÄ
> lib£¬ÓÐûÓÐͨÓõÄapiÄØ£¿
> > > Èç¹ûûÓеĻ°£¬ÊDz»ÊÇÒª×Ô¼ºÈ¥·â×°£¿
> > > ÄÇÒÆÖ²µ½²»Í¬µÄÊý¾Ý¿âÉÏʱ»á²»»áÓдóÂé·³£¿
> > > ±È·½ÎÒÓÃ.net£¬¿ÉÒÔÓÃado.net£¬ÄÇôÒÆÖ²µ½²»Í¬µÄÊý¾Ý¿âʱ£¬Ö»ÓÃÐÞ¸Äsql,sp
µÈµÈ¡£
> > > лл´ó¼Ò¡£
> > > --
> > >
> >
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to
> > python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to
> > python-chinese-request at lists.python.cn
> > Detail Info:
> > http://python.cn/mailman/listinfo/python-chinese
> >
> >
>
>
> --
> Regards, Samuel
> http://www.SamuelChen.net
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060619/0103690e/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月19日 星期一 19:48

yi huang yi.codeplayer at gmail.com
Mon Jun 19 19:48:20 HKT 2006

还是不要把太多逻辑放再存储过程吧,一是没有好的开发调试工具,二是不能跨数据库。
个人认为orm是王道。


-- 
http://codeplayer.blogbus.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060619/8db30070/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月20日 星期二 09:42

Samuel samuel.net at gmail.com
Tue Jun 20 09:42:59 HKT 2006

先看看再向说,现在对python的认识等于0.

On 6/19/06, yi huang <yi.codeplayer at gmail.com> wrote:
> 还是不要把太多逻辑放再存储过程吧,一是没有好的开发调试工具,二是不能跨数据库。
> 个人认为orm是王道。
>
>
> --
> http://codeplayer.blogbus.com/
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>
>


-- 
Regards, Samuel
http://www.SamuelChen.net

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号