c# - Generación de un EDMX a partir de una base de datos DB2
entity-framework-6 (2)
Intento crear un archivo EDMX utilizando VS2013 para poder leer / escribir desde una base de datos DB2. Paso por el mismo proceso que crear el EDMX desde mis tablas SQL (clic derecho en proyecto -> Agregar nuevo elemento -> Modelo de datos de entidad ADO.NET -> Diseñador EF desde la base de datos -> No usando SQL esta vez así que: nueva conexión - > Cambiar origen de datos) pero en la opción Origen de datos, DB2 no está disponible. Tengo 2 opciones SQL y eso es todo.
Entonces, después de investigar un poco por aquí junto con otros lugares, parece que EF no fue configurado para hacerlo hasta que apareció un complemento para EF6. Entonces, al usar Nuget, he instalado EntityFramework.IBM.DB2 versión 6.0.3 con la esperanza de que agregue algo a mi área Fuente de datos, lo que me permite elegir una base de datos DB2, pero aún nada.
Trataré de dar tanta información sobre mi sistema aquí como sé, así que si me decanto ... lo cual tiendo a hacer ... lo siento de antemano.
Estoy en Windows 7 usando la edición VS2013 Pro. Tengo una configuración de conexión ODBC y ha estado funcionando bien durante años. Puedo acceder al Administrador de ODBC y probar mi conexión con Test y Production DB2 y se conecta perfectamente.
El Administrador de orígenes de datos ODBC es la versión 6.1.7601.17632 y estoy usando el controlador ODBC de IBM DB2 ... parece que es la versión 10.5.500 (aunque no estoy 100% seguro de si estoy buscando el lugar correcto para obtener ese número de versión)
También puedo ingresar a Access y conectarme a las bases de datos DB2 utilizando la conexión ODBC y recuperar las tablas y sus datos.
También puedo escribir sentencias de SQL directamente en mi código con la configuración de la cadena de conexión (que supongo usa la misma conexión ODBC) y leer datos de SQL y llamar a procedimientos almacenados conectados a esas tablas de DB2 para escribir / actualizar / eliminar.
Por último, parece que un compañero de trabajo anterior fue capaz de hacer que esto funcione. He cargado su código y cuando saco el EDMX, obtengo la bonita pantalla gráfica de todas las tablas. Pero cuando intento hacer clic en Actualizar desde la base de datos, aparece un error:
Tristemente, él ya no está con la compañía y su computadora no está en condiciones de poder echarle un vistazo.
Así que parece que esto es algo que se puede hacer y que mi computadora está casi configurada para hacer esto ... con la excepción de algo que me falta que me permitirá agregar esa fuente de datos de tipo DB2 a esa primera imagen de arriba, así Puedo seleccionarlo, poner las credenciales y seguir adelante.
Cualquier ayuda será realmente apreciada ...
Gracias por la respuesta.
Los complementos de la base de datos es exactamente lo que estaba buscando.
Pude omitir la primera parte de su pregunta porque ya tenía esa parte, excepto ... para poder hacer la parte 2, tuve que actualizar mis controladores a la misma versión que estaba usando para instalar los complementos.
Descargué la versión 10.5 y actualicé mis controladores, luego pude instalar el complemento y pude continuar y crear mi EDMX.
Muchísimas gracias por la ayuda.
Para usar Entity Framework y Visual Studio ... necesita instalar los controladores de IBM así como un complemento de Visual Studio (para hacer que DB2 aparezca en el menú desplegable de los proveedores de datos y crear un EDMX correctamente). La siguiente es la configuración que usamos para comunicarnos con DB2 z / os. No estoy seguro de si estos mismos controladores funcionan con DB2 Linux / Unix / Windows.
http://www-01.ibm.com/support/docview.wss?uid=swg24041453
El enlace anterior es para el fixpack versión 10.5 del cliente. Lo he usado para configurar Visual Studio 2013 y Visual Studio 2015 en Windows 7 / 8.1 (no lo he probado en una máquina de desarrollo de Windows 10).
Esto es lo que necesitará descargar e instalar
- Paquete del controlador del servidor de datos (Windows)
- Complementos de bases de datos para Visual Studio
También necesitará un archivo de licencia (su DBA debería poder proporcionarlo, o al menos descargar uno usando su nombre de usuario de IBM)
Primero instale los controladores del servidor de datos, luego los complementos. Copie su archivo de licencia en C:/Program Files/IBM/IBM DATA SERVER DRIVER/license
Aún necesitará el paquete nuget EntityFramework.IBM.DB2 si desea usar EF6, ya que los complementos de Visual Studio por sí mismos solo son compatibles con EF5.