今天试验了一下在ASP中使用Python脚本: 1.首先安装好Active Python,它自带了win32扩展,省得自己装了; 2.按照Active的附带文档说明,在%Python_home%/lib/site_packages/win32comext/axscript/client/目录中找到pyscript.py,双击运行之,此步骤在IIS中安装Python解释引擎; 3.新建一个asp文件,文件头用<%@ LANGUAGE = Python %>,告诉IIS此文件采用Python脚本; 4.剩下的就是按python语法编程了。 5.例子:访问Access: <%@ LANGUAGE = Python %> <!--#include file="pyDB4Jet.asp"--> <% myax=Cdb4Jet() rs=myax.query('select * from [user]') #flds_dict={} #for x in range(rs.Fields.Count): # flds_dict[x]=rs.Fields.Item(x).Name # Response.write(flds_dict[x] + "<br>")
while not myax.rs.EOF: Response.write(rs.Fields[2].Value+"<BR>") myax.rs.MoveNext()
myax.rs.MoveFirst() while not myax.rs.EOF: Response.write(rs.Fields[1].Value+"<br>") myax.rs.MoveNext() %> 比较遗憾的是在Python中访问Recordset时我不知道怎么用字段名,只会用字段序号。 另外一个要注意的是访问access的表时必须用“[]”括起来。
6.上例中用到的access访问类: <% # -*-coding:UTF-8-*- #========================================================================= # # Python Source File -- Created with SAPIEN Technologies PrimalScript 3.1 # # NAME: pyDB4Jet # # AUTHOR: CSIP , CSIP # DATE : 2004-12-30 # # COMMENT: Python的ACCESS访问模块 # #=========================================================================
import win32com
class Cdb4Jet: def __init__(self): self.conn=win32com.client.Dispatch(r'ADODB.Connection') self.DSN='PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=E:\wwwroot\csip\#news.mdb;' self.conn.Open(self.DSN) self.rs=win32com.client.Dispatch(r'ADODB.Recordset') def query(self,sql): self.rs.Open(sql,self.conn,1,1) return self.rs def execute(self,sql): return self.conn.execute(sql)
%> 这个类写的很糟,以后有空再完善吧  
|