... si das comida a los vagabundos te arrestan
... los ricos tienen mucha plata y los pobres... pues casi no hay pobres... y el que es pobre es porque es "cool"
... sales a comprar una cerveza y siempre te la venden en una bolsita de papel
... la gente te saluda y te responde de memoria
... todos están apurados y los que no, son jubilados
... puedes andar con tu cartuchera llena de balas, tus pistolas o tus armas semiautomáticas... pero no puedes comprar una lata de cerveza en un supermercado
... hay lugares donde puedes andar desnudo sin problema y hay otros en los cuales te arrestan si se ve solo una parte de tu ropa interior
... es bien difícil con encontrar cuadernos con hojas cuadriculadas... enchufes redondos... hamburguesas sin grasa... caminos sin asfalto
... la comida que sobra en un restaurante se la tira y la ropa que no se vende se la corta y también se la tira
... no encuentras una bar abierto a las 2 de la madrugada
... dos mujeres de cabeza blanca con mas de 70 años festejan porque por fin pudieron cumplir el sueño de casarse
... hay gente que nunca he visto y que me saluda como si me conociera de toda la vida... y hay otros que veo todos los días que ni siquiera me miran
... la mayoria de los colectivos andan casi vacíos y solo pasan cada dos horas... llevando latinos, negros y viejitos
... los taxistas son hindúes... árabes... o algo así...
... hay una ciudad que se llama Nueva York y se parece en todo y en nada al resto de las demás ciudades
... es normal que los jóvenes se den un 'jale'
... hay muchos bilingües y trilingües, pero los gringos, ellos hablan un solo idioma
... esta prohibido que el profesor rece con sus alumnos
... la comida típica es la china, la mejicana, la hindú... y la comida basura por supuesto
... si quieres divertirte a veces tienes que viajar a otro estado
... hay leyes tan chistosas como esa que dice que si te suicidas te dan 20 años de cárcel
... te topas con cartelitos que dicen "prohibido el ingreso con armas"
... hay bancos en los que si abres una cuenta te regalan un rifle como regalo de bienvenida
... juegan al 'football' pero la pelota es ovalada y se la transporta con las manos
... puedes hacer lo que quieres y lo que no quieres... es la tierra de las oportunidades y no hay quien diga lo contrario...
___________________
Esta es una lista de cosas y detalles que he observado en mi estadía en los Estados Unidos. Tengo una amiga en cuyo blog ha recopilado una lista similar aunque muchísimo mas interesante y divertida. Si la quieren leer pueden hacerlo click acá.
.
Tuesday, January 12, 2010
Década Perdida
Se conocieron en La Tirana1. Y esa noche, como otras tantas, la cerveza y varios otros licores ingeridos conspiraron para que ellos pasen de bailar separados, mirando desatentamente el techo, a acercarse agitados por el calor y los efectos típicos que provocan en las mentes y sentidos el consumo trémulo de bebidas.
Rodeados por el bullicio de la gente y el sonido estridente de una canción de "Jade" terminaron por conjurar su encuentro, y esas dos personas que hasta hace treinta minutos no eran más que dos desconocidos totales, ahora, al mirarlos, parecían ser hasta el "uno para el otro".
Se besaron esa noche sin cesar, sumergidos en un torbellino de emociones que fluían sin pausa, y aunque el encuentro no pasó de eso, significó el comienzo de algo que los ligaría por casi diez años de sus vidas. No importaron las miradas de las otras tantas gentes que saturaban el lugar, asombradas ante el encuentro inefable y procaz de los dos. Ese beso irreverente que se dieron duró hasta que el sol se acercó a acariciar la tierra -al despunte del nuevo día-
Así, con los albores del amanecer en ciernes, vino el clásico y necesario intercambio de teléfonos y datos, diríamos biográficos, que aunque a veces suelen presentar sorpresas, en general mucho no cambian el núcleo generador de la energía que une a las personas, ese disparador fundamental para el inicio de las relaciones humanas.
Para ambos este encuentro significó el comienzo de una historia que no los dejaría en paz por mucho tiempo, aunque por diferentes razones, distintos sentires y trayectos.
Ella se enamoro y nunca pero nunca más pudo olvidar como la barba de el le raspaba el rostro mientras se besaban. Eso la marcó de por vida.
El tiempo pasó. Ella hizo todos los intentos posibles e imaginables para decantar su amor en algo más que una quimera, pero luego de casi diez años de insistir y de no volver a salir con otro, terminó por convencerse de que para el había sido solo un 'prende'. Luego, en un último esfuerzo, por acercarse a él de nuevo, quiso también hacer lo imposible y hasta lo inimaginable pero se dio cuenta que tambien ya había intentado todo eso.
Tantos años de devoción a ese amor soñado e ideal que nunca paso de ser eso, algo ideal y soñado.
Él de igual manera, después de todo ese tiempo, se convenció que habría sido mejor decirle las cosas claras y directas. Así ella ya no habría alimentado las ilusiones de ese amor eternamente. Así ella ya no habría insistido y mortificado su vida enviandole decenas de mensajes SMS sin parar. Y ella talvez también habría dejado de pararse en la puerta de su casa para verlo llegar, cosa que nunca sucedería porque él solo se hacia negar cuando tocaba su timbre.
Ella entendió después de ese tiempo que su insistencia y tenacidad a lo largo del tiempo no sirvieron de nada. La larga espera no surtió efecto.
El comprendió que si habría sido sincero, se habría ahorrado diez años de evasivas y de encuentros inesperados en los lugares menos pensados, en los que ella siempre se las ingeniaba para aparecer.
Pasaron diez años para que ambos se convencieran que habría sido mejor citarse a la semana de conocerse y decirse sinceramente las cosas a la cara.
"Solo fuiste una aventura, se que tu te enamoraste de mi, pero es mejor que no insistas, para mi fue solo eso, un 'prende' en una noche de primavera."
Y así, lo que bien pudo ser el comienzo de una historia de amor incomparable, inspiradora de novelas, poemas y guiones de cine, no fue nada más ni nada menos que una simple y burda aventura de amor, de esas que suceden cotidianamente por ahí, en todo lados, que son tan silvestres y comunes que, podría decirles, una así esta por empezar en este preciso momento en algun lugar de la ciudad...
_____________________
Este relato fue escrito en una noche de insomnio en Agosto del 2009 y esta inspirado en hechos reales...
1 La Tirana; centro de esparcimiento y diversión ubicado en la calle Lanza casi Ramón Rivero, es uno de los clásicos paraderos entre los boliches que conforman el circuito de la vida nocturna de Cochabamba, Bolivia. Los nombres de las personas han sido omitidos por razones obvias.
.
Rodeados por el bullicio de la gente y el sonido estridente de una canción de "Jade" terminaron por conjurar su encuentro, y esas dos personas que hasta hace treinta minutos no eran más que dos desconocidos totales, ahora, al mirarlos, parecían ser hasta el "uno para el otro".
Se besaron esa noche sin cesar, sumergidos en un torbellino de emociones que fluían sin pausa, y aunque el encuentro no pasó de eso, significó el comienzo de algo que los ligaría por casi diez años de sus vidas. No importaron las miradas de las otras tantas gentes que saturaban el lugar, asombradas ante el encuentro inefable y procaz de los dos. Ese beso irreverente que se dieron duró hasta que el sol se acercó a acariciar la tierra -al despunte del nuevo día-
Así, con los albores del amanecer en ciernes, vino el clásico y necesario intercambio de teléfonos y datos, diríamos biográficos, que aunque a veces suelen presentar sorpresas, en general mucho no cambian el núcleo generador de la energía que une a las personas, ese disparador fundamental para el inicio de las relaciones humanas.
Para ambos este encuentro significó el comienzo de una historia que no los dejaría en paz por mucho tiempo, aunque por diferentes razones, distintos sentires y trayectos.
Ella se enamoro y nunca pero nunca más pudo olvidar como la barba de el le raspaba el rostro mientras se besaban. Eso la marcó de por vida.
El tiempo pasó. Ella hizo todos los intentos posibles e imaginables para decantar su amor en algo más que una quimera, pero luego de casi diez años de insistir y de no volver a salir con otro, terminó por convencerse de que para el había sido solo un 'prende'. Luego, en un último esfuerzo, por acercarse a él de nuevo, quiso también hacer lo imposible y hasta lo inimaginable pero se dio cuenta que tambien ya había intentado todo eso.
Tantos años de devoción a ese amor soñado e ideal que nunca paso de ser eso, algo ideal y soñado.
Él de igual manera, después de todo ese tiempo, se convenció que habría sido mejor decirle las cosas claras y directas. Así ella ya no habría alimentado las ilusiones de ese amor eternamente. Así ella ya no habría insistido y mortificado su vida enviandole decenas de mensajes SMS sin parar. Y ella talvez también habría dejado de pararse en la puerta de su casa para verlo llegar, cosa que nunca sucedería porque él solo se hacia negar cuando tocaba su timbre.
Ella entendió después de ese tiempo que su insistencia y tenacidad a lo largo del tiempo no sirvieron de nada. La larga espera no surtió efecto.
El comprendió que si habría sido sincero, se habría ahorrado diez años de evasivas y de encuentros inesperados en los lugares menos pensados, en los que ella siempre se las ingeniaba para aparecer.
Pasaron diez años para que ambos se convencieran que habría sido mejor citarse a la semana de conocerse y decirse sinceramente las cosas a la cara.
"Solo fuiste una aventura, se que tu te enamoraste de mi, pero es mejor que no insistas, para mi fue solo eso, un 'prende' en una noche de primavera."
Y así, lo que bien pudo ser el comienzo de una historia de amor incomparable, inspiradora de novelas, poemas y guiones de cine, no fue nada más ni nada menos que una simple y burda aventura de amor, de esas que suceden cotidianamente por ahí, en todo lados, que son tan silvestres y comunes que, podría decirles, una así esta por empezar en este preciso momento en algun lugar de la ciudad...
_____________________
Este relato fue escrito en una noche de insomnio en Agosto del 2009 y esta inspirado en hechos reales...
1 La Tirana; centro de esparcimiento y diversión ubicado en la calle Lanza casi Ramón Rivero, es uno de los clásicos paraderos entre los boliches que conforman el circuito de la vida nocturna de Cochabamba, Bolivia. Los nombres de las personas han sido omitidos por razones obvias.
.
Monday, November 16, 2009
Especie
Sin querer la ví llegar
Su vibrante luz encarnará en mi ilusión
Es la especie que nos une
Un salto mortal para que la vida continúe
En muchas sumas de placer
Y que dure lo que dure lo real
Que dure lo que dure la ficción
¿Es que acaso te sorprende que sea así por siempre?
Hoy la tarde está increíble
Y quiero embellecerte más aún
(G. Cerati)
Descarga el mp3 acá
.
Su vibrante luz encarnará en mi ilusión
Es la especie que nos une
Un salto mortal para que la vida continúe
En muchas sumas de placer
Y que dure lo que dure lo real
Que dure lo que dure la ficción
¿Es que acaso te sorprende que sea así por siempre?
Hoy la tarde está increíble
Y quiero embellecerte más aún
(G. Cerati)
Descarga el mp3 acá
.
Monday, June 1, 2009
City of Angels [O la definición de la vida]
No se si vieron la película "City of Angels", que en español ha sido titulada "Un Angel Enamorado" -título un tanto cursi, como usualmente pasa en la traducción del nombre de películas al español- ¿Porque será que el idioma ingles no tiene esa connotación absurda o cursi como si lo tiene el español? ¿Será que lo veo así porque mi lengua materna es justamente el castellano? Bueno, como sea que fuera, si no han podido ver esta película, háganlo, sáquenla de algún 'video club' o de última compren el DVD que seguro estará en un 'puestito' de alguna calle de nuestras ciudades.
Esta película es, en pocas palabras, un resumen de lo que representa la vida. Y más allá de si la película les llega a gustar o no, el mensaje de la misma define o sintetiza el significado la vida.
No voy a contarles o darles detalles de lo que pasa en el 'film' pero les diré brevemente que el argumento trata de un ángel que baja a la tierra y se hace humano debido a que se enamora de una mujer.
Como siempre los seres humanos -y en este caso particular los varones- haciendo cosas locas y cuerdas, racionales y absurdas por el amor de una mujer. Siempre digo que no es tanto por amor que uno hace estas cosas, porque el amor verdadero es mas profundo y no nos lleva a cometer semejantes actos de locura. Porque mas que el amor, es la pasión, el enamoramiento o el deseo -ese simple y común deseo-, que nos lleva a cometer semejantes actos 'bárbaros', como convertirnos en homicidas, por darles un ejemplo talvez extremo pero no irreal.
Bueno, ya me aparte un poco del tema central de este artículo, en el cual deseo resaltar el mensaje que subyace en el argumento de la película 'City of Angels', cuya trama define la vida como "una sucesión de perdidas que sufren los seres humanos" y es bueno notar que estas pérdidas surgen, a veces, de una decisión X que tomamos, sea buena o mala.
En la película, al ángel, el protagonista central, le pasa eso justamente, toma decisiones irreversibles, como muchos de nosotros lo hemos hecho o lo haremos pronto y esas decisiones tienen un desenlace totalmente inesperado.
He acuñado la frase que dice; "el amor mas que un sentimiento, es una decisión". Y es así, al final de todo, si uno no toma decisiones por una determinada persona u objetivo que tiene es que uno no ama o no desea ese algo de verdad.
Así, con el deseo de cumplir muchos de nuestros objetivos, tomamos decisiones, como viajar o de cambiarnos de trabajo. Y otras veces decidimos, a veces sin darnos cuenta, de darle más importancia al dinero o a otras cosas materiales. Y en otras circunstancias, a veces nos sumergimos en las dificultades de la vida y nos olvidamos de tomar decisiones y nos convertimos en una especie de cáscaras de nuez a merced de las olas del mar.
Y de pronto suceden las cosas, vienen los acontecimientos, perdemos amigos, familiares, amores, el hijo que se va a estudiar, perdemos dinero, renunciamos a un trabajo, la salud se deteriora, etc. Y esos acontecimientos a veces nos pasan por encima, no podemos manejarlos.
En base a todas estas perdidas que sufrimos en la vida, en torno a esas ausencias que se crean o aparecen, crecemos y aprendemos la formula para seguir adelante, hallamos maneras porque debemos seguir viviendo, como dice esa frase común, "la vida sigue..."
'City of Angels' fue una película que no tuvo mucha trascendencia y estoy seguro que muchos de nosotros hemos debido pensar que era una burda o cursi película de amor que no valía la pena ver. Y así muchos habrán preferido ir a ver una 'peliculita' de las soporíferas como las del mago Harry o de las trilladas y predecibles como la de la cofradía de Jedi y Yoda.
Pero no es así, esta película aporta mucho a los que la ven despojados de clichés y de prejuicios, porque trata del tema por el cual todos hemos o iremos a pasar, el hecho de sufrir perdidas de todo tipo, de personas que uno ama, de familiares que se van, de lugares que de un día para el otro no están mas y perdidas de otro tipo como de la salud, de la energía para hacer las cosas, de la juventud, de la identidad y como no también, perdidas de cosas materiales -talvez igual de importantes que las anteriores-, dinero, trabajo u otros objetos que uno les da determinada importancia. Resultando siempre que luego, a pesar de todas esas pérdidas, la vida sigue y tenemos que darnos modos para seguir adelante.
Esta película me ayudo a entender, y más que nada me facilito el proceso de reflexión, para comprender un poco mejor que es la vida. Porque no es solamente cosa de ir, ver la película, y salir como iluminados de la sala, sabiendo y entendiendo de un rato a otro todo sobre la vida. Aprender y entender que es la vida no es cosa de días o semanas. Es un proceso que lleva años, y sinceramente creo que no termina nunca, se llega a un punto en el cual uno realmente sabe mucho, pero todos conocemos la dura y cruda realidad que cuando mas sabemos mas nos damos cuenta que en realidad no sabemos nada de nada...
⌐⌐⌐
Esta película es, en pocas palabras, un resumen de lo que representa la vida. Y más allá de si la película les llega a gustar o no, el mensaje de la misma define o sintetiza el significado la vida.
No voy a contarles o darles detalles de lo que pasa en el 'film' pero les diré brevemente que el argumento trata de un ángel que baja a la tierra y se hace humano debido a que se enamora de una mujer.
Como siempre los seres humanos -y en este caso particular los varones- haciendo cosas locas y cuerdas, racionales y absurdas por el amor de una mujer. Siempre digo que no es tanto por amor que uno hace estas cosas, porque el amor verdadero es mas profundo y no nos lleva a cometer semejantes actos de locura. Porque mas que el amor, es la pasión, el enamoramiento o el deseo -ese simple y común deseo-, que nos lleva a cometer semejantes actos 'bárbaros', como convertirnos en homicidas, por darles un ejemplo talvez extremo pero no irreal.
Bueno, ya me aparte un poco del tema central de este artículo, en el cual deseo resaltar el mensaje que subyace en el argumento de la película 'City of Angels', cuya trama define la vida como "una sucesión de perdidas que sufren los seres humanos" y es bueno notar que estas pérdidas surgen, a veces, de una decisión X que tomamos, sea buena o mala.
En la película, al ángel, el protagonista central, le pasa eso justamente, toma decisiones irreversibles, como muchos de nosotros lo hemos hecho o lo haremos pronto y esas decisiones tienen un desenlace totalmente inesperado.
He acuñado la frase que dice; "el amor mas que un sentimiento, es una decisión". Y es así, al final de todo, si uno no toma decisiones por una determinada persona u objetivo que tiene es que uno no ama o no desea ese algo de verdad.
Así, con el deseo de cumplir muchos de nuestros objetivos, tomamos decisiones, como viajar o de cambiarnos de trabajo. Y otras veces decidimos, a veces sin darnos cuenta, de darle más importancia al dinero o a otras cosas materiales. Y en otras circunstancias, a veces nos sumergimos en las dificultades de la vida y nos olvidamos de tomar decisiones y nos convertimos en una especie de cáscaras de nuez a merced de las olas del mar.
Y de pronto suceden las cosas, vienen los acontecimientos, perdemos amigos, familiares, amores, el hijo que se va a estudiar, perdemos dinero, renunciamos a un trabajo, la salud se deteriora, etc. Y esos acontecimientos a veces nos pasan por encima, no podemos manejarlos.
En base a todas estas perdidas que sufrimos en la vida, en torno a esas ausencias que se crean o aparecen, crecemos y aprendemos la formula para seguir adelante, hallamos maneras porque debemos seguir viviendo, como dice esa frase común, "la vida sigue..."
'City of Angels' fue una película que no tuvo mucha trascendencia y estoy seguro que muchos de nosotros hemos debido pensar que era una burda o cursi película de amor que no valía la pena ver. Y así muchos habrán preferido ir a ver una 'peliculita' de las soporíferas como las del mago Harry o de las trilladas y predecibles como la de la cofradía de Jedi y Yoda.
Pero no es así, esta película aporta mucho a los que la ven despojados de clichés y de prejuicios, porque trata del tema por el cual todos hemos o iremos a pasar, el hecho de sufrir perdidas de todo tipo, de personas que uno ama, de familiares que se van, de lugares que de un día para el otro no están mas y perdidas de otro tipo como de la salud, de la energía para hacer las cosas, de la juventud, de la identidad y como no también, perdidas de cosas materiales -talvez igual de importantes que las anteriores-, dinero, trabajo u otros objetos que uno les da determinada importancia. Resultando siempre que luego, a pesar de todas esas pérdidas, la vida sigue y tenemos que darnos modos para seguir adelante.
Esta película me ayudo a entender, y más que nada me facilito el proceso de reflexión, para comprender un poco mejor que es la vida. Porque no es solamente cosa de ir, ver la película, y salir como iluminados de la sala, sabiendo y entendiendo de un rato a otro todo sobre la vida. Aprender y entender que es la vida no es cosa de días o semanas. Es un proceso que lleva años, y sinceramente creo que no termina nunca, se llega a un punto en el cual uno realmente sabe mucho, pero todos conocemos la dura y cruda realidad que cuando mas sabemos mas nos damos cuenta que en realidad no sabemos nada de nada...
⌐⌐⌐
Sunday, May 10, 2009
Similarities between Mark Zuckerberg and Bill Gates
Almost everyone in the IT world knows Mark Zuckerberg and/or Bill Gates (if you don't know at least B. Gates then maybe you should look for some professional health assistance)
I was reading some articles about the history of Facebook and have found several similarities between Gates and Zuckerberg. And somehow it's a little bit surprising that these two characters have many things in common. Here is a list of things which they share:
If you find more things in common between those two people, you can drop me a comment below.
Finally some funny -and maybe not well known- pictures of them...














- Bill and Mark are a couple of very proficient software coders.
- Both are billionaires.
- Gates built a new platform (actually, two, if you count DOS and Windows) and Zuckerberg aims to create one now.
- Both have stolen ideas for software applications or developments from others.
- Mark -like Bill- left Harvard University before finishing their curricula on 'student on leave' modality. And they both made it this way because in case of failure they had the chance to get back on track with their studies.
- Bill and Mark have nerd profiles.
- Both are not precisely handsome.
- Mark and Bill have been facing copyright issues and legal disputes.
- Both started companies at a very young age.
- The applications or software they built changed the IT world.
- They are both identified as jerks in respect to their social life.
- Both paid large sums of money to end lawsuits.
- These individuals are of the type "love 'em or hate 'em".
- The two of them are quite intelligent and finished school with honors.
- Both skipped classes at the university to work on their personal projects and later, to catch up with the rest of their classmates, had to do some 'intensive burst study' sessions.
- Bill and Mark are famous amongst public opinion for being egoists, ruthless, opportunists, thiefs and devious. Also are suspect of using shrewdly predatory and unethical tactics against their counterparts.
- Mark created the initial Facebook application to get laid with woman. Bill delivered himself a MAC application to hook up with a woman (did you read well? a MAC program!!) and at high school created a program to schedule students in classes, after that he modified the code so that he was placed in classes with mostly female students. -Is it true that old adage that says that everything men do is to hook up woman?-
- Both were very lucky at some point of their business. A certain number of circumstances played to their favor.
- Both men come from upper-middle class families.
- Microsoft invested 240 million of dollars on Facebook, making Zuckerberg and Gates business partners at some point of time.
- Both of them wrote their first computer programs while attending high school.
- The two of them scored an almost perfect score on the SAT.
If you find more things in common between those two people, you can drop me a comment below.
Finally some funny -and maybe not well known- pictures of them...













Saturday, April 18, 2009
18 Meses
El pasado 17 de Abril de 2009 se cumplieron exactamente 18 meses que llegue a los Estados Unidos; y a través de este articulo quiero contar algunas experiencias vividas acá en los distintos proyectos que me asignaron en la empresa que trabajo, llamada UST Global.
El objetivo de este artículo no es contar con lujo de detalle en que consistía el trabajo o proyecto en el que participé, sino compartir alguna información de los mismos y también determinadas experiencias que viví a lo largo de cada asignación y recordar a las personas con las que compartí. No me voy a extender en todos los detalles porque de hecho he tenido muchísimas anécdotas (como cuando no pude encender el auto de alquiler al poco rato de llegar a California).
Llegué a los Estados Unidos, en concreto a la ciudad de Los Angeles, California, el 17 de Octubre de 2007 y luego de estar unas semanas en la sede de la empresa ubicada una hora al sur de Los Angeles, en una pequeña ciudad llamada Aliso Viejo, fui asignado a mi primer proyecto cerca de Seattle, en el estado de Washington.
Antes de desglosar un poco mis experiencias deseo resaltar que en el compromiso de sacar cada proyecto adelante se suele envolver alma y vida, y así de alguna manera en cada proyecto se deja una parte del corazón pues hay días en que se vive mas en la oficina que en la casa y uno pasa mas tiempo con sus compañeros de trabajo que con la familia misma, aunque en este caso debo aclararles que mi vida y experiencias acá son en solitario. Por esto es que considero que el trabajo -al menos en mi caso- no es un hecho apartado totalmente de la vida, de las emociones y de los sentimientos diarios.
HealthStore - Bellevue, Washington
El primer proyecto luego del desembarco en playas gringas fue en HealthStore.com, una empresa similar a Amazon.com que se especializa en ventas al por menor, 'retail sales', a través de su sitio en Internet. El proyecto se llevo a cabo en la sede principal de la empresa localizada en Bellevue, Washington.
Recuerdo que llegue al trabajo un 14 de Diciembre de 2007, en un día sumamente lluvioso; Bellevue queda a 15 minutos de Seattle, una ciudad famosa porque llueve mucho, así que justo me toco uno de esos días nublados y con mucha agua cayendo desde el cielo. Recuerdo que deje el auto en una de las calles aledañas a mi oficina y en mi memoria están muchos detalles de ese día. Como el auto que alquilé, un Ford Focus color rojo y también que ese día llegue al hotel muy temprano y como no tenían ninguna habitación lista tuve que irme al trabajo con todo el equipaje en el maletero. También recuerdo que fue difícil encontrar parqueo por lo que deje el auto en una calle donde el tiempo máximo de estacionamiento era de 2 horas.
Obviamente, al ser mi primer trabajo en una empresa de los Estados Unidos, sentía una emoción especial, nervios por entrar a un mundo totalmente desconocido.
En este proyecto comencé como 'Business Analyst' y luego termine en el rol de DBA porque la persona que estaba en ese puesto tuvo que irse a la India a mitad del desarrollo del sistema.
En este proyecto recuerdo a muchas personas, pero de forma especial a Jackeline Jordan, la directora y responsable del proyecto por parte de HealthStore.com. Si vieron la película "El diablo viste Prada" recordaran a Meryl Streep en el papel de Miranda, la jefa malvada. Jackeline tenía un parecido asombroso con Miranda no solo apariencia física sino también en la actitud.
También recuerdo efusivamente a Christopher Chambers, el personaje bonachón y gerente de proyecto por parte de mi empresa, siempre elegante usando todo tipo de sombreros y traje formal de 3 piezas. Un hombre mayor de personalidad rebelde y bastante mal hablado, quien supo tirar de las cuerdas y dar con el látigo para guiar el proyecto hasta el éxito. Cuando me uní al proyecto, este llevaba ya más de 6 meses de retraso, motivo por el cual tuvimos que trabajar 12 o 14 horas diarias, en cierto momento del mismo.
También recuerdo a Sarbendu y Pratheep, dos 'developers' hindúes con quienes hice un poco de amistad y fue con ellos que hice varias travesías en auto para visitar lugares hermosos de Washington, como el monte Rainier.
Este fue el proyecto mas duro en que me toco trabajar en los 18 meses, y finalizó a comienzos de Junio de 2008, fue un proyecto realmente intenso y terminarlo nos produjo un sentimiento de liberación inmenso. Fue tal el esfuerzo realizado que luego de la finalización del mismo, a muchos de los que fuimos parte, nos toco días volver a retomar nuestra rutina normal. Teníamos desordenados nuestros horarios de comida y de sueño, porque muchas veces llegábamos a casa, a descansar, después de la media noche.
MotorParts Corporation - Maumee, Ohio
Recuerdo que llegue a este proyecto unos días antes del 4 de Julio del 2008. Había sido asignado a un proyecto interno para mi empresa, en el sur de California, donde esta la sede de mi empresa -la ciudad se llama Aliso Viejo-, para trabajar por 3 semanas en el desarrollo de unos Data Marts con herramientas MS SQL. La cosa es que a la semana de estar trabajando en eso, surgió un requerimiento urgente de parte de MotorParts Corp., una empresa del sector automotriz que fabrica partes para el ensamblaje de automóviles, por este motivo es que tuve que partir antes de las 3 semanas previstas de trabajo.
MotorParts Corp. es una empresa grande, con sucursales en todo el mundo, y me toco trabajar a la sede del departamento de Tecnología de Información ubicado en Maumee, Ohio (localidad muy pequeña y tranquila que esta ubicada en la frontera con Canadá, mas o menos cerca de Chicago y de los 'Finger Lakes'). La ciudad más cercana y conocida se llama Toledo, que se ubica a 15 minutos en auto.
Recuerdo que el día que llegue al proyecto, el avión aterrizó en el aeropuerto de Detroit, ubicado a una hora del hotel donde tenia la reserva. Mi llegada fue pasada la media noche, así que una vez alquilado tuve que viajar una hora en auto hasta el hotel. Nunca olvidare que por no tener un mapa apropiado me perdí por más de 2 horas tratando de encontrar el hotel, hecho por el cual estaba entrando a dormir a eso de las 5 de la madrugada, teniendo que estar presente en la oficina a las 9 de la mañana.
En este proyecto trabaje con personas bastante peculiares, como Amandeep Sidhu, el director de la cuenta, un personaje con una apariencia de película; un hindú que vestía turbante y que no se lo sacaba, aparentemente, ni para entrar a la ducha, Aman, como le decíamos era siempre apegado a las reglas, a la letra muerta como se dice comúnmente.
También recuerdo a Tim Williams, Cindy Seifert y otras personas del lado del cliente, responsables del proyecto por parte de MotorParts Corp. En el lado de mi empresa el responsable se llamaba Pasha Qureshi y si recuerdan a Ben Kingsley el actor de la película Ghandi, tendrá una idea cabal de la apariencia de esta persona; con quien tuve algunos roces al comienzo. Esto se debió mas que nada a que los hindúes tienen una forma de ser un poco ruda y directa y por este motivo es que tuvimos algunos encuentros verbales mas que nada para rayar la cancha, al comienzo del desarrollo.
Este proyecto continúo hasta fin de 2008, pero por planes personales, -que no salieron con éxito- una vez que termine satisfactoriamente los módulos que tenía asignados, decidí viajar a Cochabamba, Bolivia, siendo mi último día de trabajo el viernes 7 de Noviembre de 2008.
Medical Trust Incorporated - Nashville, Tennessee
Mi 3ra asignación en los Estados Unidos fue en Medical Trust Inc., una empresa del sector de seguros médicos, que realiza el control y gestión de las operaciones de seguros entre pacientes, proveedores de seguros médicos y empresas prestadoras de servicios médicos (clínicas, hospitales, etc.)
Estando en Cochabamba en Noviembre de 2008, tuve que adelantar el final de las vacaciones, como les dije antes, luego del fracaso de lo planeado en esa ciudad, aceptando una asignación a un nuevo proyecto, motivo por el cuál regrese a Estados Unidos el 1ro de Diciembre, presentandome en las oficinas de Medical Trust Inc., ubicadas en Nashville, Tennessee, para comenzar con mis nuevas asignaciones.
En este proyecto recuerdo a personas como Steve Wehofer y Elise Cambournac -una francesa cuyo acento al hablar ingles era único y particular- quienes eran los responsables del proyecto para Medical Trust Inc. Por el lado de mi empresa estaban como responsables Malcolm Florea y David Vanrhee, dos personas oriundas de Minnesota, uno de los estados más fríos de este país.
Debo ser sincero y contarles que este fue el proyecto más tedioso en el que me toco participar que consistía en desarrollar procedimientos almacenados en Oracle PL/SQL para implementar la funcionalidad del sistema.
La 1ra fase de este proyecto terminó el viernes 3 de Abril de 2009 y por suerte, como no se presentaron más requerimientos en PL/SQL, termino mi participación en el mismo. Digo por suerte porque verdaderamente la motivación que tenía para este proyecto no era de las mejores. Las razones son estrictamente técnicas, y como no es mi intencion tocar temas del trabajo en mucho detalle, prefiero omitir estas consideraciones.
____________________
He querido poner algunos detalles de lo que he hecho en estos últimos 18 meses acá en Estados Unidos, pueden ver los lugares en los que viví en el gráfico adjunto.

Todavía no se que me depara el futuro, aparentemente estaré viajando a California para un proyecto interno de la empresa, pero también se ha presentado otra posibilidad de trabajo en una empresa del sector Financiero en Kansas City.
Imagino que en 18 meses mas crearé otro artículo similar en este blog, contando mis nuevas experiencias, si es que realmente tengo el coraje de permanecer en este país 18 meses mas, porque aunque no lo crean la vida aca no es como muchos de ustedes se la piensan, Estados Unidos puede ser muchas cosas pero estoy casi seguro que se parece poco a la imagen que muchos bolivianos se han formado de el...
⌐⌐⌐
El objetivo de este artículo no es contar con lujo de detalle en que consistía el trabajo o proyecto en el que participé, sino compartir alguna información de los mismos y también determinadas experiencias que viví a lo largo de cada asignación y recordar a las personas con las que compartí. No me voy a extender en todos los detalles porque de hecho he tenido muchísimas anécdotas (como cuando no pude encender el auto de alquiler al poco rato de llegar a California).
Llegué a los Estados Unidos, en concreto a la ciudad de Los Angeles, California, el 17 de Octubre de 2007 y luego de estar unas semanas en la sede de la empresa ubicada una hora al sur de Los Angeles, en una pequeña ciudad llamada Aliso Viejo, fui asignado a mi primer proyecto cerca de Seattle, en el estado de Washington.
Antes de desglosar un poco mis experiencias deseo resaltar que en el compromiso de sacar cada proyecto adelante se suele envolver alma y vida, y así de alguna manera en cada proyecto se deja una parte del corazón pues hay días en que se vive mas en la oficina que en la casa y uno pasa mas tiempo con sus compañeros de trabajo que con la familia misma, aunque en este caso debo aclararles que mi vida y experiencias acá son en solitario. Por esto es que considero que el trabajo -al menos en mi caso- no es un hecho apartado totalmente de la vida, de las emociones y de los sentimientos diarios.
HealthStore - Bellevue, Washington
El primer proyecto luego del desembarco en playas gringas fue en HealthStore.com, una empresa similar a Amazon.com que se especializa en ventas al por menor, 'retail sales', a través de su sitio en Internet. El proyecto se llevo a cabo en la sede principal de la empresa localizada en Bellevue, Washington.
Recuerdo que llegue al trabajo un 14 de Diciembre de 2007, en un día sumamente lluvioso; Bellevue queda a 15 minutos de Seattle, una ciudad famosa porque llueve mucho, así que justo me toco uno de esos días nublados y con mucha agua cayendo desde el cielo. Recuerdo que deje el auto en una de las calles aledañas a mi oficina y en mi memoria están muchos detalles de ese día. Como el auto que alquilé, un Ford Focus color rojo y también que ese día llegue al hotel muy temprano y como no tenían ninguna habitación lista tuve que irme al trabajo con todo el equipaje en el maletero. También recuerdo que fue difícil encontrar parqueo por lo que deje el auto en una calle donde el tiempo máximo de estacionamiento era de 2 horas.
Obviamente, al ser mi primer trabajo en una empresa de los Estados Unidos, sentía una emoción especial, nervios por entrar a un mundo totalmente desconocido.
En este proyecto comencé como 'Business Analyst' y luego termine en el rol de DBA porque la persona que estaba en ese puesto tuvo que irse a la India a mitad del desarrollo del sistema.
En este proyecto recuerdo a muchas personas, pero de forma especial a Jackeline Jordan, la directora y responsable del proyecto por parte de HealthStore.com. Si vieron la película "El diablo viste Prada" recordaran a Meryl Streep en el papel de Miranda, la jefa malvada. Jackeline tenía un parecido asombroso con Miranda no solo apariencia física sino también en la actitud.
También recuerdo efusivamente a Christopher Chambers, el personaje bonachón y gerente de proyecto por parte de mi empresa, siempre elegante usando todo tipo de sombreros y traje formal de 3 piezas. Un hombre mayor de personalidad rebelde y bastante mal hablado, quien supo tirar de las cuerdas y dar con el látigo para guiar el proyecto hasta el éxito. Cuando me uní al proyecto, este llevaba ya más de 6 meses de retraso, motivo por el cual tuvimos que trabajar 12 o 14 horas diarias, en cierto momento del mismo.
También recuerdo a Sarbendu y Pratheep, dos 'developers' hindúes con quienes hice un poco de amistad y fue con ellos que hice varias travesías en auto para visitar lugares hermosos de Washington, como el monte Rainier.
Este fue el proyecto mas duro en que me toco trabajar en los 18 meses, y finalizó a comienzos de Junio de 2008, fue un proyecto realmente intenso y terminarlo nos produjo un sentimiento de liberación inmenso. Fue tal el esfuerzo realizado que luego de la finalización del mismo, a muchos de los que fuimos parte, nos toco días volver a retomar nuestra rutina normal. Teníamos desordenados nuestros horarios de comida y de sueño, porque muchas veces llegábamos a casa, a descansar, después de la media noche.
MotorParts Corporation - Maumee, Ohio
Recuerdo que llegue a este proyecto unos días antes del 4 de Julio del 2008. Había sido asignado a un proyecto interno para mi empresa, en el sur de California, donde esta la sede de mi empresa -la ciudad se llama Aliso Viejo-, para trabajar por 3 semanas en el desarrollo de unos Data Marts con herramientas MS SQL. La cosa es que a la semana de estar trabajando en eso, surgió un requerimiento urgente de parte de MotorParts Corp., una empresa del sector automotriz que fabrica partes para el ensamblaje de automóviles, por este motivo es que tuve que partir antes de las 3 semanas previstas de trabajo.
MotorParts Corp. es una empresa grande, con sucursales en todo el mundo, y me toco trabajar a la sede del departamento de Tecnología de Información ubicado en Maumee, Ohio (localidad muy pequeña y tranquila que esta ubicada en la frontera con Canadá, mas o menos cerca de Chicago y de los 'Finger Lakes'). La ciudad más cercana y conocida se llama Toledo, que se ubica a 15 minutos en auto.
Recuerdo que el día que llegue al proyecto, el avión aterrizó en el aeropuerto de Detroit, ubicado a una hora del hotel donde tenia la reserva. Mi llegada fue pasada la media noche, así que una vez alquilado tuve que viajar una hora en auto hasta el hotel. Nunca olvidare que por no tener un mapa apropiado me perdí por más de 2 horas tratando de encontrar el hotel, hecho por el cual estaba entrando a dormir a eso de las 5 de la madrugada, teniendo que estar presente en la oficina a las 9 de la mañana.
En este proyecto trabaje con personas bastante peculiares, como Amandeep Sidhu, el director de la cuenta, un personaje con una apariencia de película; un hindú que vestía turbante y que no se lo sacaba, aparentemente, ni para entrar a la ducha, Aman, como le decíamos era siempre apegado a las reglas, a la letra muerta como se dice comúnmente.
También recuerdo a Tim Williams, Cindy Seifert y otras personas del lado del cliente, responsables del proyecto por parte de MotorParts Corp. En el lado de mi empresa el responsable se llamaba Pasha Qureshi y si recuerdan a Ben Kingsley el actor de la película Ghandi, tendrá una idea cabal de la apariencia de esta persona; con quien tuve algunos roces al comienzo. Esto se debió mas que nada a que los hindúes tienen una forma de ser un poco ruda y directa y por este motivo es que tuvimos algunos encuentros verbales mas que nada para rayar la cancha, al comienzo del desarrollo.
Este proyecto continúo hasta fin de 2008, pero por planes personales, -que no salieron con éxito- una vez que termine satisfactoriamente los módulos que tenía asignados, decidí viajar a Cochabamba, Bolivia, siendo mi último día de trabajo el viernes 7 de Noviembre de 2008.
Medical Trust Incorporated - Nashville, Tennessee
Mi 3ra asignación en los Estados Unidos fue en Medical Trust Inc., una empresa del sector de seguros médicos, que realiza el control y gestión de las operaciones de seguros entre pacientes, proveedores de seguros médicos y empresas prestadoras de servicios médicos (clínicas, hospitales, etc.)
Estando en Cochabamba en Noviembre de 2008, tuve que adelantar el final de las vacaciones, como les dije antes, luego del fracaso de lo planeado en esa ciudad, aceptando una asignación a un nuevo proyecto, motivo por el cuál regrese a Estados Unidos el 1ro de Diciembre, presentandome en las oficinas de Medical Trust Inc., ubicadas en Nashville, Tennessee, para comenzar con mis nuevas asignaciones.
En este proyecto recuerdo a personas como Steve Wehofer y Elise Cambournac -una francesa cuyo acento al hablar ingles era único y particular- quienes eran los responsables del proyecto para Medical Trust Inc. Por el lado de mi empresa estaban como responsables Malcolm Florea y David Vanrhee, dos personas oriundas de Minnesota, uno de los estados más fríos de este país.
Debo ser sincero y contarles que este fue el proyecto más tedioso en el que me toco participar que consistía en desarrollar procedimientos almacenados en Oracle PL/SQL para implementar la funcionalidad del sistema.
La 1ra fase de este proyecto terminó el viernes 3 de Abril de 2009 y por suerte, como no se presentaron más requerimientos en PL/SQL, termino mi participación en el mismo. Digo por suerte porque verdaderamente la motivación que tenía para este proyecto no era de las mejores. Las razones son estrictamente técnicas, y como no es mi intencion tocar temas del trabajo en mucho detalle, prefiero omitir estas consideraciones.
____________________
He querido poner algunos detalles de lo que he hecho en estos últimos 18 meses acá en Estados Unidos, pueden ver los lugares en los que viví en el gráfico adjunto.
Todavía no se que me depara el futuro, aparentemente estaré viajando a California para un proyecto interno de la empresa, pero también se ha presentado otra posibilidad de trabajo en una empresa del sector Financiero en Kansas City.
Imagino que en 18 meses mas crearé otro artículo similar en este blog, contando mis nuevas experiencias, si es que realmente tengo el coraje de permanecer en este país 18 meses mas, porque aunque no lo crean la vida aca no es como muchos de ustedes se la piensan, Estados Unidos puede ser muchas cosas pero estoy casi seguro que se parece poco a la imagen que muchos bolivianos se han formado de el...
⌐⌐⌐
Labels:
carlos gongora,
estados unidos,
proyectos,
ust gobal,
ust technology
Friday, March 6, 2009
How to send emails with attachments from PL/SQL stored procedures using Java
I was looking for some documentation in order to implement a function that can send an email with attachments from an Oracle PL/SQL stored procedure. It was kind of difficult to find very good documentation, hence this is a simple process, specially about how to implement the function to send attached files.
The are 2 main approaches to solve this problem:
1. UTL_SMTP: Available in Oracle 8i and 9i (for 10g use UTL_MAIL), is not easy to use to send emails with attached files but if you understand the concept of how the SMTP server handles this will be much simpler.
2. Using Java, easier to send attachments but difficult to install and setup (you got to have access to user SYS in order to compile and run some functions in Java and also to run some commands to be able to compile the Java procedure)
In this article I will refer to the second approach, using Java which is pending since I wrote a post about the first approach on August/08, which you can check in this blog itself, here.
Using the JavaMail API
The first thing to check is that you must have a Java enabled Oracle database (8i or later). If that is the case you can download two set of files that are needed to implement this solution. The JavaMail API and Java Activation Framework (JAF) are needed.
You can get the JavaMail API objects pressing here.
The download you get will consist of several hundred files; only one of which we are interested in as explained below. After downloading the JavaMail API make sure also to get the JavaBeansTM Activation Framework extension or JAF (javax.activation). This is needed to run the JavaMail API package.
You can download the JAF from here.
After you have downloaded these two sets of files you will need to decompress them and extract two files:
The two jar files have to be loaded to the database using SYS user since they have 'protected' Java packages that regular users cannot upload. Loadjava.bat utility has to be used (this utility is found under BIN directory in your Oracle installation path).
These are the commands and the arguments are full explained below:
· -u sys/manager: is the userid and password for SYS account. Some of the packages are protected and must be loaded as SYS
· -o: is shorthand for oci8 driver
· -r: is short for resolve, this will resolve all external references in the loaded classes helping to verify that the loaded java classes will be able to function after loading them
· -v: is short for verbose, used to see the output through each step of the process
· -f: is short for force, this isn't necessary on the first load but is OK to use. If loadjava hits an error can be corrected and reloaded, for this is needed to use the dropjava command to drop the jar file from the database or use force, using force makes it easier
· -noverify: does not attempt to verify the bytecode. You must be granted oracle.aurora.security.JServerPermissio(Verifier) to execute this option. In addition, this option must be used in conjunction with –r, SYS has this privilege. This is needed because the bytecode verifier will flag some issues with the mail.jar file and this works around that issue
· -synonym: creates public synonyms for the classes, since the mail java code will be installed as different user than SYS this will allow to 'see' the SYS loaded java classes under that user
· -g public: grants execute on these loaded classes to PUBLIC. If this is not desirable, needs to be changed to be just the user who will create the 'send mail' routines, for example -g MY_USER
2. Create and compile the Java stored procedure running the script provided named email_java.sql, get it from here. Use SQL Plus and connect with the user who will own the code, can be any, for this implementation we will call it MY_USER. Before running this script with SQL Plus use 'set define off' and if there are errors running the script you can see them using 'show err'.
3. Create an compile the PL/SQL function Send, which can be downloaded from here. This function will be used in the next step and it's just a wrapper to map PL/SQL data types to Java data types. Use SQL Plus and connect with MY_USER
4. Create an compile the PL/SQL procedure Test_email, which can be downloaded from here. Use SQL Plus to do this and connect with MY_USER. This procedure will call the function created in Step 3 and will contain all you need in order to start sendig emails. Below you can see the main section of the code.
I use a table called documents which has a BLOB data type column called document_content whose contents have zipped files. You will have to implement a way to pass the files from a similar table in your database. If you don't know who to store BLOB files in the database this is a good time you can work on a little bit to learn how to implement this operation. You can also check this blog later because I will write another post about this subject indeed.
Here is the main section of the code you will find in test_email procedure, which is self explanatory:
for cur in (select document_content from documents ) loop
v_ret_code := send(
p_from => 'user@host.com',
p_to => 'user@host.com',
p_cc => NULL,
p_bcc => NULL,
p_subject => 'Use the attached Zip file',
p_body => 'to send email with attachments...',
p_smtp_host => 'email.host.com', -- your SMTP server/host
p_attachment_data => cur.document_content,
p_attachment_type => 'application/winzip',
p_attachment_file_name => 'filename.zip');
if v_ret_code = 1 then
dbms_output.put_line ('Successfully sent message...');
else
dbms_output.put_line ('Failed to send message...');
end if;
end loop;
5. Finally you have to grant Java privileges to MY_USER (to resolve and set SMTP host), using dbms_java.grant_permission()
* dbms_java.grant_permission( grantee => 'MY_USER', permission_type => 'java.util.PropertyPermission', permission_name => '*', permission_action => 'read,write' );
* dbms_java.grant_permission( grantee => 'MY_USER', permission_type => 'java.net.SocketPermission', permission_name => '*', permission_action => 'connect,resolve' );
This has to be done by user SYS. Please beware this two notes:
5.1. In the grant on java.net.SocketPermission, the string SMTP_SERVER_NAME has to be replaced by the real server name. This restricts the access permissions to use the Java code only to that server or host.
5.2. The other permission, java.util.PropertyPermission, is needed in order to set the mail.smtp.host in the session properties when we are calling the method props.put() in the Java class.
That's it. If you have any doubt just drop me a note at gongorac@gmail.com
Enjoy it!!
The are 2 main approaches to solve this problem:
1. UTL_SMTP: Available in Oracle 8i and 9i (for 10g use UTL_MAIL), is not easy to use to send emails with attached files but if you understand the concept of how the SMTP server handles this will be much simpler.
2. Using Java, easier to send attachments but difficult to install and setup (you got to have access to user SYS in order to compile and run some functions in Java and also to run some commands to be able to compile the Java procedure)
In this article I will refer to the second approach, using Java which is pending since I wrote a post about the first approach on August/08, which you can check in this blog itself, here.
Using the JavaMail API
The first thing to check is that you must have a Java enabled Oracle database (8i or later). If that is the case you can download two set of files that are needed to implement this solution. The JavaMail API and Java Activation Framework (JAF) are needed.
You can get the JavaMail API objects pressing here.
The download you get will consist of several hundred files; only one of which we are interested in as explained below. After downloading the JavaMail API make sure also to get the JavaBeansTM Activation Framework extension or JAF (javax.activation). This is needed to run the JavaMail API package.
You can download the JAF from here.
After you have downloaded these two sets of files you will need to decompress them and extract two files:
- Mail.jar from the JavaMail APIdownload
- Activation.jar from the JAF download
The two jar files have to be loaded to the database using SYS user since they have 'protected' Java packages that regular users cannot upload. Loadjava.bat utility has to be used (this utility is found under BIN directory in your Oracle installation path).
These are the commands and the arguments are full explained below:
- loadjava -u sys/manager -o -r -v -f -noverify -synonym -g public mail.jar
- loadjava -u sys/manager -o -r -v -f -noverify -synonym -g public activation.jar
· -u sys/manager: is the userid and password for SYS account. Some of the packages are protected and must be loaded as SYS
· -o: is shorthand for oci8 driver
· -r: is short for resolve, this will resolve all external references in the loaded classes helping to verify that the loaded java classes will be able to function after loading them
· -v: is short for verbose, used to see the output through each step of the process
· -f: is short for force, this isn't necessary on the first load but is OK to use. If loadjava hits an error can be corrected and reloaded, for this is needed to use the dropjava command to drop the jar file from the database or use force, using force makes it easier
· -noverify: does not attempt to verify the bytecode. You must be granted oracle.aurora.security.JServerPermissio(Verifier) to execute this option. In addition, this option must be used in conjunction with –r, SYS has this privilege. This is needed because the bytecode verifier will flag some issues with the mail.jar file and this works around that issue
· -synonym: creates public synonyms for the classes, since the mail java code will be installed as different user than SYS this will allow to 'see' the SYS loaded java classes under that user
· -g public: grants execute on these loaded classes to PUBLIC. If this is not desirable, needs to be changed to be just the user who will create the 'send mail' routines, for example -g MY_USER
2. Create and compile the Java stored procedure running the script provided named email_java.sql, get it from here. Use SQL Plus and connect with the user who will own the code, can be any, for this implementation we will call it MY_USER. Before running this script with SQL Plus use 'set define off' and if there are errors running the script you can see them using 'show err'.
3. Create an compile the PL/SQL function Send, which can be downloaded from here. This function will be used in the next step and it's just a wrapper to map PL/SQL data types to Java data types. Use SQL Plus and connect with MY_USER
4. Create an compile the PL/SQL procedure Test_email, which can be downloaded from here. Use SQL Plus to do this and connect with MY_USER. This procedure will call the function created in Step 3 and will contain all you need in order to start sendig emails. Below you can see the main section of the code.
I use a table called documents which has a BLOB data type column called document_content whose contents have zipped files. You will have to implement a way to pass the files from a similar table in your database. If you don't know who to store BLOB files in the database this is a good time you can work on a little bit to learn how to implement this operation. You can also check this blog later because I will write another post about this subject indeed.
Here is the main section of the code you will find in test_email procedure, which is self explanatory:
for cur in (select document_content from documents ) loop
v_ret_code := send(
p_from => 'user@host.com',
p_to => 'user@host.com',
p_cc => NULL,
p_bcc => NULL,
p_subject => 'Use the attached Zip file',
p_body => 'to send email with attachments...',
p_smtp_host => 'email.host.com', -- your SMTP server/host
p_attachment_data => cur.document_content,
p_attachment_type => 'application/winzip',
p_attachment_file_name => 'filename.zip');
if v_ret_code = 1 then
dbms_output.put_line ('Successfully sent message...');
else
dbms_output.put_line ('Failed to send message...');
end if;
end loop;
5. Finally you have to grant Java privileges to MY_USER (to resolve and set SMTP host), using dbms_java.grant_permission()
* dbms_java.grant_permission( grantee => 'MY_USER', permission_type => 'java.util.PropertyPermission', permission_name => '*', permission_action => 'read,write' );
* dbms_java.grant_permission( grantee => 'MY_USER', permission_type => 'java.net.SocketPermission', permission_name => '*', permission_action => 'connect,resolve' );
This has to be done by user SYS. Please beware this two notes:
5.1. In the grant on java.net.SocketPermission, the string SMTP_SERVER_NAME has to be replaced by the real server name. This restricts the access permissions to use the Java code only to that server or host.
5.2. The other permission, java.util.PropertyPermission, is needed in order to set the mail.smtp.host in the session properties when we are calling the method props.put() in the Java class.
That's it. If you have any doubt just drop me a note at gongorac@gmail.com
Enjoy it!!
Subscribe to:
Posts (Atom)