[原]基于Linux使用ASP连接MSSQL

  上一篇日志讲述了如何在红旗Linux环境中运行ASP程序,也提供了一个简单的事例。接下来要做的,就是在该环境中,尝试用ASP连接到数据库中。因为不能连接数据库的ASP程序几乎是没有意义的。
  已经知道,ASP是运行在iASP中间环境之上的。而iASP使用的是Java平台,所以,连接数据库的时候需要借用jdbc接口,而不是Windows地下的odbc接口。下面以连接MS SQL 2000服务器为例说明。当然,也可以连接到Mysql上的。
一、系统平台
ASP通常与两种微软的数据库连接,分别是Access和MS SQL。微软并没有提供对Access的jdbc接口,而Access的数据可以导入MS SQL中。所以,我们选择以MS SQL为例。
这里的MS SQL是单独运行在一台Windows 2000 Server系统上的,并不能基于红旗Linux。
系统平台:

引用
应用服务器:红旗DC Server 5.0+Apache 2.0+jdk 1.4.2+iASP 2.1.2+ASP
数据服务器:Windows 2000 Server+SQL Server 2000  标准版

二、安装jdbc接口
在微软的网站上可以转到连接到SQL Server 2000和2005的jdbc接口包:
SQL Server 2000 Driver for JDBC SP3
SQL Server 2005 JDBC Driver 1.1
本地下载:

[原]基于Linux使用ASP连接MSSQL下载文件
点击这里下载文件

1、安装jdbc驱动

引用
# mkdir mssqlserver
# tar xvf mssqlserver.tar -C mssqlserver
# cd mssqlserver
# ./install.ksh
Please enter the installation directory: (/opt/msSQLjdbc)
Installing SQLServer 2000 Driver for JDBC….
Installation is Complete.
SQL Server 2000 driver for JDBC is installed in the following location: /opt/msSQLjdbc

安装程序比较简单,其实就是把msjdbc.tar解压到某个目录中。
2、配置iASP与SQL 2000的jdbc连接
要让ASP能够连接到MS SQL,必须先让iASP加载MSSQL jdbc的库文件。
修改/usr/iasp/iasp21/start-server.sh文件为:

引用
/usr/java/j2re1.4.2/bin/java -mx32768000 -classpath /usr/java/j2re1.4.2/bin/../lib/classes.zip:/usr/java/j2re1.4.2/bin/../lib/tools.jar:/usr/iasp/iasp21/lib/jsdk.jar:/usr/iasp/iasp21/lib/iasplib.jar:/usr/iasp/iasp21/lib/activation.jar:/usr/iasp/iasp21/lib/asp2j.jar:/usr/iasp/iasp21/lib/rjax.jar:/usr/iasp/iasp21/lib/ejbcorba.jar:/usr/iasp/iasp21/lib/jndi.jar:/usr/iasp/iasp21/lib/samples.jar:/usr/iasp/iasp21/lib/hado.jar:/usr/iasp/iasp21/lib/pop3.jar:/usr/iasp/iasp21/lib/mail.jar:/usr/iasp/iasp21/lib/iasp_fileup.jar:/usr/iasp/iasp21/lib/iasp_mail.jar:/usr/iasp/iasp21/lib/iasp_grid.jar:/usr/iasp/iasp21/lib/iasp_nntp.jar:/usr/iasp/iasp21/lib/iasp_exec.jar:/usr/iasp/iasp21/lib/iasp_inet.jar:/usr/iasp/iasp21/lib/iasp_upload.jar:/usr/iasp/iasp21/lib/iasp_http.jar:/usr/iasp/iasp21/lib/iasp_pop3.jar:/usr/iasp/iasp21/lib/iasp_chart.jar:/usr/iasp/iasp21/lib/iasp_image.jar:/usr/iasp/iasp21/lib/iasp_sock.jar:/usr/iasp/iasp21/lib/iasp_xmldom.jar:/usr/iasp/iasp21/servlets:/usr/iasp/iasp21/lib/rjaxADODB.jar:/opt/msSQLjdbc/lib/msbase.jar:/opt/msSQLjdbc/lib/mssqlserver.jar:/opt/msSQLjdbc/lib/msutil.jar servlet.http.HttpServer

※红色标识的就是增加的库文件
保存后,重启iASP代理模块:

引用
# /usr/iasp/iasp21/stop-server.sh
# /usr/iasp/iasp21/start-server.sh &

三、测试
我模拟了一个最简单的数据库环境:
◎MS SQL 2000中有一个testdb数据库,包括一个叫Customers的表,内容如下:
点击在新窗口中浏览此图片

<%
dim Sql_Server,Sql_User,Sql_Pass,Sql_Data
Sql_Server="192.168.228.223"
Sql_User="linuxing"
Sql_Pass="redflag"
Sql_Data="testdb"

dim my_Conn,connstr
'下面是IIS下ASP连接MS SQL的语句
'connstr="PROVIDER=SQLOLEDB;DATA SOURCE="&Sql_Server&";UID="&Sql_User&";PWD="&Sql_Pass&";DATABASE="&Sql_Data
'下面则是iASP下,使用jdbc接口打开MS SQL的语句
'其中包括了定义MS SQL的数据库IP、连接数据库、用户名、密码等
connstr="DRIVER=com.microsoft.jdbc.sqlserver.SQLServerDriver;URL={jdbc:microsoft:sqlserver://192.168.228.223:1433};DatabaseName=testdb;User=linuxing;Password=redflag"
set my_Conn=server.CreateObject("ADODB.connection")
my_Conn.open(connstr)

sub CloseConn()
my_Conn.close
set my_Conn=nothing
end sub
%>

<table>
<tr>
<td>公司ID</td>
<td>公司名</td>
<td>联系方式</td>  
</tr>
<%
Dim rs
Set rs=my_Conn.Execute("Select CustomerID,CompanyName,ContactName From Customers")
Do While Not Rs.Eof

%>
<tr>
<td><%=rs("CustomerID")%></td>
<td><%=rs("CompanyName")%></td>
<td><%=rs("ContactName")%></td>  
</tr>
<%
rs.Movenext
Loop
Set rs=Nothing
%>

下载:

[原]基于Linux使用ASP连接MSSQL下载文件
点击这里下载文件

2、测试结果一
点击在新窗口中浏览此图片

#AddDefaultCharset UTF-8
AddDefaultCharset GB18030

保存后,重新启动Apache服务:

# service httpd restart

※注意,iASP只是Apache外的一个代理模块。也就是说,当处理.asp文件的时候,才会发给iASP处理。所以,这里是不需要重新启动iASP的。这也是为什么,Apache可以同时支持php等其他模块的原因。
4、测试结果二
点击在新窗口中浏览此图片※请特别留意连接数据库的字符串编写形式。另外,由于Linux环境对大小写敏感,所以在ASP中引用其他文件的时候,请小心。(IIS对不对大小写识别)

四、参考文档
可以看到,使用iASP还是可以实现相当不错的动态效果的。最可惜的就是,iASP的开发公司似乎已经停止运作了。它们后续还提供了iASP.net 2.0 beta的服务计划,但这些都很难找到相关的文档。
在当前的环境中,能够看到的主要还是软件中自带的帮助信息:
1、iASP样本文件

引用
/usr/iasp/iasp21/docs

其中包括了一些常见的ASP代码和测试页面,非常有用。
2、MS SQL jdbc驱动帮助

引用
/opt/msSQLjdbc/books

包括了安装帮助,jdbc接口方式的说明等。
3、iASP 管理界面
iASP自带管理界面,启动:

引用
# /usr/iasp/iasp21/start-admin.sh &
# netstat -ln|grep 9095
tcp        0      0 :::9095                     :::*                        LISTEN

访问(默认用户名和密码都是admin):
点击在新窗口中浏览此图片点击在新窗口中浏览此图片

-classpath /mysql/jdbc/mysql-connector-java-5.0.7-bin.jar:

连接数据库的字符串是:

引用
ConnectionString="DRIVER=com.mysql.jdbc.Driver;
URL={jdbc:mysql://192.168.200.1:3306/Test};uid=root;pwd=1234;"
set con = Server.CreateObject("ADODB.Connection"
con.open(ConnectionString)
在Windows 下安装 MySQL-python 1.2.5
搭建Master-Master Mysql Replication 集群
在红旗Asianux 3.0 上安装Moodle
WAS 5.1使用J2C 认证数据条目
配置WebSphere 5.1的数据库连接池

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/112717.html

(0)
上一篇 2021年8月27日
下一篇 2021年8月27日

相关推荐

发表回复

登录后才能评论