科学网

 找回密码
  注册
科学网 标签 IIS

tag 标签: IIS

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

[原][Matlab][02] 与mysql数据库的连接
nwang1986 2015-10-4 12:24
一直想通过matlab对mysql数据库进行读写,尝试了几种方法。 第一步,mysql的安装与配置。结果:OK。 当前电脑是window8的64位操作系统,在mysql的网站 http://dev.mysql.com/downloads/windows/installer/ 下载了 mysql-installer-web-community-5.6.26.0.msi 进行安装。安装的过程很顺利,配置的过程中会卡死在starting service那一步。网上很多用户也有这个问题,据说是因为没有用管理员权限运行安装程序。自己卸载重装也没有解决,最终参考 http://jingyan.baidu.com/article/f3ad7d0ffc061a09c3345bf0.html 完成。主要操作有: (1)设置环境变量 (2)修改my.ini basedir=C:\Program Files\MySQL\MySQL Server 5.6(mysql所在目录) datadir=C:\Program Files\MySQL\MySQL Server 5.6\data (mysql所在目录\data) (3)以管理员权限运行cmd,用cd转到mysql的bin目录下。输入 mysqld -install 。如果已安装会显示服务已存在。使用 net start mysql 启动mysql服务。如果不成功,输入 mysqld -remove 。然后再 mysqld -install 。然后再 net start mysql 。然后问题就解决了。 输入 mysql -u root 就可以进入数据库了。 mysql常用操作可参考w3school或一些网上资源: http://www.360doc.com/content/12/0328/14/8354145_198595191.shtml http://blog.csdn.net/ithomer/article/details/5131863 在安装完mysql后登入,给超级管理员root用户加上密码,设置允许远程访问,及简单的测试等。启动cmd,输入以下内容登录和操作。 mysql -u root show databases; use mysql; show tables; describe user; select user,password,host from user where user='root'; update user set password='123456' where user='root'; update user set host='%' where user='root'; select user,password,host from user where user='root'; grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; flush privileges; select user,password,host from user where user='root'; quit; mysql -u root mysql -u root -p show databases; 当然各人有各人的配置过程和方法。有时配置会遇到一些问题。比如发现虽然设置了密码,但登录时不用密码也能登入,用密码反而不能登录。这时我去检查发现了3个root用户,分别对应了3个不同的host:'localhost'与'127.0.0.1'与'%'。删了前两个就OK了。 有时情况是登录后发现root用户没有管理员权限,不能看到mysql的库以及下面的表,也不能修改密码。是因为root用户多个host或没有设置好允许远程访问和权限的问题。这时以超级用户的方式进行修改和清理。以管理员权限运行cmd,如果没有设置环境变量使用cd转到mysql的bin目录,输入net stop mysql回车确保mysql没有在运行,输入mysqld --skip-grant-tables回车,在任务管理器中可以看到mysqld进程正在运行。这时命令行可能卡住,没问题,新开一个管理员权限的cmd,输入mysql -u root进入数据库,然后删除多余的root账户,并保证root账户的host为'%',设置密码,运行mysqladmin shutdown关闭当前mysqld进程。运行net start mysql启动服务,发现能用密码正常登陆入mysql,然后输入grant all privileges那句和flush那句就OK了。 至此,mysql的安装配置正常。 第二步,将matlab与mysql相连。结果:失败。原因:当前安装的matlab没有database的toolbox。 如果要将matlab与mysql相连,需要两方面内容,一是mysql的java驱动,二是修改matlab的配置文件。 在mysql的官网找到 http://dev.mysql.com/downloads/connector/j/ 下载 mysql-connector-java-gpl-5.1.36.msi。运行后在 C:\Program Files (x86)\MySQL\Connector.J 5.1 找到了解压后的文件 需要将所有文件复制到matlab的java库中,路径 C:\Program Files\MATLAB\R2014a\java\jar\toolbox 在路径C:\Program Files\MATLAB\R2014a\toolbox\local下找到classpath.txt并将上面的java驱动路径+文件名加到后面。或者在matlab中运行 edit classpath.txt 直接修改。 然后运行matlab的database函数尝试连接,发现没有database这个命令,说明mysql的java驱动链接matlab不成功。 之后尝试了创建javaclasspath文件和自动添加path的方法,也没有成功,方法参见。 http://www.cnblogs.com/mathecoer/archive/2013/05/20/3089026.html http://www.ilovematlab.cn/thread-259252-1-1.html 最终在页面 https://www.mathworks.com/matlabcentral/newsreader/view_thread/292115 找到答案。 在matlab命令行窗口运行 ver 发现并没有database的toolbox。由于当前安装的是学校购买的正版的matlab,工具箱仅有常用的几个,在matlab官网上查了下一个数据库的toolbox要几千块人民币,目前不考虑购买。工作环境又不适合装个破解版的matlab。 至此,matlab直接连接mysql任务失败。 由于matlab可以用urlread进行读取网页操作,并结合'post'参数可以提交表单。考虑也许可以使用http服务中转连接mysql。 第三步,搭建IIS服务器,配置asp的环境。结果:OK。 win8有自带的IIS组件,打开contro pannel中Programs and Features左侧的Turn windows feathers on or off,将internet information services选上,确定。安装完成中可以在 我的电脑管理服务 中找到IIS的站点,或者以管理员权限运行cmd,输入 net start w3svc 启动万维网服务,输入 start inetmgr 打开网站控制台。可以手动修改默认asp页面语言或在页面代码中注明使用的语言格式为VBscript还是Jscript。根据偏好进行各种目录权限配置。 除了使用win8自带的IIS,还可以到微软官网下载web plateform installer。打包安装一个网站,还可以安装wordpress等应用。 如果不用微软的IIS,也可以安装apache,但又需要配置,还要再安装php,然后再配置,目前不考虑。 配置完之后使用asp的 Response.Write 方法测试页面能否正常运行。一般都没有问题。 //VBScript格式保存为vbs.asp. % response.write Hello World. % //Jscript格式保存为js.asp % Response.Write(Hello World.); % 至此,IIS服务器和asp配置完成。 第四步,将asp页面与mysql连接。结果:OK。 使用asp的ADO对象连接mysql,首先把mysql作为数据源加入到ADODB的列表中。打开控制面板-管理工具-ODBC数据源(64位)。在User DSN中点击Add,发现mysql有两个driver,对应不同的编码,我选择的是MYSQL ODBC 5.3 Unicode Driver,点击完成,OK。 在asp中加入数据库连接的语句,在localhost站点对应的页面检测是否正常输出。如下。发现可以读取数据库。 //VBScript格式保存的vbsconnect.asp测试与mysql的连接 % on error resume next dim adoConn dim adoRS dim counter set adoConn = Server.CreateObject(ADODB.Connection) adoConn.Open Driver={MySQL ODBC 5.3 Unicode Driver}; Server=localhost; Port=3306; Option=0; Socket=; Stmt=; Database=mysql; Uid=root; Pwd=123456; set adoRS = Server.CreateObject(ADODB.Recordset) adoRS.ActiveConnection = adoConn if adoConn.errors.count = 0 then response.write h2Fields In The 'user' Table:/h2 adoRS.Open describe user while not adoRS.EOF response.write adoRS.fields(0).value br adoRS.MoveNext wend else response.write ERROR: Couldn't connect to database end if adoConn.Close % //JScript格式保存的jsconnect.asp测试与mysql的连接 % Con=Server.CreateObject(ADODB.Connection); Con.Open(Driver={MySQL ODBC 5.3 Unicode Driver}; Server=localhost; Port=3306; Option=0; Socket=; Stmt=; Database=mysql; uid=root; pwd=123456;); var sql = SELECT user,password,host FROM user where user='root'; var rs = Server.CreateObject (ADODB.Recordset); rs.Open(sql,Con); Response.Write(rs.Fields(0).value+'nbsp;'+rs.Fields(1).value+'nbsp;'+rs.Fields(2).value); Con.Close; % 其中Driver代表数据库驱动,需要与数据源中的Driver名称一致,server是服务器地址,port是mysql的端口,uid或user是mysql的登录账户,pwd或password是密码,database是要进入的数据库名称,其他的参数介绍可参看: http://jingyan.baidu.com/article/22a299b51d22d59e19376a0d.html http://stackoverflow.com/questions/4407841/whats-the-option-n-in-the-mysql-odbc-connection-string https://www.connectionstrings.com/mysql-connector-odbc-5-1/ https://www.connectionstrings.com/mysql/ 至此,asp与mysql连接完成。 第五步,用matlab向asp页面提交信息并读取返回内容。结果:OK。 在IIS服务器中创建readmatlab.asp页面,输入以下代码保存。 //Jscript格式 % Response.Write(Request.QueryString(name)+ +Request.QueryString(sex)); % 在matlab中使用urlread函数+'get'参数: =urlread('http://localhost/readmatlab.asp','Get',{'name','Xiaoming','sex','male'}); 运行后发现pagesourcecode中返回的字符串为'Xiaoming male'。说明readmatlab.asp页面接受了提交的'name'参数'Xiaoming'和'sex'参数'male',并使用response.write方法输出在页面上。然后matlab的urlread函数读取了response.write的内容。 至此,使用matlab与asp连接完成。 第六步,最终目标,将matlab经asp中转读取或写入mysql,再获得返回参数。结果:? 至此,应该是没有疑问了。略。
个人分类: [原创]|5331 次阅读|0 个评论
[转载]Jaro-Winkler Distance 浅析
wl2119 2014-6-29 22:01
Jaro-Winkler Distance 浅析 这是一种计算两个字符串之间相似度的方法,想必都听过Edit Distance,Jaro-Winkler Distance 是Jaro Distance的一个扩展,而Jaro Distance(Jaro 1989;1995)据说是用来判定健康记录上两个名字是否相同,也有说是是用于人口普查,具体干什么就不管了,让我们先来看一下Jaro Distance的定义。 两个给定字符串S1和S2的Jaro Distance为: m是匹配的字符数; t是换位的数目。 两个分别来自S1和S2的字符如果相距不超过 时,我们就认为这两个字符串是匹配的;而这些相互匹配的字符则决定了换位的数目t,简单来说就是不同顺序的匹配字符的数目的一半即为换位的数目t,举例来说, MARTHA 与 MARHTA 的字符都是匹配的,但是这些匹配的字符中,T和H要换位才能把 MARTHA 变为 MARHTA ,那么T和H就是不同的顺序的匹配字符,t=2/2=1. 那么这两个字符串的Jaro Distance即为: 而Jaro-Winkler则给予了起始部分就相同的字符串更高的分数,他定义了一个前缀p,给予两个字符串,如果前缀部分有长度为 的部分相同,则Jaro-Winkler Distance为: d j 是两个字符串的Jaro Distance 是前缀的相同的长度,但是规定最大为4 p 则是调整分数的常数,规定不能超过0.25,不然可能出现dw大于1的情况,Winkler将这个常数定义为0.1 这样,上面提及的 MARTHA 和 MARHTA 的Jaro-Winkler Distance为: d w = 0.944 + (3 * 0.1(1 − 0.944)) = 0.961 以上资料来源于维基百科: http://en.wikipedia.org/wiki/Jaro-Winkler_distance 这样一来很容易写出这个算法的代码: 1: double jaro_distance(string s1,string s2) 2: { 3: if (s1.empty()||s2.empty()) 4: { 5: if (s1.empty()s2.empty()) 6: return 1.0; 7: return 0.0; 8: } 9: int allowrange=max(s1.length(),s2.length())/2-1; 10: int i,j; 11: bool is_match=false; 12: int *matches= new int ; 13: //将s2中匹配的字符标号,这个标号的意义在于计算t的值, 14: //从前往后遍历,如果顺序不对,则肯定要调换 15: //DWAYEN 16: //0-132 这是一个matches的例子 17: //DUANE 18: for (i=0;is2.length();++i) 19: matches =-1; 20: double m=0; //匹配的数目 21: for (i=0;is1.length();++i) 22: { 23: is_match=false; 24: for (j=i;is_match==false j=0 j=i-allowrange;--j) 25: { 26: if (s2 ==s1 ) 27: { 28: matches =m++; 29: is_match=true; 30: } 31: } 32: for (j=i;is_match==false js2.length() j=i+allowrange;++j) 33: { 34: if (s2 ==s1 ) 35: { 36: matches =m++; 37: is_match=true; 38: } 39: } 40: } 41: double t=0; 42: i=0; 43: for (j=0;js2.length();++j) 44: { 45: if (matches !=-1) 46: { 47: if (matches !=i++) 48: ++t; 49: } 50: } 51: delete !=s2 ) 63: break ; 64: ++len; 65: } 66: double dj=jaro_distance(s1,s2); 67: return dj+p*len*(1-dj); 68: }
个人分类: Matlab|2992 次阅读|0 个评论
基于web的远程教育系统的设计与实现
cyx033009 2012-11-13 22:59
IIS+ASP+SQL Server+FMS实现的一远程教育系统模型,供借鉴学习之用。若有需要源程序代码的,请发信息告知 毕业设计论文.docx
个人分类: 毕设论文|1871 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-16 15:40

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部