2017-04-06 12 views
0

私はmysqlサーバからデータを取得し、テキストを復号化するjavaライブラリであるJasyptを使用してテキストを復号するスクリプトを作成しています。だから私はJythonを使ってこれを行う必要があります。mysql.connectorモジュールでJythonを使用してmysqlデータベースに接続できません

JaceptライブラリからJavaクラスをインポートできます。また、mysql.connectorをJythonスクリプトにインポートすることもできます。しかし、スクリプトはmysqlサーバに接続することができません。ここで

私は最後の行は私が

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 be coerced to String 

をエラーgvingさ

import sys 
SYSPATH = ['/usr/local/lib/python2.7/site-packages', '/data/packages/jasypt-1.9.2.jar'] 
[sys.path.append(p) for p in SYSPATH] 
import mysql.connector 

# adding this to avoid "AttributeError: socket.SOL_TCP does not exist" listed at https://github.com/pika/pika/issues/67 
import socket 
socket.SOL_TCP = socket.IPPROTO_TCP 

# This line is giving error "TypeError: unpack_from(): 2nd arg can't be coerced to String" 
con = mysql.connector.connect(user='username', password='password', host='192.168.123.123', database='users') 

をしようとしているコードが、それは私がしようとしていますどのようなことは可能ですか?

+0

私は192.168.321.123'が有効である 'ことを疑うIP-:私は、私は次のバッチファイルを使用して、それを実行したときに... ...このJythonのコードが動作することを

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) 

を確認することができます住所... –

+1

オハイオ州...ここに掲載するための実際のIPではありませんでした。私はそれを有効なIPに修正しました。ありがとう:) –

答えて

1

他の関連する質問に基づいて、最も一般的なアプローチは「MySQL Connector/Python」ではなく「MySQL Connector/J」(JDBCドライバ)を使用することです。

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 
関連する問題