Sesión #2

 Duración 2 horas

+Se crea la base de datos




+Se empieza creando la conexión desde nuestro servidor utilizando python con la base de datos, esta conexión es exitosa.

from flask import Flask, jsonify, redirect, render_template, request, url_for
from flask_cors import CORS
import pyodbc
import datetime

app = Flask(__name__)
CORS(app)


def ejecutar_stored_procedure(nombre_sp, parametros=None):
# Configuración de la conexión a la base de datos
server = 'DESKTOP-HUTR52P'
database = 'proyectoBases'
username = 'hola'
password = 'password'
conn_str = f'DRIVER=ODBC Driver 17 for SQL Server;SERVER={server};DATABASE={database};UID={username};PWD={password}'

conn = pyodbc.connect(conn_str)
cursor = conn.cursor()

try:
if parametros:
cursor.execute(f"EXEC {nombre_sp} {parametros}")
else:
cursor.execute(f"EXEC {nombre_sp}")

if cursor.description:
resultados = cursor.fetchall()
return resultados
else:
return None
finally:
cursor.close()
conn.close()


if __name__ == '__main__':
app.run(debug=True)

+Se inicia la creación del SP para cargar los datos desde el archivo XML

ALTER PROCEDURE CargarDatosDesdeXML
@ConfigXML XML
AS
BEGIN
BEGIN TRY
BEGIN TRANSACTION;

INSERT INTO TipoTarifa(Id, Nombre)
SELECT
TiposTarifa.value('@id', 'int') AS Id
TiposTarifa.value('@nombre', 'varchar(50)') AS Nombre
FROM @ConfigXML.nodes('/Data/TiposTarifa/TipoTarifa') AS Tbl(TipoTarifa);

COMMIT TRANSACTION;
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() AS ErrorNumber,
ERROR_MESSAGE() AS ErrorMessage,
ERROR_LINE() AS ErrorLine;

ROLLBACK TRANSACTION;
END CATCH;
END


Comentarios

Entradas populares de este blog