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()