自己电脑上安装了ms4w,版本也支持wms server,也根据教程编辑了自己的mapfile文件,其中web标签中如下定义:
metadata
"wms_title" "WMS china Demo Server"
"wms_version" "1.1.1"
"wms_onlineresouce" "http://127.0.0.1/cgi-bin/mapserv.exe?map=mytest.map&"
"wms_enable_request" "*"
"wms_srs" "EPSG:4326"
end
然后在浏览器测试这个wms server:http://127.0.0.1/cgi-bin/mapserv.exe?map=mytest.map&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetCapabilities
结果浏览器提示 下载mapserv.exe?不知道哪个环节出现问题了,希望有大神帮忙解决,万分感谢!
https://blog.csdn.net/qingyafan/article/details/46500127
did you go through the steps at: http://mapserver.org/ogc/wms_server.html
try someting like this: http://127.0.0.1/cgi-bin/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetCapabilities
首先,在控制面板-管理工具--数据源中设置ODBC数据源,在设置ODBC数据源时,要添加“系统DSN”,不要添加“用户DSN”,因为添加“用户DSN”,只能在本机使用,当把程序移植到其它计算机时,程序就无法正常运行。当设置好ODBC数据源后,再运行程序,出现提示:错误类型:Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][ODBC Microsoft Access Driver] Microsoft Jet 数据库引擎打不开文件'(未知的)'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。/exc6/Guestbook2.asp, 第 4 行解决办法是修改C:\Inetpub\wwwroot目录下exc6文件夹的访问权限,修改方法是:1、鼠标右键点击exc6文件夹,选择属性,选择“WEB共享”选项卡,将“不共享文件夹”改为“共享文件夹”,在别名文本框中随便输入任何一个字符串,再点击“编辑属性”按钮,在弹出的窗口中将“访问权限”下的四个选项框全部打上勾,将应用程序权限下的“执行(包括脚本)”选项选中,然后点击“确定”按钮退出。经过以上处理后,再运行程序,问题解决,而原来的程序不需要做任何修改。解决办法二、 首先,在控制面板-管理工具--数据源中设置ODBC数据源,在设置ODBC数据源时,要添加“系统DSN”,不要添加“用户DSN”,因为添加“用户DSN”,只能在本机使用,当把程序移植到其它计算机时,程序就无法正常运行。当设置好ODBC数据源后,再运行程序,出现提示:“[Microsoft][ODBC 驱动程序管理器]驱动程序的SQLSetConnectAttr 失败”,通过在网络上经过一番查询后,有网友提示要把程序修改成下列代码:dim connstr,MyConnectionSetMyConnection=Server.Createobject("ADODB.Connection")'connstr="driver={Microsoftaccess driver (*.mdb)};data source=Guestbook.mdb"connstr="driver={Microsoft.Jet.OLEDB.4.0};datasource=Guestbook.mdb"MyConnection.open connstr程序修改后,再运行程序,问题解决。在上面程序中,可以把下列代码:connstr="driver={Microsoft.Jet.OLEDB.4.0};datasource=Guestbook.mdb"替换成:connstr="driver={Microsoft accessdriver (*.mdb)};data source=Guestbook.mdb"这里的Guestbook.mdb就是一开始设置ODBC数据源时,所输入的数据源名。但奇怪的是,经过上面这样处理,问题得到解决,程序能够正常运行后,再把下列程序:dim connstr,MyConnectionSetMyConnection=Server.Createobject("ADODB.Connection")'connstr="driver={Microsoftaccess driver (*.mdb)};data source=Guestbook.mdb"connstr="driver={Microsoft.Jet.OLEDB.4.0};datasource=Guestbook.mdb"MyConnection.open connstr改回成原来程序:SetMyConnection=Server.Createobject("ADODB.Connection")MyConnection.open “Guestbook.mdb”程序也能照样正常运行,不知是什么原因?出现提示:“[Microsoft][ODBC 驱动程序管理器]驱动程序的SQLSetConnectAttr 失败”,通常是由于在控制面板-管理工具--数据源中设置ODBC数据源时,先添加了“系统DSN”, 然后又添加了“用户DSN”,然后又把“系统DSN”删除,然后再添加“系统DSN”,总之就是由于反复添加和删除“系统DSN”和“用户DSN”后,就会出现“[Microsoft][ODBC驱动程序管理器]驱动程序的SQLSetConnectAttr 失败”的提示。解决办法是将“用户DSN”和“系统DSN”都全部删除掉,然后重新启动计算机,再重新添加“系统DSN”,就能解决问题。 添加“系统DSN”的方法如下:打开控制面板-管理工具--数据源窗口,选择“系统DSN”选项卡,点击“添加”,在弹出的窗口中,选择“Microsoft accessdriver (*.mdb)”,点击“完成”按钮,在弹出的窗口中,在数据源名文本框中,输入与下列代码:MyConnection.open “Guestbook.mdb”或下列代码:connstr="driver={Microsoft.Jet.OLEDB.4.0};datasource=Guestbook.mdb"MyConnection.open connstr中,与“Guestbook.mdb”相同的名字,然后点击“选择”按钮,在弹出的窗口中,找到要使用的数据库,然后一直点击“确定”按钮,就可以添加一个数据源。在建立数据库连接时,最好使用下列代码:dim connstr,MyConnectionSetMyConnection=Server.Createobject("ADODB.Connection")'connstr="driver={Microsoftaccess driver (*.mdb)};data source=Guestbook.mdb"connstr="driver={Microsoft.Jet.OLEDB.4.0};datasource=Guestbook.mdb"MyConnection.open connstr用上面这个代码建立的数据库连接会更加可靠,不容易出现问题,即使将程序移植到其它计算机上运行也不容易出现什么问题,而不要使用下列代码:SetMyConnection=Server.Createobject("ADODB.Connection")MyConnection.open “Guestbook.mdb”用上面这个代码建立的数据库连接容易出现问题,如果将程序移植到其它计算机上运行,就容易出现错误,会提示:“未发现数据源名称并且未指定默认驱动程序”等问题。