Presentation on theme: "WAMP Author: Jun Shao Project: Haiti. What is WAMP? WAMP = Windows+Apache+MySql+PHP Note:WAMP5 does not work with Windows 98,Me."— Presentation transcript:
WAMP Author: Jun Shao Project: Haiti
What is WAMP? WAMP = Windows+Apache+MySql+PHP Note:WAMP5 does not work with Windows 98,Me
WAMP Installation A single installation file downloaded from http://www.wampserver.com/en/download.php http://www.wampserver.com/en/download.php
After Installation Application Service Apache wampapache PHP MySQL database wampmysql
WAMPs Menu Management Portals PHPmyadmin SQLitemanager Note: A user has to click on the icon tray to access WAMP's menu.
WAMPs Menu Configuration and Settings Loaded Modules Directory Access Shortcut
WAMPs Menu Services Apache MySQL Note: The icon tray reflects the status of your server.
Haiti Migration Architecture
Haiti Migration New Applications Apache HTTPS Setting MySQL DDL DML Data Data Migration
Haiti Migration DDL For example, MsSQL: CREATE TABLE ( _id bigint IDENTITY (1, 1) NOT NULL … MySQL: CREATE TABLE ( _id bigint NOT NULL AUTO_INCREMENT, …
Haiti Migration DML For example, MsSQL: select top 10 * from patient; MySQL: select * from patient limit 0,10;
Haiti Migration Data MsSQL: MySQL:
Haiti Migration Data Migration We use ODBC to migrate data from the MsSQL database to the MySQL database. We use PHP to export data from the MySQL database and then import the data into the MySQL database.
Haiti Migration MsSQL and MySQL follow the SQL- 92 standard. However, each of them have their own extensions. SourceCommonFull NameDevelopment Name Method ANSISQL/PSMSQL/Persistent Stored ModuleStandard IBMSQL PLSQL Procedural LanguageProprietary Microsoft/T-SQLTransact-SQLProprietary Sybase MySQL Open Source/ Proprietary OraclePL/SQLProcedural Language/SQLProprietary
Affected Applications Question Which applications will be affected if we install WAMP?
Affected Applications PERL (Replication) It uses standard sql in inserting data. Conclusion: It requires a little change during the WAMP migration.
Affected Applications Tomcat qry = …+cast ( (sum(numerator) as unsigned)*100./.. url="jdbc:jtds:mysql://localhos t:1433/(resource.database)" count(*) as 'Compte', ceiling(cast(count(*)/$total. *100… mysql-connector-java-5.0.6- bin.jar
Affected Applications Conclusion: Most changes of reports are based on extension differences between MySQL and MsSQL.
Affected Applications PHP Layou menu.php mainbody.php Function genericsave.php followup.php Utility chkDate.js Label findLabels.php $mysql_access = mysql_connect (DB_SERV, DB_USER, DB_PASS ) or die ("FATAL ERROR: Unable to connect to the database"); mysql_select_db (DB_NAME, $mysql_access) or die ("FATAL ERROR: Unable to select database.");
Affected Applications Changed reasons: Different extension of queries. For example, Top 10 in MsSQL vs. Limit 0,10 in MySQL Convert in MsSQL vs. Cast in MySQL isDate in MsSQL vs. Length(Date(..)) in MySQL Different ways to connect to the database. Different data formats. For example, mm/dd/yyyy in MsSQL vs. yyyy-mm-dd in MySQL Different Error Messages
Affected Applications Conclusion The migration is complex since we have to review every query. The suggestion is to create a wrapped-up interface using standard queries for other pages to call when they want to visit the database. Problem Left The performance of MySQL. We might tune the database to get decent performance.
Overall WAMP is easy to install and it is free to use. Migration from IIS/PHP/MsSQL to WAMP is practical. The cost of migration is mainly to review queries and change them based on the SQL extension of MySQL.