Desconozco si hay hosting para BBDD solamente, por lo que no podría recomendarte uno. Veo otra alternativa, que es crear una API REST. Primero que todo:
¿Tu hosting tiene soporte para servidores de aplicaciones Java? Por ejemplo, Tomcat, GlassFish, WildFly, JBoss, etc.
Si la respuesta es sí, puedes crear una API REST. Ésto es, levantas tu servidor de aplicaciones Java con un serivicio RESTful. Un servicio RESTful escucha por URL, ésto es, cuando se acceda a determinada URL, el RESTful detecterá dicha petición y hará lo que tenga que hacer.
Por ejemplo:
@Path("/products")
@Stateless
public class ProductService {
@PersistenceContext
private EntityManager em; // Inyecta la dependencia de EntityManager
@POST
@Path("/insert")
@consumes(MediaType.APPLICATION_JSON)
public void insert(JSONObject product) {
EntityTransaction tx = em.getTransaction();
tx.begin();
ProductVO p = new ProductVO();
p.setId(product.get("id"));
p.setName(product.get("name"));
p.setDescription(product.get("description"));
p.setPrice(product.get("price"));
em.save(p);
tx.commit();
}
// otras URLs...
}
- @POST: Indica que la llamada deberá ser escuchada por tipo POST.
- @Consumes(MediaType.APPLICATION_JSON): Indica que se consumirá un objeto JSON.
Recibe el objeto JSON enviado desde tu aplicación de escritorio y lo guarda en la BBDD por medio de JPA. En el ejemplo usé JPA, pero se puede hacer con código SQL ordinario.
Desde el cliente, para guardar datos:
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
client.addFilter(new LoggingFilter());
WebResource service = client.resource(getBaseURI());
// Crea el JSON a enviar
JSONObject inputJsonObj = new JSONObject();
inputJsonObj.
put("id",
new Short("1")); inputJsonObj.put("name", "Shampoo"));
inputJsonObj.put("description", "Shampoo control anti caspa");
inputJsonObj.
put("price",
new BigDecimal("24.90")); // Aquí es donde se llama a "/api/products/insert" y se envía el JSONObject para poder guardarlo en la BBDD
System.
out.
println(service.
path("api").
path("products").
path("insert").
accept(MediaType.
APPLICATION_JSON).
post(JSONObject.
class, inputJsonObj
));
No será tan fácil de implementar, pero se adapta a lo que requieres.
Saludos.