Asp.Net: 从Php+Mysql到Asp.Net+SqlServer
来源:互联网 发布:mac excel sover 编辑:程序博客网 时间:2024/05/22 13:54
最近遇到需要将一个Php网站,一个老旧的部分功能只被老旧的IE8才支持的网站,要重新用起来维护起来,衡量了一下在就网站做修改的功夫基本与新建一个网站持平,于是乎,就有了从php到asp.net的代码转换,和mysql到sqlserver的数据库转换的问题。
首先呢,代码转换是没有现成的工具的,也不可能有,不是从技术上而是从需求上,所以转换只能是靠程序员人工转运代码。代码都是相同的,这个对于有几年经验的程序员都不是难事。前端代码可以大部分重用,如果不想花时间精力的话,当然页眉页脚菜单登陆等常规的就不一定要转换了,可以用自己现成有的。JS部分可能会造成一些麻烦,因为有些跟逻辑相关。
代码要跑起来首先得有数据库,网上可以查到不少mysql转到sql server的方式,首先要安装mysql-connector-odbc,这里默认会给出最新版,但最新版可能装不上,那么可以选择老一点的版本,点击那个“Looking for previous GA versions”,就可以选择5.2.7之类的以前的版本了,笔直就换成了这个版本成功装上的。后面的创建DSN部分也还好,Data Source Name随便明明,笔者把命名为和数据库名称一样叫eshinetest,后面方便,description留空,IP写127.0.0.1,user是root,密码别填错了,正确的话就能够选Database了,点击Test应该可以正确连接。然后就是在sql server数据库创建链接服务器了,这里笔者倒腾了大半天,最后的链接语句类似下面,
EXEC sp_addlinkedserver @server = 'eshinetest', @srvproduct='eshinetest', @provider = 'MSDASQL', @datasrc = 'eshinetest'GOEXEC sp_addlinkedsrvlogin @rmtsrvname='eshinetest', @useself='false', @locallogin='sa',@rmtuser='root',@rmtpassword='数据库密码'
反正名字都用eshinetest,不管哪个field正确的可能性都会大些,如此便可以展开目录了,看到正确的数据库了,否则只能看到default并且展开报错。
然后这个链接数据库右击并没有提供多少选项,需要自己写sql语句来搬运到sql server,笔者新建了个叫test1的数据库,执行
SELECT * INTO test1.dbo.adad FROM OPENQUERY (eshinetest ,'select * from eshinetest_bak.adad' )
这里eshinetest是链接服务器,eshinetest_bak是这个链接服务器下面的数据库,adad是里面的表,test1.dbo.这个也必须写否则会出错。按这种方式把所有的表都执行一次,就可以生成数据库结构并把数据也插入进去。
还没完,生成的数据库表没有主键,id也不是自增,自己要设置一下,某些字段类型如果自己想调整的话也可以调一下,比如datetime2想改成datetime。
最后提一句习惯sqlserver不熟悉mysql的,可以下载navicat_premium这个客户端查看mysql数据。里面也有导出功能还可以导出成access2007文件让sql server导入,不过笔者导出的时候遇到错误就没这么做了大家可以尝试一下。
- Asp.Net: 从Php+Mysql到Asp.Net+SqlServer
- 从 PHP 迁移到 ASP.NET
- 从php 迁移到 ASP.NET
- 从 PHP 迁移到 ASP.NET
- 从PHP迁移到ASP.NET
- 从 PHP 迁移到 ASP.NET
- 从ASP到ASP.NET
- 【访问数据库】从ASP到ASP.Net
- Web开发的延续-从Asp.net到php
- asp.net连接sqlserver
- ASP.NET连接sqlserver
- ASP.NET底层架构之从浏览器到ASP.NET
- 怎样从ASP.NET 1.1升级到ASP.NET 2.0
- ASP.NET底层架构之从浏览器到ASP.NET
- asp.net 从datagrid导出到world
- Asp.net从开始到结局
- PHP的迁移到ASP.NET
- 关于网站到ASP,PHP,NET源码
- Jquery prop 和 attr的区别
- 如何应对没有需求的测试
- selector StateListDrawable
- 所涉及到的几种 sklearn 的二值化编码函数:OneHotEncoder(), LabelEncoder(), LabelBinarizer(), MultiLabelBinarizer()
- Mybatis之foreach
- Asp.Net: 从Php+Mysql到Asp.Net+SqlServer
- 远程服务器终端访问URL或者API
- Android-友盟社会化分享库&自定义分享
- JProfiler 调试优化java程序笔记
- 博览网C++课程 第四周
- Gson解析json数据
- AutoItLibrary安装报错(robotframework)解决
- 关于jeecms无法删除子栏目
- codeforces-766D-Mahmoud and a Dictionary(带权并查集)