Anasayfa / python / Microsoft Power Bi Informix Jdbc Connect

Microsoft Power Bi Informix Jdbc Connect

Informix veritabanına Power BI üzerinden ODBC ile bağlanılabiliyor fakat ODBC bağlantısında bazı sorunlar yaşanabiliyor.
örnek temp tablo create etme türkçe karakter hatası vs.

Sorunu aşmak için benim kullandığım yöntem python scripti çalıştırmak oldu
Levazımat Listesi:
Cpython dağıtımı : https://www.python.org/downloads/
Pandas : https://pypi.org/project/pandas/
Matplotlib: https://pypi.org/project/matplotlib/
Jaydebeapi:https://pypi.org/project/JayDeBeApi/
java virtual machine: https://www.java.com/download/ie_manual.jsp
informix jdbc driver: https://mvnrepository.com/artifact/com.ibm.informix/jdbc

python paket kurulumu kısaca: pip install matplotlib pandas JayDeBeApi

bu kurulumları yaptıktan sonra aşağıda kendinize özelleştireceğiniz scripti power bi içerisinde python scripte vermeniz gerekli.

import jaydebeapi
import pandas as pd

def main():
    conn_string = 'jdbc:informix-sqli://benimhostum:1526/benimdatabaseadim:INFORMIXSERVER=informix_serverol_falanfilan;NEWLOCALE=tr_tr,tr_tr;NEWCODESET=8859_9,8859-1,819;IFX_LOCK_MODE_WAIT=-1;IFX_TRIMTRAILINGSPACES=1'
    user_name = 'myuser'
    password = 'mypass'
    driver_path = 'jdbc-4.50.4.1.jar'
    conn = jaydebeapi.connect("com.informix.jdbc.IfxDriver",
                              conn_string,
                              [user_name, password],
                              driver_path, )

    qry = 'select * from mytable where myfield1=? and myfield2=?'
    params = (3,'AAA')
    curs = conn.cursor()
    curs.execute(qry, (params if params is not None else None))
    columns = [column[0] for column in curs.description]
    results = []
    for row in curs.fetchall():
        results.append(dict(zip(columns, row)))
    curs.close()
    mydata_list = results
    deneme_list = pd.DataFrame(data_list)
    print(deneme_list)


main()

 

Hakkında ibrahim

İlgili Makaleler

python locale.Error: unsupported locale setting locale.setlocale(locale.LC_ALL, ‘Turkish_Turkey.1254’)

if os.name == 'nt': locale.setlocale(locale.LC_ALL, 'Turkish_Turkey.1254') yeni windows updateleri ile artık Türkiye (‘Turkish_Türkiye’, ‘1254’)

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir