since I wanted to transform data storage for my recent Minecraft Python/Jython Bukkit plugins from flat file to MySQL database I started googling. Tried sqlite3 and MySQLd for Python but without success, so after few hours of searching StackOverflow I came up to this question and answer, which SHOULD solve my problem, since it's same thing. I tried to follow steps given in this answer , but without any success due to this error:
[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)
Code I used that caused error above:
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)
Also, I tried this code:
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)
but it caused this error:
[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
What I acutally did (step-by-step)?
I downloaded zipped mysql connector/J from this link (as given in answer from already linked S.O. question), unzipped it, copied "mysql-connector-java-3.1.14-bin.jar" from it, pasted it to this path "C:\Users\my_name\Documents\1.7.2twistedjobs\plugins\MySQL_jython". After, I opened Control Panel, clicked System, went to Advanced system settings, clicked Environment variables button, added new named CLASSPATH (since there was no variable by that name), and set this path as value "C:\Users\my_name\Documents\1.7.2twistedjobs\plugins\MySQL_jython\mysql-connector-java-3.1.14-bin.jar", clicked OK.
NOTE: There was no import errors because of zxJDBC, which is strange, since it obviously successfully imported it, but couldn't find drivers...
Thanks in advance!