{"id":627,"date":"2017-07-29T23:19:45","date_gmt":"2017-07-29T23:19:45","guid":{"rendered":"http:\/\/www.manualsqlserver.com\/?p=627"},"modified":"2020-05-20T18:43:10","modified_gmt":"2020-05-20T18:43:10","slug":"insertar-imagenes-desde-sql-server-management-studio","status":"publish","type":"post","link":"https:\/\/manualsqlserver.com\/?p=627","title":{"rendered":"Insertar im\u00e1genes desde SQL Server Management Studio"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQL_InsertarImagenesMSM_D.png\" alt=\"\" class=\"wp-image-1332\" width=\"259\" height=\"324\"\/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>Insertar im\u00e1genes en un campo Image desde SQL Server<\/strong><\/h1>\n\n\n\n<p>Al crear una tabla, es necesario con regularidad almacenar las im\u00e1genes de los registros, por ejemplo, la imagen de un empleado, la imagen de un producto, la imagen de una intervenci\u00f3n quir\u00fargica, las fotos de un auto siniestrado en un sistema de seguros vehiculares, etc.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Las im\u00e1genes pueden ocupar un poco mas de espacio en el disco que los datos de tipo texto o los datos num\u00e9ricos as\u00ed como las fechas, si van a ser muchos registros, es recomendable separar las im\u00e1genes en un grupo de archivos diferente de donde est\u00e1n los datos del mismo registro &nbsp;usando la partici\u00f3n vertical de la tabla. (<a href=\"http:\/\/www.manualsqlserver.com\/?p=621\">Ver Partici\u00f3n Vertical<\/a>)<\/p>\n\n\n\n<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n<ins class=\"adsbygoogle\"\n     style=\"display:block; text-align:center;\"\n     data-ad-layout=\"in-article\"\n     data-ad-format=\"fluid\"\n     data-ad-client=\"ca-pub-2636008503986218\"\n     data-ad-slot=\"1902193434\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Ejemplo<\/strong><\/h3>\n\n\n\n<p>En este ejemplo se <a href=\"http:\/\/www.manualsqlserver.com\/?p=82\">crear\u00e1 una base de datos<\/a> y luego crear dos tablas, una con empleados y&nbsp;otra con productos. Luego insertaremos los registros incluyendo las fotos de los empleados y las im\u00e1genes de los productos. (<a href=\"http:\/\/www.manualsqlserver.com\/?p=294\">Ver Insertar Registros<\/a>)<\/p>\n\n\n\n<p>Para que los ejercicios funcionen, antes de ejecutar los scripts, cree las carpetas e inserte en ellas las im\u00e1genes a insertar. Las fotos de los empleados se ubicar\u00e1n en la carpeta <strong>D:\\EmpleadosFotos<\/strong> y las im\u00e1genes de los productos estar\u00e1n \u00a0en la carpeta <strong>D:\\ProductosImagenes<\/strong><\/p>\n\n\n\n<p><strong>La base de datos<\/strong><\/p>\n\n\n\n<p>Create database BaseImagenes<br>go<br>use BaseImagenes<br>go<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>La tabla para Empleados<\/strong><\/h3>\n\n\n\n<p>Create table Empleados<br>(<br>EmpleadosCodigo nchar(6),<br>EmpleadosPaterno varchar(50),<br>EmpleadosMaterno varchar(50),<br>EmpleadosNombre varchar(50),<br>EmpleadosFechaNacimiento Date,<br>EmpleadosEstado nchar(1),<br>EmpleadosFoto Image,<br>constraint EmpleadosPK primary key (EmpleadosCodigo)<br>)<br>go<\/p>\n\n\n\n<p><strong>Insertar los empleados.<\/strong><\/p>\n\n\n\n<p>insert into Empleados (EmpleadosCodigo, EmpleadosPaterno,<br>EmpleadosMaterno, EmpleadosNombre, EmpleadosFechaNacimiento,<br>EmpleadosEstado, EmpleadosFoto)<br>select &#8216;PR3498&#8217;, &#8216;Campos&#8217;,&#8217;Pardo&#8217;,&#8217;Luis&#8217;,&#8217;15\/01\/1997&#8242;, &#8216;A&#8217;, *<br><strong>from OpenRowset(Bulk &#8216;D:\\EmpleadosFotos\\CamposPardoLuis.jpg&#8217;, Single_Blob) As EmpleadosFoto<\/strong><br>go<\/p>\n\n\n\n<p>insert into Empleados (EmpleadosCodigo, EmpleadosPaterno,<br>EmpleadosMaterno, EmpleadosNombre, EmpleadosFechaNacimiento,<br>EmpleadosEstado, EmpleadosFoto)<br>select &#8216;TF9085&#8217;, &#8216;Ch\u00e1vez&#8217;,&#8217;Terranova&#8217;,&#8217;Ingrid&#8217;,&#8217;10\/02\/1999&#8242;, &#8216;A&#8217;, *<br>from OpenRowset(Bulk &#8216;D:\\EmpleadosFotos\\ChavezTerranovaIngrid.jpg&#8217;, Single_Blob) As EmpleadosFoto<br>go<\/p>\n\n\n\n<p>insert into Empleados (EmpleadosCodigo, EmpleadosPaterno,<br>EmpleadosMaterno, EmpleadosNombre, EmpleadosFechaNacimiento,<br>EmpleadosEstado, EmpleadosFoto)<br>select &#8216;PW0974&#8217;, &#8216;Pereda&#8217;,&#8217;Smith&#8217;,&#8217;Marco&#8217;,&#8217;18\/09\/1989&#8242;, &#8216;A&#8217;, *<br>from OpenRowset(Bulk &#8216;D:\\EmpleadosFotos\\PeredaSmithMarco.jpg&#8217;, Single_Blob) As EmpleadosFoto<br>go<\/p>\n\n\n\n<p>insert into Empleados (EmpleadosCodigo, EmpleadosPaterno,<br>EmpleadosMaterno, EmpleadosNombre, EmpleadosFechaNacimiento,<br>EmpleadosEstado, EmpleadosFoto)<br>select &#8216;FT4503&#8217;, &#8216;Villa&#8217;,&#8217;Benavente&#8217;,&#8217;Anne&#8217;,&#8217;13\/03\/1983&#8242;, &#8216;A&#8217;, *<br>from OpenRowset(Bulk &#8216;D:\\EmpleadosFotos\\VillaBenaventeAnne.jpg&#8217;, Single_Blob) As EmpleadosFoto<br>go<\/p>\n\n\n\n<p>insert into Empleados (EmpleadosCodigo, EmpleadosPaterno,<br>EmpleadosMaterno, EmpleadosNombre, EmpleadosFechaNacimiento,<br>EmpleadosEstado, EmpleadosFoto)<br>select &#8216;NT4587&#8217;, &#8216;Llanos&#8217;,&#8217;Saenz&#8217;,&#8217;Jose&#8217;,&#8217;17\/10\/1963&#8242;, &#8216;A&#8217;, *<br>from OpenRowset(Bulk &#8216;D:\\EmpleadosFotos\\LlanosSaenzJose.jpg&#8217;, Single_Blob) As EmpleadosFoto<br>go<\/p>\n\n\n\n<p><strong>Note el uso de la funci\u00f3n OpenRowSet para insertar la im\u00e1gen.<\/strong><\/p>\n\n\n\n<p><strong>Visualizar los empleados<\/strong><br>select * from Empleados<br>go<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQL_InsertarImagenesMSM_01-1024x138.png\" alt=\"\" class=\"wp-image-1330\" width=\"855\" height=\"115\" srcset=\"https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQL_InsertarImagenesMSM_01-1024x138.png 1024w, https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQL_InsertarImagenesMSM_01-300x41.png 300w, https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQL_InsertarImagenesMSM_01-768x104.png 768w, https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQL_InsertarImagenesMSM_01.png 1510w\" sizes=\"auto, (max-width: 855px) 100vw, 855px\" \/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Productos<\/strong><\/h3>\n\n\n\n<p>Create table Productos<br>(<br>ProductosCodigo nchar(6),<br>ProductosDescripcion varchar(100),<br>ProductosPrecio Numeric(9,2),<br>ProductosStock Numeric(9,2),<br>ProductosEstado nchar(1),<br>ProductosFoto Image,<br>constraint ProductosPK primary key (ProductosCodigo)<br>)<br>go<\/p>\n\n\n\n<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n<ins class=\"adsbygoogle\"\n     style=\"display:block; text-align:center;\"\n     data-ad-layout=\"in-article\"\n     data-ad-format=\"fluid\"\n     data-ad-client=\"ca-pub-2636008503986218\"\n     data-ad-slot=\"1902193434\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Insertar los Productos<\/strong><\/h3>\n\n\n\n<p>insert into Productos (ProductosCodigo, ProductosDescripcion,<br>ProductosPrecio, ProductosStock, ProductosEstado, ProductosFoto)<br>select &#8216;T00799&#8217;, &#8216;Teclado&#8217;,85,15,&#8217;A&#8217;, *<br>from OpenRowset(Bulk &#8216;D:\\ProductosImagenes\\Teclado.jpg&#8217;, Single_Blob) As ProductosFoto<br>go<\/p>\n\n\n\n<p>insert into Productos (ProductosCodigo, ProductosDescripcion,<br>ProductosPrecio, ProductosStock, ProductosEstado, ProductosFoto)<br>select &#8216;T00599&#8217;, &#8216;Monitor&#8217;,260,10,&#8217;A&#8217;, *<br>from OpenRowset(Bulk &#8216;D:\\ProductosImagenes\\Monitor.jpg&#8217;, Single_Blob) As ProductosFoto<br>go<\/p>\n\n\n\n<p>insert into Productos (ProductosCodigo, ProductosDescripcion,<br>ProductosPrecio, ProductosStock, ProductosEstado, ProductosFoto)<br>select &#8216;T00777&#8217;, &#8216;Mouse&#8217;,185,25,&#8217;A&#8217;, *<br>from OpenRowset(Bulk &#8216;D:\\ProductosImagenes\\Mouse.jpg&#8217;, Single_Blob) As ProductosFoto<br>go<\/p>\n\n\n\n<p><strong>Ver el listado de Productos<\/strong><br>select * from Productos<br>go<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQL_InsertarImagenesMSM_02-1024x120.png\" alt=\"\" class=\"wp-image-1331\" width=\"833\" height=\"97\" srcset=\"https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQL_InsertarImagenesMSM_02-1024x120.png 1024w, https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQL_InsertarImagenesMSM_02-300x35.png 300w, https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQL_InsertarImagenesMSM_02-768x90.png 768w, https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQL_InsertarImagenesMSM_02.png 1264w\" sizes=\"auto, (max-width: 833px) 100vw, 833px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Uso de la funci\u00f3n OpenRowSet<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Se utiliza la funci\u00f3n OPENROWSET para hacer referencia en la cl\u00e1usula FROM de una consulta como si fuera un nombre de tabla.<\/li><li>Esta funci\u00f3n OPENROWSET puede hacer referencia como la tabla de destino de una INSERT , UPDATE o DELETE<\/li><li>Si la consulta devuelve varios registros, OPENROWSET devuelve s\u00f3lo el primero.<\/li><li>OPENROWSET tambi\u00e9n permite el uso del proveedor BULK incorporado que permite leer los datos de un archivo de imagen y crear el arreglo de bits para almacenarlo en un campo.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Insertar im\u00e1genes en un campo Image desde SQL Server Al crear una tabla, es necesario con regularidad almacenar las im\u00e1genes de los registros, por ejemplo, la imagen de un empleado, la imagen de un producto, la imagen de una intervenci\u00f3n quir\u00fargica, las fotos de un auto siniestrado en un sistema de seguros vehiculares, etc.<\/p><p><a class=\"more-link btn\" href=\"https:\/\/manualsqlserver.com\/?p=627\">Seguir leyendo<\/a><\/p>\n","protected":false},"author":1,"featured_media":1332,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,6,9],"tags":[20,28,34,37,46,57],"class_list":["post-627","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-esquemastablas","category-funcionessql","category-registros-vistas","tag-create-table","tag-esquemas","tag-image","tag-insert","tag-particion","tag-tablas","nodate","item-wrap"],"_links":{"self":[{"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/posts\/627","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=627"}],"version-history":[{"count":1,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/posts\/627\/revisions"}],"predecessor-version":[{"id":1334,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/posts\/627\/revisions\/1334"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/media\/1332"}],"wp:attachment":[{"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=627"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=627"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=627"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}