Forum Discussion

torsten_FO's avatar
torsten_FO
Helper I
3 years ago

Report refresh starts "python.execute" command two times!

Hi all,

I use a small python script directly in an empty Table with "Python.Execute(...)" command. This script send data into a Database.

When I start a refresh in Power Query Editor, the script send only one dataset into the DB. It works fine.

But, If I start a refresh into the report, the script send two datasets into the DB! 

I have inserted the Execute command into a small table:

 

 

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WKk7NS4lPSSxJjC/Jj3dxUoqNBQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Snap_Shot = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Snap_Shot", type text}}),
    #"Send SnapShot" = Python.Execute("import pyodbc
username = 'USER'
password = 'PASS'
conn = pyodbc.connect('Driver={SQL Server};'
                      'Server=SERVER;'
                      'Database=Bestandsueberpruefung;'
                      'Trusted_Connection=yes;'
                      'uid=%s;pwd=%s' %(username, password))
cursor = conn.cursor()
cursor.execute('''
               INSERT INTO t_bemerkung (bemerkung, id_matnr)
               VALUES
               ('value from python', 3)
               ''')
conn.commit()
conn.close()")
in
    #"Send SnapShot"

 

 

 

What is wrong???

Thanks