miércoles, 4 de septiembre de 2013

Error Conexion Apache

ERROR XAMPP


Durante dos días tuve en mi computadora el problema de conectar a Apache desde el programa que Cristian propuso que utilizáramos para hacer la aplicación web en PHP con el servidor Apache. Durante el intento de componerlo, Cristian me compartió archivos, librerías, etc algunos problemas se resolvian pero otros persistían.
El error era el siguiente:
Por lo tanto seguimos en otras tareas para no atrasarnos mas, volviendo al problema hoy desintalé el Xampp y descargue otra versión que según leí era mas compatible con Windows 7, que es el que tengo instalado en mi computadora, pero el problema siguió presentandose.

Solución: encontré el siguiente link: http://tutorialesyopiniones.blogspot.com/2013/01/corregir-error-al-iniciar-xampp-apache.html , siguiendo los pasos y modificando los archivos que ahí dice se logro la conexion con Apache!

Cristian Araya
David Vargas

Horas trabajadas: 8

AVANCE: Borrador Diagrama de Bases de Datos

El día 4 de septiembre decidimos pasar el diagrama de bases de datos a la herramienta de SQL Server.
En este diagrama pudimos establecer todos los tipos que vamos a usar en las diferentes tablas, de igual manera establecimos los primary key y las relaciones de foreign key. A continuación mostramos el diagrama realizado.



Se tienen varias dudas con el diagrama realizado, por lo cual se procede a enviar un correo al profesor antes de seguir con el siguiente paso, la creación de store procedure y la aplicación de escritorio.

Cristian Araya
David Vargas
Horas Dedicadas: 5horas

EXPERIENCIA: Uso de conceptos en SQL Server

A continuación presentamos un pequeño tutorial de las herramientas mas básicas y necesarias a la hora de utilizar una base de datos en SQL Server

Realizar atributos que sea de un valor auto incrementable
Especificación de Identidad
Se active la opción y se agrega que se vaya sumando 1 cada vez, útil para las primary key



Realizar atributos definidos
Especificación de columna calculada
Se activa la opción y se escribe la fórmula que queremos para el atributo


Definiendo Primary Key
Click derecho sobre cualquier atributo, se selecciona Primary Key


Relaciones de Foreign Key
Para estas relaciones, se utilizó la herramienta de diagrama que ofrece SQL Server ya que lo realiza de una forma muy sencilla, lo cual es arrastrando el atributo que tiene la FK a la tabla que queremos relacionar, lo soltamos en la tabla seleccionada y aparecerá el cuadro de configuración.

Cuando se este arrastrando van a aparecer lineas cortadas

Se configura la relación que establece la Foreign Key


Store Procedure
Para los store procedure utilizamos como una plantilla para definirlos todos, ya que esto mejora la lectura y el entendimiento de los mismo. Esto debido a las varias maneras de definir los procedimientos que existen, en esta plantilla se utilizan el begin y el end como paréntesis en otros lenguajes, y esto claramente ayuda a entender mejor cada procedimiento.

create procedure nombre
@parametros
as
begin
Instrucciones

end

Cristian Araya
David Vargas
Horas Dedicadas: 3horas

lunes, 2 de septiembre de 2013

Problemas

A la hora de conectar mediante el programa XAMPP, apache con php tuve muchas dificultades al parecer por la version de XAMPP que tenia descargada, desde el dia anterior pase intentando corregir los problemas con Cristian, a él si le funcionaba perfectamente pero a mi me estaba dando muchos problemas. Tenia errores, warnings de librerias .dll en especial la php_mssql.dll
Error de libreria
Pero antes daba el siguiente error: 
El cual se solucionó copiando los archivos de php que mi compañero Cristian tenia en su computadora que si le servian.

Pasamos a instalar la siguiente version de XAMPP del link que Cristian me pasó:

Horas dedicadas: 6

Cristian Araya
David Vargas

EXPERIENCIA: Configurando Microsoft SQL Server para trabajar con PHP, y algunos ejemplos

 Cuando ya tengamos nuestro servidor Apache con el PHP instalado, o bien el servidor XAMPP, se requiere instalar y configurar las librerías para poderlo conectar con MS SQL. En nuestro caso estamos haciendo uso de las siguientes versiones:

            - Apache 2.4 
            - PHP Version 5.4.7
            - Microsoft SQL Server 2012

Se debe ingresar a la página:
http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx
Y se debe de descargar el archivo Microsoft Drivers 3.0 for PHP for SQL Server




Y se instalan en el directorio ext de php, en nuestro caso es la dirección:

             c:/xampp/php/ext

Luego de esto hay que ir al archivo PHP.ini, el cual se ubica en la carpera principal de PHP en nuestro caso
             
             c:/xampp/php

En este archivo hay que encontrar el apartado de Dynamic Extensions, el cual se encuentra alrededor de la línea 960. En este apartado hay que agregar las siguientes líneas:


extension=php_pdo_sqlsrv_54_ts.dll

extension=php_sqlsrv_54_ts.dll

Y se debe activar, esto se refiere a quitarle el punto y coma a la siguiente línea


extension=php_mssql.dll

En la siguiente imagen se puede ver las tres líneas que debemos modificar



Se guardan los cambios y se reinicia el servidor Apache, y de esta manera tenemos instaladas las librerías para poder conectar PHP con Microsoft SQL Server.

Ahora veremos unos breves ejemplos de la conexión 

Para realizar la conexión seguimos el siguiente código que se puede encontrar en la documentación oficial de la librería:

<?php
$serverName = "Servidor";   // Nombre del servidor
$connectionInfo = array( "Database"=>"Nombre de la Base de Datos");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
// Puesto que no se han especificado UID ni PWD en el array  $connectionInfo,
// La conexión se intentará utilizando la autenticación Windows. Se puede insertar el nombre y la contraseña, añadiéndolos separados de una coma, para ingresar con el otro modo de autentificación

if( $conn ) {
     echo "Conexión establecida.<br />";
}else{
     echo "Conexión no se pudo establecer.<br />";
     die( print_r( sqlsrv_errors(), true));
}


?>

El siguiente ejemplo que veremos es con la llamada de un store procedure:

$tsql_callSP = "{call eliminarPersona( ?)}";    // Nombre del procedure, cada ? es un                                                                                                     parámetro
$Id = 3;
$vacationHrs = 1;

/* Array para agregar los parámetros, si el procedure devuelve algo es un PARAM_OUT
$params = array(
                 array($Id, SQLSRV_PARAM_IN)
               );

$stmt3 = sqlsrv_query( $conn, $tsql_callSP, $params);   /*Ejecuta el procedimiento*/
if( $stmt3 === false )
{
     echo "Error in executing statement 3.\n";
     die( print_r( sqlsrv_errors(), true));         /* Imprime el tipo de error */
}

sqlsrv_next_result($stmt3);                             /*Esto es por si el procedure retorna algo se trabaja de esta manera*/
echo "Remaining vacation hours: ".$vacationHrs;

sqlsrv_free_stmt( $stmt3); // Se liberan recursos


sqlsrv_close( $conn);   // Se cierra la conexión 


Con estos dos pequeños ejemplos, sirven como base para realizar cualquier conexión y hacer la llamada a un store procedure, para mas información se puede acceder a la dirección:
http://technet.microsoft.com/en-us/library/cc644932(v=sql.105).aspx donde se encontrara también como realizar la llamada de una instruccion.

Cristian Araya
David Vargas

Horas Trabajadas : 4horas

EXPERIENCIA: Servidor Apache

A la hora de instalar el servidor Apache e integrarlo con PHP, tuvimos varios errores, como por el ejemplo el acceso denegado a la hora de cambiar la configuración del php.ini y del conf del Apache, intentamos solucionarlo de todas las maneras que indicaban en la web, sin embargo no pudimos lograrlo, para no atrasarnos más con el proyecto luego de llevar un bueno rato tratándolo de instalar correctamente, decidimos utilizar XAMPP, esto es un servidor independiente el cual contiene configuradas e instaladas herramientas como el Apache, PHP, MYSQL entre otras. Con esta herramienta pudimos obtener en menos de 5 minutos la debida configuración del servidor Apache con PHP. Un punto muy importante que tenemos que mencionar es que la configuración por defecto que posee el XAMPP tiene algunas deficiencias en cuanto a la seguridad, que poco a poco en cada versión la han ido mejorando, y de igual manera realizando unos ajustes se ha utilizado como servidor de sitios web. Si al final tenemos tiempo, intentaremos de nuevo instalar el servidor apache e integrarle PHP.

Para realizar la descarga de este servidor accedimos al siguiente enlace:

Luego de instalarlo hay que configurar e instalar las librerías para poder conectar PHP con MSSQL, esto lo hablaremos en la siguiente entrada, ya que se tenga el XAMPP o se haya instalado solamente el servidor Apache se debe de realizar de igual forma, por lo cual nos parece muy útil que haya un documento donde muestre la configuración de esta conexión y de igual forma que muestre unos ejemplos, asunto que costó mucho encontrar en la web y en libros, debido a que las herramientas que estamos usando son las más nuevas.



Cristian Araya
David Vargas

Horas dedicadas: 5horas