Monthly Archives: 01月 2010

ubuntu9.10下python访问Sql server的解决方案

在Linux/Unix/Mac下面通过程序来访问M$的Sql Server是一件很折腾的事情,赖总说,linux遇上windows就是杯具啊。最近不幸自己也遇上了,折腾了好一段时间,参考过不下于100+的网页,给过两个老外写邮件,终于还是没有搞定snow leopard上的,但总算搞定了linux上的。 纵观网上的一些参考材料,中文偏少,以赖总一年之前那篇被转载居多,而且大多数语焉不详,只道How,不道Why,当linux发行版本换或软件一升级就套不上了;英文很多,但各有千秋,参考起来也很头大。今天,咱在授人与鱼(如果你的系统配置和我的一样)之余顺便授人与渔,希望自己这次折腾的经验可以给以后需要的同学们带来点方便或启示什么的。 在开始之前,请问一下自己,真的有必要这样折腾吗?现在放弃还来得及,如果点头就继续往下看吧。 其实也没那么恐怖,我自己像个盲头苍蝇乱撞才会踫到一脸灰,如果一开始把原理搞清楚,做起来就快了。 首先,再确定一下我们的目标是:在linux下通过python访问Sql Server!关键字是linux、sqlserver、python。我的系统配置:ubuntu9.10 desktop 64bit、python2.5、SqlServer2005,配置不同的同学在理解原理之余应该也可以自行解决了。  基本原理 一、Linux下应用程序是一般怎样访问数据库的? 目前比较流行的方法是应用程序通过ODBC(Open DataBase Connectivity)来访问数据库。 在ODBC诞生之前,如果要开发数据库应用程序,则必须要使用数据库厂商随数据库产品一同发布的一些工具集来访问数据库,或者在程序中使用嵌入式SQL来访问数据库。当时,对于访问数据库的方法,缺乏一个基于C语言的统一编程接口。ODBC(Open Database Connectivity,开放数据库互连)提供了一种标准的API(应用程序编程接口)方法来访问DBMS(Database Management System)。这些API利用SQL来完成其大部分任务。 见ODBC的架构图,ODBC的驱动管理器自动处理各种数据库驱动与数据源(如各种数据库,甚至Excel)的关系,应用程序只需要使用ODBC的API即可,底层的细节对于应用程序来说是透明的。熟悉Java的同学回想一下JDBC,与ODBC的思路是一个道理,各种数据库有各自对应的JDBC驱动,同时也会有与之对应的ODBC驱动。 那么,要达到linux下应用程序访问数据库的目的,我们需要安装Linux下的ODBC库:unixODBC,目前ODBC在各种操作系统上均有实现,如windows的MS ODBC,还有Mac下的iODBC。 需要注意一点就是,要在Linux下让应用程序访问数据库,使用ODBC不是唯一的方法,只是本解决方案的方法。 二、怎样通过程序访问Sqlsever? 众所周知,程序访问数据库通常需要用到数据库的驱动程序(Database Driver)。Sqlserver(及SyBase)使用TDS(Tabular_Data_Stream)作为它的数据库现客户端传输的协议。关于TDS:  TDS(Tabular_Data_Stream)是一个应用层协议,用于数据库服务器与客户端传递数据,于1984年由Sybase公司发起并开发,用在它们的Sybase Sql Server关系数据库引擎,后来被微软的Sql Server所用。 所以不难理解,SqlServer的Java 驱动包 JTDS,就是TDS的一个Java实现(同时是JDBC的实现)。而For linux,开源社区有一个叫freetds的实现。Linux的程序可以直接通过它来访问SqlServer,是的,可以跳过ODBC。使用ODBC只不过是希望使得更多的方言(不同的编程语言)可以以一致的方式来访问数据库。 三、当Linux遇上SqlServer? unixODBC使得linux上的程序可以以一统一的方式来访问数据源(这里叫以linux的方式),freetds是专为SqlServer而实现的数据库驱动。那么如果我们要以linux的方式去访问SqlServer呢?那就把两者两者连接起来吧!tdsodbc做这个的,在它的帮助下,linux上的应用程序完全可以不用关心freetds,只要以odbc的方式去访问数据源即可。 四、再加一个Python如何? pyodbc是ODBC的一个python封装,它允许任何平台上的python具有使用ODBC API的能力。那意味着,pyodbc是python语言与ODBC的一条桥梁。 … Continue reading

Posted in 技术, 软件 | Tagged , , , | Leave a comment

Hello Chrome,Goodbye Firefox!

和Chrome相处得越是久,就越是觉得她好了。。虽然目前的版本还是Beta或Dev版,但是她比Firefox更快、更简洁、更人性化,并且现在已经开始有大量的Extensions可以使用了,所以,我已经越来越多的时间是与Chrome相处,而Firefox就要Say Google bye了。 Firefox曾经是我工作和生活中最最重要的Browser,其优秀的扩展性和大量的插件是我使用她的重要原因。但随着使用的插件越来越多,Firefox的问题仿佛也越来越大,主要表现为启动时间长,严重时就像启动一台PC一样慢~,另外还经常出现响应过慢,然后无故崩溃的情况,并且这种情况越来越多。最后我实在无法忍受的时候把很多插件禁用,但依然不见得改善多少,最让我抓狂的是Agent Switcher这个插件,不管我是否禁用,卸载与否,Firefox启动后默认的Agent居然变成了手机。。真汗。。没办法,我与Firefox缘尽于此。 Chrome与Firefox相比,有几个我认为很重要的优点: 一、Chrome一个标签页对应一个进程,所以一个页面崩溃了,不影响整个Browser,而Firefox(包括其他浏览器)则会因为一个页面崩溃而全盘崩溃。不仅如此,Chrome的插件也是以独立进程的形式运行的。 二、Chrome的界面很清爽,地址栏即搜索框!并且地址栏有一点很重要,用户输入地址的时候,Chrome把匹配程度最高的地址显示在地址栏内,其他地址以下拉列表形式出现在下面,通常情况下我都不需要做选择,直接回车即可访问最匹配的地址,而Firefox不会这样做,不管你要访问哪个地址,要不你输入全部字符,要不手移到方向键盘,选择一下,再回车。safari这点也做得不错,只是我觉得firefox比较不贴心就是在这里。 下面是Chrome的地址栏的智能提示: 下面是Firefox的地址栏的智能提示: 三、Chrome的插件风格一致,她的插件都统一的以小图标的形式放在地址栏右侧,这样一来,地址栏、工具栏(插件栏)合二为一,不占地方,又方便管理。而Firefox的插件则是五花八门,状态栏上有插件,菜单里面的插件,工具栏上有插件,插件一多,真的是眼都花了。 嗯,看看Chrome的插件布局: 总的来说,我是想要一个清爽快速和稳定的Browser,目前Chrome是我最理想的选择。当然Firefox有不少很好的插件曾经是我爱不释手,但Chrome的插件中心上面的插件也越来越多,到目前为止,我装的好几个小插件都能满足我目常的使用了。 但杯具的是Chrome的插件中心是被GFW的。。anyway。。我只需要在终端下面输入”fuckgfw”命令即可顺利使用。管他墙与不墙。。

Posted in 软件 | Tagged , , | 1 Comment

诱惑

这世界充满了诱惑,每个人的不同,每人每个时段的也不同。 最近身边发生的事情太多了,朋友的,同事的。原来改变可以发生得如此快和激烈,看上去很混乱,也很容易让人感觉浮躁。其实都可以理解,生活的压力嘛,大家都到了这个年纪了,生活应该是越来越好的,有些事情还是得改变的。 我想,如果可以按照自己的价值观来做一些真正有意义的事情又同时产生价值,那是最理想的状态。但这不容易,尤其当我们面临着如此多的压力和其他诱惑的时候。不过我的想法还是坚持自己的原则,做人凭真材实料,不靠忽悠,做事做实事,做有用的事,在某个领域内做到极致。 有时候,钱赚得多不一定开心,毕竟,做人为钱活着很累!谈谈抱负、谈谈付出开心多了,当然,前提是要解决温饱。 在此还是一如既然地祝福的朋友、同事们以后越混越好。公司生意蒸蒸日上。祝自己天天有最Fit的状态进行战斗。 现在最重要的是,祝俺娘子生日快乐!

Posted in 感悟, 生活 | Leave a comment

是我们放弃了这个世界还是这个世界放弃了我们

传闻google将要全面退出中国并关闭其运营的网站!同时,twitter上也有人提供证据证明目前谷歌中国的状态。 听到这个消息首先不是吃了一惊,而是替Google得到解放而高兴,同时若有所思地说:“嗯,是时候了”。 世界上最Top的(不仅仅是)搜索引擎,在中国再也没法生存下去,她的首席法律顾问说: 公司不愿再审查我们在google.cn上的搜索结果,因此,如果可能,公司将在未来几周公司和中国相关部门讨论在什么样的基础上我们能够在法律框架内运营未经过滤的搜索引擎。 说白了就是与天朝的网络内容审查机制有关,google在天朝被阉割得太久了,并且一此几年间一直经历了几件”门“(牌照门、偷税门、搜狗门、涉黄门、图书馆门)事件,被D和CCAV夹在着玩,Google起先还一直倔强的成长着,直到去年9月份,李开复老师还说google中国不会关闭来着,开复老师刚歇下来不久,google就打算关闭了。看来google真的累了,好嘛,强龙不压地头蛇嘛。。我输不起我还躲不起么我? 只怪咱们的天朝太”墙“大了,纵使你世界第一又如何?我的地盘听我的。 与facebook,twitter,youtube这些同样不能正常访问的外国网站不一样,google是甘愿自动退出,而前三者是被”墙“。如果说前三者被墙是中国抛弃了他们,那现在是否可以说是google抛弃了中国?不知道接下来,又会是谁抛弃谁。 google在中国算是死了,但是死得有尊严。谷歌千古。请受天朝网民一拜。 国内媒体今天早上有做关于谷歌离开中国的专题,到中午时分便被下线或不能访问!悲哉! 嗯,是时候了。从此将是一个新时期的开始,你知,我知。

Posted in 其他 | Tagged | Leave a comment