2016-08-31 2 views
1

service for data insert subscription for dataservice for insert data into table[![][1]] 4 [data from sensor comes here in thing sensordata which uses mqqtt template] 5connection to PostgreSQLessayant d'envoyer des données de thingworx compositeur à la base de données Postgres

J'ai créé une chose qui accéder à mon nom de la table de base de données est sensorData de PostgreSQL. Maintenant, je dois envoyer des données à ces tables comment. Comment puis-je faire ceci?

image

J'ai fait la partie de connexion du thingworx compositeur et PostgreSQL db sur la configuration locale.

Je suis en train d'envoyer des données de capteurs de thingworx à db PostgreSQL, mais je ne suis pas en mesure de l'a envoyé

+0

Laissez ici votre code, montrez ce que vous avez essayé jusqu'à présent. – Tarunn

+0

J'ai fait seulement la partie de connexion mais je n'ai obtenu aucun document comment envoyer des données à la base de données postgrel. – supriya

+0

"* comment puis-je envoyer des données à la base de données? *" - utiliser les instructions SQL –

Répondre

1

Vous devez faire deux choses:

1 Créer un service pour insérer une ligne dans la chose postgresql_conn;

  • Sélectionnez 'SQL (Command)' comme type de script.
  • Put somthing comme celui-ci dans la zone de script

    INSERT INTO sensordata 
    (Temperature, Humidity, Vibration) 
    VALUES ([[TemperatureField]], [[HumidityField]], [[VibrationField]]); 
    

    TemperatureField, HumidityField, VibrationField sont des champs d'entrée du service.

2 Créer Abonnements à la chose sensordata.

  • En tant qu'événement défini AnyDataChange;
  • Mettez quelque chose comme ça dans la zone de script:

    var params = { 
        TemperatureField: me.Temperature, 
        HumidityField: me.Humidity, 
        VibrationField: me.Vibration 
    }; 
    
    
    var result = Things["postgresql_conn"].InsertRecord(params); 
    

maintenant lorsque les données de changement sensorData une ligne est d'ajouter à la table de Postgress.

Désolé pour mon anglais

+0

merci pour la réponse.j'ai encore une requête votre syntaxe donnée est pour la valeur char quelle sera la syntaxe pour la valeur numérique lors de l'insertion dans la base de données – supriya

+1

Si la température est une colonne numérique de votre DB vous avez juste besoin pour déclarer TemperatureField comme champ numérique. Vous devez également transmettre une valeur numérique dans params lorsque vous appelez le service InserRecord. – sed88

+0

@ swd88: J'ai déjà créé une table avec un type numérique et aussi en passant une valeur numérique, ([[TemperatureField]], [[HumidityField]], [[VibrationField]]) ce format est utilisé pour passer var char mais je veux passer valeur numérique quel devrait être le format pour cela? – supriya