Anda sudah memiliki database di PostgreSQL dan ingin mengolahnya menggunakan bahasa Python. Berikut ini cara mudah menggunakan pustaka SQLAlchemy.
Uji coba ini menggunakan Ubuntu 9.10. Sedangkan SQL Alchemy yang digunakan adalah versi 0.5.5.
$ sudo apt-get update $ sudo apt-get install python-sqlalchemy python-sqlalchemy-doc python-psycopg2
Kemudian buatlah file query.py berikut ini.
import sqlalchemy as sa import sys db = sa.create_engine('postgres://myuser:mypassword@localhost/mydb', echo=True) try: db.connect() except sa.exc.OperationalError, pesan: sys.exit(pesan[0].strip()) sql = "SELECT * FROM voucher" q = db.execute(sql) for row in q: print row['id'], row['harga']
Sesuaikanlah myuser, mypassword, dan mydb. Juga objek database lainnya seperti tabel voucher, field id, dan harga. Penggunaan parameter echo=True untuk debugging, dimana query yang dikirim ke database server akan ditampilkan.
Dokumentasi yang lebih lengkap di /usr/share/doc/python-sqlalchemy-doc/html/index.html.
Anda bisa gunakan kate sebagai text editor. Selain memilki syntax highlight untuk Python ia juga memiliki terminal plugin yang memudahkan eksekusi script. kate juga memiliki code completion untuk mempercepat pengetikan. Ia juga memiliki plugin Python code browser, memudahkan dalam debugging.
Selamat mencoba.
Komentar
mas boleh tanya gak? saya mau
mas boleh tanya gak?
saya mau coba2 aplikasi evoucher menggunakan debian squeeze, saat menginstall saya mendapati hal spt ini:
dpkg-reconfigure evoucher
Stopping Electronic VoucherNo process in pidfile '/var/run/evoucher/evoucher.pid ' found running; none killed.
failed!
/usr/lib/python2.6/dist-packages/sqlalchemy/sql/expression.py:820: SADeprecation Warning: autocommit on text() is deprecated. Use .execution_options(autocommit= True)
return _TextClause(text, bind=bind, *args, **kwargs)
namun saya belum mencobanya di ubuntu, mudah2an hanya di debian saja ya.
Mengenai error saat
Mengenai error saat dpkg-reconfigure evoucher abaikan saja. Wajar karena daemon akan dimatikan padahal sedang tidak hidup.
Sedangkan mengenai warning pada SQLAlchemy dikarenakan sejak SQLAlchemy 6.0 ia memperkenalkan teknik baru untuk autocommit. Bila sebelumnya seperti ini:
maka sekarang menjadi:
Belum semua aplikasi yang saya buat menerapkan teknik baru ini, sehingga tampil warning itu.
Disitu ternyata masalahnya
Disitu ternyata masalahnya ... konsep lama belum ngerti2 juga eh keluar konsep baru hehe..
Terimakasih atas pencerahannya...
Btw kok evoucher dr rab linux belum pernah dipromosikan di forum djawir? saya sendiri baru tau ada evoucher dari rab linux setelah mencari informasi tentang sms gateway linux.
sekali lagi saya berterimakasih banyak atas pencerahannya..
Salam OpenSource dari Tembilahan - Riau
Dharma
Iya, sumber daya belum cukup
Iya, sumber daya belum cukup untuk mempromosikan seperti itu. Silahkan saja kalau ingin memperkenalkannya ke mereka.
Maaf pak saya juga sedang
Maaf pak saya juga sedang mencoba belajar evouchernya yang saya coba di ubuntu 11.10, dgn postgresql 9.1.3 python 2.7.2 , dan setelah terpasang, rule nya bagaimana pak? pertama-tama apa yg harus kita buat, saya coba kirim dan terima sms, parser sudah bisa jalan tp belum bisa buat account membernya atau refillnya, dan untuk modem/hp yang suppport apa saja kira2 pak terutama utk modul stk dan dial? terima kasih sebelumnya pak.
SMS Gateway adalah hal yang
SMS Gateway adalah hal yang perlu dipahami lebih dulu. Ini terlepas dari keberadaan evoucher. Silahkan baca Database PostgreSQL, Pemrograman Python, dan SMS Gateway pada Bab SMS Gateway. Modem yang bisa digunakan untuk SMS, USSD, hingga MENU STK adalah merk Wavecom, baik yang USB maupun serial. Harganya sekitar Rp 300.000,-
Terima kasih pak
Terima kasih pak penjelasannya, saya sedikit mulai memahami. Baik gateway dan evouchernya sudah bisa terintsall dan terintergrasi, dan sudah bisa mencoba kirim dan terima pesan sesuai format, baik via jalur modem dan chat. Saya tertarik mencoba dan mempelajari lagi, selanjutnya ingin rasanya belajar bagaimana implementasi dan interface untuk aplikasinya.
Web interface untuk IM
Web interface untuk IM Gateway bisa ambil di http://upload.rab.co.id/node/115393. Itu merupakan modul Drupal 6.
Maaf pak ingin tanya, kalau
Maaf pak ingin tanya, kalau dial dan sms kan tinggal insert text ke im.antrian, kalau ingin akses menu stk melalui im-gw bagaimana pak? masih kurang faham. Kalau coba manual akses menu stk, saya coba gunakan mtronik via console sudah bisa pak.
Terima kasih pak interface IM
Terima kasih pak interface IM Agent nya sudah bisa dipasang di drupalnya, pesan juga sudah bisa terima dan kirim melalui IM Agent Interface di drupal nya, tapi di menu kirim .../drupal/?q=imgw/pesan/add masih muncul query warning :
" warning: pg_query(): Query failed: ERROR: relation "im.v_agent" does not exist LINE 1: ...ias, a.status, a.jalur, j.nama AS nama_jalur FROM im.v_agent... ^ in /var/www/drupal/includes/database.pgsql.inc on line 139.
user warning: query: SELECT a.alias, a.status, a.jalur, j.nama AS nama_jalur FROM im.v_agent a, jalur j WHERE a.jalur = j.id UNION SELECT a.id, a.status, a.jalur, j.nama FROM im.agent a, jalur j WHERE a.jalur = j.id AND NOT EXISTS (SELECT * FROM im.modem m WHERE m.imei = a.id) ORDER BY 3, 1 in /var/www/drupal/sites/all/modules/imgw/pesan.module on line 283. "
Iya ya. Saya belum buatkan
Iya ya. Saya belum buatkan script installer untuk membuat view itu. Ini langsung saja di psql:
Maaf pak ingin tanya, kalau
Maaf pak ingin tanya, kalau dial dan sms kan tinggal insert text ke im.antrian, kalau ingin akses menu stk melalui im-gw bagaimana pak? masih kurang faham. Kalau coba manual akses menu stk, saya coba gunakan mtronik via console sudah bisa pak.
Sama seperti di console,
Sama seperti di console, rangkaian menu dimasukkan ke field pesan, contoh:
INSERT INTO im.antrian(pengirim, pesan) SELECT '+628571234567', 'M-Tronik';