java - Not able to connect to mysql database using Jython with mysql.connector module -
i creating script fetch data mysql server , decrypt text using jasypt java library encrpyt/decrypt text. have using jython.
i able import java class jasypt library. able import mysql.connector jython script. script not able make connection mysql server.
here code trying
import sys syspath = ['/usr/local/lib/python2.7/site-packages', '/data/packages/jasypt-1.9.2.jar'] [sys.path.append(p) p in syspath] import mysql.connector # adding avoid "attributeerror: socket.sol_tcp not exist" listed @ https://github.com/pika/pika/issues/67 import socket socket.sol_tcp = socket.ipproto_tcp # line giving error "typeerror: unpack_from(): 2nd arg can't coerced string" con = mysql.connector.connect(user='username', password='password', host='192.168.123.123', database='users') last line gving me error
file "2017-04-05-get-bank-sms.py", line 11, in createuseriduuidmap con = mysql.connector.connect(user='username', password='password', host='192.168.123.123', database='users') file "/usr/local/lib/python2.7/site-packages/mysql/connector/__init__.py", line 179, in connect return mysqlconnection(*args, **kwargs) file "/usr/local/lib/python2.7/site-packages/mysql/connector/connection.py", line 95, in __init__ self.connect(**kwargs) file "/usr/local/lib/python2.7/site-packages/mysql/connector/abstracts.py", line 719, in connect self._open_connection() file "/usr/local/lib/python2.7/site-packages/mysql/connector/connection.py", line 207, in _open_connection self._do_handshake() file "/usr/local/lib/python2.7/site-packages/mysql/connector/connection.py", line 99, in _do_handshake packet = self._socket.recv() file "/usr/local/lib/python2.7/site-packages/mysql/connector/network.py", line 235, in recv_plain payload_len = struct.unpack_from( file "/usr/local/lib/python2.7/site-packages/mysql/connector/network.py", line 235, in recv_plain payload_len = struct.unpack_from( typeerror: unpack_from(): 2nd arg can't coerced string is possible trying?
based on other related questions appears common approach use "mysql connector/j" (the jdbc driver) instead of "mysql connector/python". can confirm jython code works ...
from com.ziclix.python.sql import zxjdbc connectionurl = "jdbc:mysql://localhost:3307" cnxn = zxjdbc.connect( connectionurl, "root", "mypassword", "com.mysql.jdbc.driver") crsr = cnxn.cursor() crsr.execute("show databases") rows = crsr.fetchall() print(rows) ... when run using following batch file:
set classpath=c:\users\gord\.m2\repository\mysql\mysql-connector-java\5.1.41\mysql-connector-java-5.1.41.jar c:\jython2.7.0\bin\jython mysql_test.py
Comments
Post a Comment