내 최근 Minecraft Python/Jython Bukkit 플러그인의 데이터 저장소를 플랫 파일에서 MySQL 데이터베이스로 변환하려고했기 때문에 인터넷 검색을 시작했습니다. 파이썬에 대한 sqlite3과 MySQLd를 시도했지만 성공하지 못했습니다. 그래서 StackOverflow를 검색 한 후 몇 시간이 지난 후이 질문과 대답을 찾았습니다. 문제는 동일한 문제이므로 해결해야합니다. 나는 this answer에 주어진 단계를 수행했지만, 어떤 성공없이이 오류로 인해 :jython이 작동하지 않는 zxJDBC 사용
: 또한from com.ziclix.python.sql import zxJDBC
params = {}
params['serverName'] = 'host'
params['databaseName'] = 'dbname'
params['user'] = "username"
params['password'] = "pw"
params['port'] = 3306
db = apply(zxJDBC.connectx, ("org.gjt.mm.mysql.MysqlDataSource",), params)
, 나는이 코드를 시도 : 내가 사용
[15:31:45 WARN]: org.bukkit.plugin.InvalidPluginException: Traceback (most recen
t call last):
File "<iostream>", line 10, in <module>
zxJDBC.DatabaseError: unable to instantiate datasource
[15:31:45 WARN]: at net.lahwran.bukkit.jython.PythonPluginLoader.loadPlug
in(PythonPluginLoader.java:296)
[15:31:45 WARN]: at net.lahwran.bukkit.jython.PythonPluginLoader.loadPlug
in(PythonPluginLoader.java:113)
[15:31:45 WARN]: at net.lahwran.bukkit.jython.PythonPluginLoader.loadPlug
in(PythonPluginLoader.java:83)
[15:31:45 WARN]: at org.bukkit.plugin.SimplePluginManager.loadPlugin(Simp
lePluginManager.java:305)
[15:31:45 WARN]: at com.master.bukkit.python.PythonLoader.onLoad(PythonLo
ader.java:113)
[15:31:45 WARN]: at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugin
s(CraftServer.java:260)
[15:31:45 WARN]: at org.bukkit.craftbukkit.v1_7_R1.CraftServer.reload(Cra
ftServer.java:628)
[15:31:45 WARN]: at org.bukkit.Bukkit.reload(Bukkit.java:279)
[15:31:45 WARN]: at org.bukkit.command.defaults.ReloadCommand.execute(Rel
oadCommand.java:23)
[15:31:45 WARN]: at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCo
mmandMap.java:192)
[15:31:45 WARN]: at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCo
mmand(CraftServer.java:542)
[15:31:45 WARN]: at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchSe
rverCommand(CraftServer.java:529)
[15:31:45 WARN]: at net.minecraft.server.v1_7_R1.DedicatedServer.aw(Dedic
atedServer.java:286)
[15:31:45 WARN]: at net.minecraft.server.v1_7_R1.DedicatedServer.u(Dedica
tedServer.java:251)
[15:31:45 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.t(Minecr
aftServer.java:541)
[15:31:45 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.run(Mine
craftServer.java:453)
[15:31:45 WARN]: at net.minecraft.server.v1_7_R1.ThreadServerApplication.
run(SourceFile:617)
코드 오류가 위의 원인이
from com.ziclix.python.sql import zxJDBC
d, u, p, v = "jdbc:mysql://host", "root", "pw", "org.gjt.mm.mysql.Driver"
db = zxJDBC.connect(d, u, p, v)
하지만이 오류 발생 :
[15:37:20 WARN]: Caused by: Traceback (most recent call last):
File "<iostream>", line 13, in <module>
zxJDBC.DatabaseError: driver [org.gjt.mm.mysql.Driver] not found
[15:37:20 WARN]: at org.python.core.PyException.doRaise(PyException.java:
200)
[15:37:20 WARN]: at org.python.core.Py.makeException(Py.java:1239)
[15:37:20 WARN]: at org.python.core.Py.makeException(Py.java:1243)
[15:37:20 WARN]: at com.ziclix.python.sql.zxJDBC.makeException(zxJDBC.jav
a:328)
[15:37:20 WARN]: at com.ziclix.python.sql.connect.Connect.__call__(Connec
t.java:78)
[15:37:20 WARN]: at org.python.core.PyObject.__call__(PyObject.java:441)
[15:37:20 WARN]: at org.python.core.PyObject.__call__(PyObject.java:447)
[15:37:20 WARN]: at org.python.pycode._pyx5.f$0(<iostream>:15)
[15:37:20 WARN]: at org.python.pycode._pyx5.call_function(<iostream>)
[15:37:20 WARN]: at org.python.core.PyTableCode.call(PyTableCode.java:165
)
[15:37:20 WARN]: at org.python.core.PyCode.call(PyCode.java:18)
[15:37:20 WARN]: at org.python.core.Py.runCode(Py.java:1275)
[15:37:20 WARN]: at org.python.util.PythonInterpreter.execfile(PythonInte
rpreter.java:235)
[15:37:20 WARN]: at org.python.util.PythonInterpreter.execfile(PythonInte
rpreter.java:230)
[15:37:20 WARN]: at net.lahwran.bukkit.jython.PythonPluginLoader.loadPlug
in(PythonPluginLoader.java:244)
[15:37:20 WARN]: ... 16 more
나는 acutally 무엇을 했습니까 (단계별)?
this link에서 압축 된 mysql connector/J를 다운로드하고 압축을 푼다. 압축을 풀고 "mysql-connector-java-3.1.14-bin.jar"를 복사하여 붙여 넣었다. 이 경로는 "C : \ Users \ my_name \ Documents \ 1.7.2twistedjobs \ plugins \ MySQL_jython"입니다. 그런 다음 제어판을 열고 시스템을 클릭하고 고급 시스템 설정으로 이동 한 다음 환경 변수 버튼을 클릭하고 이름이 CLASSPATH 인 새 클래스를 추가 한 다음이 경로를 값 "C : \ Users \ my_name \ Documents \ 1.7.2twistedjobs \ plugins \ MySQL_jython \ mysql-connector-java-3.1.14-bin.jar "을 클릭하십시오.
참고 : 더 가져 오기 때문에 분명히 성공적으로 가져 왔지만 드라이버를 찾을 수 없기 때문에, 이상하다하는 zxJDBC의 오류 ... 사전에
감사가 없었다!