From: <ast...@gm...> - 2007-06-26 05:35:24
|
1. For us Windows users, maybe the .bat files can be changed so that the newline character (i.e. CR and LF) reflect that of the one being used in Windows? At the moment, I do some tests in an old Win98 machine and the jython/jythonc.bat have Mac newline character. 2. I have a script that uses sockets. Whenever I write to my sockets, I always use try/except: (so that I won't write to a disconnected socket) and I've never had errors in Jython2.2b2. For 2.2 RC1, however, I get the error below all the time. This happens whenever I close my application and it is still connected somewhere. Exception in thread "Thread-3" Traceback (innermost last): (no code object) at line 0 at sun.nio.ch.SocketDispatcher.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(Unknown Source) at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source) at sun.nio.ch.IOUtil.write(Unknown Source) at sun.nio.ch.SocketChannelImpl.write(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) java.io.IOException: java.io.IOException: Write failed Regards, astigmatik |
From: Alan K. <jyt...@xh...> - 2007-06-26 18:48:19
|
[ast...@gm...] > 2. I have a script that uses sockets. Whenever I write to my sockets, > I always use try/except: (so that I won't write to a disconnected > socket) and I've never had errors in Jython2.2b2. For 2.2 RC1, > however, I get the error below all the time. This happens whenever I > close my application and it is still connected somewhere. > > Exception in thread "Thread-3" Traceback (innermost last): > (no code object) at line 0 > at sun.nio.ch.SocketDispatcher.write0(Native Method) > at sun.nio.ch.SocketDispatcher.write(Unknown Source) > at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source) > at sun.nio.ch.IOUtil.write(Unknown Source) > at sun.nio.ch.SocketChannelImpl.write(Unknown Source) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > at java.lang.reflect.Method.invoke(Unknown Source) > > java.io.IOException: java.io.IOException: Write failed It will be difficult to recreate the problem without seeing the code that produces it. Can you reduce the code to a small snippet that illustrates the problem? It would be most helpful if you could report this in the jython bug tracker. http://www.jython.org/bugs Thanks, Alan. |
From: <ast...@gm...> - 2007-06-27 01:57:29
|
Hi Alan. I don't think I can make a small snippet for this.. If it's ok with you, I can send you the whole thing (18 files, around 85KB only) and you can test it (it's an IRC client). I would report it to bug tracker if I can somehow trace exactly which part of my script is causing the error. Hi Oti, it's not so much on "nicer look" btw :-) It's just that, when you try to run a batch file in Windows (98, in this case, sorry for being so obsolete), and the lines in that batch file aren't terminated with CR LF, the batch file won't be run correctly. But anyhow, thank you for taking it into consideration :-) The only reason I'm using Win98 is that I'm coding at work, and they haven't given me a new computer. So I'm stuck with this for a few more months.. Regards. On 6/27/07, Alan Kennedy <jyt...@xh...> wrote: > > It will be difficult to recreate the problem without seeing the code > that produces it. > > Can you reduce the code to a small snippet that illustrates the problem? > > It would be most helpful if you could report this in the jython bug tracker. > > http://www.jython.org/bugs > > Thanks, > > Alan. > > |
From: jh <jo...@da...> - 2007-06-27 16:12:11
|
I am using a tool called maxq that is written in jython and I want to make some MySQL queries from my test script. It looks like zxJDBC is available as the following lines execute OK but complains that the driver was not found. I picked up the driver name from the jython page http://www.jython.org/docs/zxjdbc.html. The driver name seems a bit unusual but other examples have multi-dotted names too. I also added mysql-connector-java-5.0.6-bin to the jar lib and the CLASSPATH and tried their driver names to no avail. Don't know much about jython per se but if you have any insight or ideas about accessing MySQL please sing out. Thanx, jh ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ from com.ziclix.python.sql import zxJDBC d, u, p, v = "jdbc:mysql://localhost", 'admin', 'myPassword', "org.gjt.mm.mysql.Driver" db = zxJDBC.connect(d, u, p, v) |
From: <cl...@br...> - 2007-06-27 17:55:13
|
Dear John,=20 i=B4m using Jython scripts based on standard Java JDBC interfaces and=20 this works well for me. My applications are running under DB2 databases=20 and i=B4ve chosen two types of driver implementations:=20 =20 A) ODBC based SQL drivers for Windows; B) DB2 to JDBC (type 4) drivers for LINUX;=20 =20 The ODBC based driver are also visible to Windows, or you can choose=20 a JDBC compliant Java driver delivered by the database vendor.=20 You will find the available drivers from a download page of MySQL:=20 http://dev.mysql.com/downloads/ For ex. the ODBC<->JDBC driver called "Connector/ODBC" and JDBC Java=20 driver called "MySQL Connector/J". Both will do the connectivity. Let me copy here some of the Jython statements to illustrate the=20 difference:=20 Sample for A (JDBC<->ODBC):=20 from java.sql import * from java.net.URL import * # load DB2 JDBC type 2 driver (app driver) urlstring =3D "sun.jdbc.odbc.JdbcOdbcDriver" Class.forName(urlstring).newInstance() # setup the properties prop =3D Properties() prop.put("user", username) prop.put("password", password) # Load the JDBC-ODBC bridge driver url =3D "jdbc:odbc:" + dbname conn =3D DriverManager.getConnection(url, prop)=20 stmt =3D conn.createStatement() if stmt.execute(query): rs.next() rowcnt =3D rs.getInt(1) .. =20 Sample for B (DB2 type for 4 drivers):=20 from java.sql import * from java.net.URL import * # load DB2 JDBC type 4 driver (app driver) Class.forName("com.ibm.db2.jcc.DB2Driver")=20 =20 # Load the JDBC type 4 driver url =3D "jdbc:db2://localhost:60000/" + dbname conn =3D DriverManager.getConnection(url,username,password) stmt =3D conn.createStatement() if stmt.execute(query): rs.next() rowcnt =3D rs.getInt(1) .. Have fun with Jython.=20 Regards,=20 Claude Claude Falbriard=20 Developer=20 AMS Hortol=E2ndia / SP - Brazil=20 phone: +55 13 8117 3316 e-mail: cl...@br... "jh" <jo...@da...>=20 Sent by: jyt...@li... 27/06/2007 13:11 To <jyt...@li...> cc Subject [Jython-users] MySQL I am using a tool called maxq that is written in jython and I want to make = some MySQL queries from my test script. It looks like zxJDBC is available=20 as=20 the following lines execute OK but complains that the driver was not=20 found.=20 I picked up the driver name from the jython page=20 http://www.jython.org/docs/zxjdbc.html. The driver name seems a bit=20 unusual=20 but other examples have multi-dotted names too. I also added=20 mysql-connector-java-5.0.6-bin to the jar lib and the CLASSPATH and tried=20 their driver names to no avail. Don't know much about jython per se but if you have any insight or ideas=20 about accessing MySQL please sing out. Thanx, jh ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ from com.ziclix.python.sql import zxJDBC d, u, p, v =3D "jdbc:mysql://localhost", 'admin', 'myPassword',=20 "org.gjt.mm.mysql.Driver" db =3D zxJDBC.connect(d, u, p, v) ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F Jython-users mailing list Jyt...@li... https://lists.sourceforge.net/lists/listinfo/jython-users |
From: jh <jo...@da...> - 2007-06-27 19:02:37
|
Thanks for posting Claude, Please forgive my ignorance but I am quite new to python and even more = of a neophyte where jython is concerned. Heck, I don't even know a great = deal of SQL but I digress. My point is that I am unsure of the = architecture and relationships of maxq, jython, jars, zxJDBC, etc. I = think maxq is written in jython 2.1. I get=20 NameError: Class when trying to execute your example so perhaps that is a feature of a = later version or maybe a Java function. I have tried to read up on these = topics b4 bothering you folks but it a lot of new stuff all at once for = an old bit twiddler. Nonetheless I appreciate your help. Best Regards, john |
From: Alan K. <jyt...@xh...> - 2007-06-27 18:12:27
|
[jh] > I am using a tool called maxq that is written in jython and I want to make > some MySQL queries from my test script. It looks like zxJDBC is available as > the following lines execute OK but complains that the driver was not found. > I picked up the driver name from the jython page > http://www.jython.org/docs/zxjdbc.html. The driver name seems a bit unusual > but other examples have multi-dotted names too. I also added > mysql-connector-java-5.0.6-bin to the jar lib and the CLASSPATH and tried > their driver names to no avail. I see that the driver name "org.gjt.mm.mysql.Driver" is specified on that zxjdbc page, which is now a few years old. If you've downloaded the MySQL driver recently, you probably want to use the updated driver name "com.mysql.jdbc.Driver". http://forums.mysql.com/read.php?39,117389,117389 Let us know if that helps. Alan. |
From: jh <jo...@da...> - 2007-06-27 18:36:03
|
> > I see that the driver name "org.gjt.mm.mysql.Driver" is specified on > that zxjdbc page, which is now a few years old. > > If you've downloaded the MySQL driver recently, you probably want to use > the updated driver name "com.mysql.jdbc.Driver". > > http://forums.mysql.com/read.php?39,117389,117389 > > Let us know if that helps. > Thanks for writing Alan. Tried that but still not found |
From: Alan K. <jyt...@xh...> - 2007-06-27 18:45:27
|
[Alan] >>I see that the driver name "org.gjt.mm.mysql.Driver" is specified on >>that zxjdbc page, which is now a few years old. >> >>If you've downloaded the MySQL driver recently, you probably want to use >>the updated driver name "com.mysql.jdbc.Driver". [jh] > Tried that but still not found OK, but it was worth a try. So to check if the driver is actually on your classpath, can you do this in your code? from org.gjt.mm.mysql import Driver If that import fails, then the driver is not on your classpath. Regards, Alan. |
From: jh <jo...@da...> - 2007-06-27 19:10:49
|
> from org.gjt.mm.mysql import Driver > > If that import fails, then the driver is not on your classpath. > Both of the following fail, no module named gjt or mysql: from org.gjt.mm.mysql import Driver fails from com.mysql.jdbc import Driver Here is the CLASSPATH from the maxq batch file. set CLASSPATH=%MAXQ%\lib\jython.jar;%MAXQ%\lib\junit.jar;%MAXQ%\lib\commons-httpclient.jar;%MAXQ%\lib\commons-logging.jar;%MAXQ%\lib\commons-lang.jar;%MAXQ%\lib\maxq.jar;%MAXQ%\..\jtidy\build\Tidy.jar;%MAXQ%\lib\commons-cli.jar;%MAXQ%\conf;%MAXQ%\lib\db-connector.jar;%MAXQ%\lib\velocity-1.4.jar;%MAXQ%\lib\log4j-1.2.8.jar;%MAXQ%\lib\zxJDBC.jar;%MAXQ%\lib\mysql-connector-java-5.0.6-bin |
From: David H. <Dav...@sa...> - 2007-06-27 19:25:01
|
You kept telling us that you had put "mysql-connector-java-5.0.6-bin" in = your CLASSPATH. I see from your trace below that is literally true. It should be mysql-connector-java-5.0.6-bin.jar instead. Notice how all = of the other entries in your CLASSPATH end in ".jar". David H -----Original Message----- From: jyt...@li... = [mailto:jyt...@li...] On Behalf Of jh Sent: Wednesday, June 27, 2007 3:11 PM To: Alan Kennedy; jyt...@li... Subject: Re: [Jython-users] MySQL > from org.gjt.mm.mysql import Driver > > If that import fails, then the driver is not on your classpath. > Both of the following fail, no module named gjt or mysql: from org.gjt.mm.mysql import Driver fails from com.mysql.jdbc import = Driver Here is the CLASSPATH from the maxq batch file. set CLASSPATH=3D%MAXQ%\lib\jython.jar;%MAXQ%\lib\junit.jar;%MAXQ%\lib\commons= -httpclient.jar;%MAXQ%\lib\commons-logging.jar;%MAXQ%\lib\commons-lang.ja= r;%MAXQ%\lib\maxq.jar;%MAXQ%\..\jtidy\build\Tidy.jar;%MAXQ%\lib\commons-c= li.jar;%MAXQ%\conf;%MAXQ%\lib\db-connector.jar;%MAXQ%\lib\velocity-1.4.ja= r;%MAXQ%\lib\log4j-1.2.8.jar;%MAXQ%\lib\zxJDBC.jar;%MAXQ%\lib\mysql-conne= ctor-java-5.0.6-bin=20 -------------------------------------------------------------------------= This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Jython-users mailing list Jyt...@li... https://lists.sourceforge.net/lists/listinfo/jython-users |
From: Frank W. <fwi...@gm...> - 2007-06-27 19:32:55
|
On 6/27/07, David Handy <Dav...@sa...> wrote: > You kept telling us that you had put "mysql-connector-java-5.0.6-bin" in your CLASSPATH. I see from your trace below that is literally true. > > It should be mysql-connector-java-5.0.6-bin.jar instead. Notice how all of the other entries in your CLASSPATH end in ".jar". > > David H Good eyes David! -Frank |
From: jh <jo...@da...> - 2007-06-27 20:27:50
|
I am Hoovering up all kinds of data now, can't believe how fast it is. Thanks again everyone! jh |
From: jh <jo...@da...> - 2007-06-27 19:20:06
|
If you're still tolerating my I suppose one would ask the value of %MAXQ%. Here is the batch file where %MAXQ% and the CLASSPATH are set. thanks, jh @echo off :: Most of this script is shamelessly stolen from the Jakarta Ant ant.bat :: script. Thanks guys! :: :: When you edit this file, be sure also to edit maxq and :: build.xml's 'run' target. :: :: NOTE: Win9x users need to explicitly set the path to MAXQ's install dir: set MAXQ=c:\build\latest_build\Source\QA\Framework\maxq if not "%OS%"=="Windows_NT" goto win9xStart :winNTStart @setlocal :: %~dp0 is name of current script under NT set MAXQ=%~dp0 :: : operator works similar to make : operator set MAXQ=%MAXQ:\bin\=% :: On NT/2K grab all arguments at once set CMD_LINE_ARGS=%* goto doneStart :win9xStart :: Slurp the command line args. This loop allows for an unlimited number of :: agruments (up to the command line limit, anyway). set CMD_LINE_ARGS= :setupArgs if %1a==a goto doneStart set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1 shift goto setupArgs :doneStart ::set CLASSPATH=%MAXQ%\lib\jython.jar;%MAXQ%\lib\junit.jar;%MAXQ%\lib\commons-httpclient.jar;%MAXQ%\lib\commons-logging.jar;%MAXQ%\lib\commons-lang.jar;%MAXQ%\lib\maxq.jar;%MAXQ%\..\jtidy\build\Tidy.jar;%MAXQ%\lib\commons-cli.jar;%MAXQ%\conf;%MAXQ%\lib\db-connector.jar;%MAXQ%\lib\velocity-1.4.jar;%MAXQ%\lib\log4j-1.2.8.jar set CLASSPATH=%MAXQ%\lib\jython.jar;%MAXQ%\lib\junit.jar;%MAXQ%\lib\commons-httpclient.jar;%MAXQ%\lib\commons-logging.jar;%MAXQ%\lib\commons-lang.jar;%MAXQ%\lib\maxq.jar;%MAXQ%\..\jtidy\build\Tidy.jar;%MAXQ%\lib\commons-cli.jar;%MAXQ%\conf;%MAXQ%\lib\db-connector.jar;%MAXQ%\lib\velocity-1.4.jar;%MAXQ%\lib\log4j-1.2.8.jar;%MAXQ%\lib\zxJDBC.jar;%MAXQ%\lib\mysql-connector-java-5.0.6-bin echo %CLASSPATH% :: options for "-Dhttp.cpRspTo=" are 'stdout' or 'file' :: option for jtidy is "-Djtidy.config=%MAXQ%\test_scripts\jtidy.cfg" :: option for debug is "-debug" java -enableassertions "-Dmaxq.dir=%MAXQ%" com.bitmechanic.maxq.Main %CMD_LINE_ARGS% |
From: jh <jo...@da...> - 2007-06-27 18:41:18
|
> > I see that the driver name "org.gjt.mm.mysql.Driver" is specified on > that zxjdbc page, which is now a few years old. > > If you've downloaded the MySQL driver recently, you probably want to use > the updated driver name "com.mysql.jdbc.Driver". > > http://forums.mysql.com/read.php?39,117389,117389 > > Let us know if that helps. > > Alan. > > Apologies for the partial post, too much clicking around while answering customer questions.... Thanks for posting Alan. Just tried your suggestion. Is there something I should have done other than add mysql-connector-java-5.0.6-bin to the jar lib and CLASSPATH? thanx, jh |
From: jh <jo...@da...> - 2007-06-28 20:13:31
|
Hello again, I am using acctList = c.fetchall() to get some acct numbers. A list of strings would be handy but it is returning some unwanted parenthesis as well. Perhaps there is another fetch type function but I have not found a list of what is available yet. Thanks, jh [('000000051001',), ('000000337001',), ('000000450001',), ('000000779001',), ('000000911001',)] |
From: David H. <Dav...@sa...> - 2007-06-28 20:22:27
|
c.fetchall() always returns a list of tuples because an SQL query could = have returned multiple fields per row of data. One way to un-tuplize your results, knowing you only want the first item = in each row: acctList =3D [row[0] for row in c.fetchall()] David H=20 -----Original Message----- From: jyt...@li... = [mailto:jyt...@li...] On Behalf Of jh Sent: Thursday, June 28, 2007 4:13 PM To: jyt...@li... Subject: Re: [Jython-users] MySQL Hello again, I am using acctList =3D c.fetchall() to get some acct numbers. A list = of strings would be handy but it is returning some unwanted parenthesis = as well. Perhaps there is another fetch type function but I have not = found a list of what is available yet. Thanks, jh [('000000051001',), ('000000337001',), ('000000450001',), = ('000000779001',), ('000000911001',)] -------------------------------------------------------------------------= This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Jython-users mailing list Jyt...@li... https://lists.sourceforge.net/lists/listinfo/jython-users |
From: jh <jo...@da...> - 2007-06-27 21:16:44
|
> Almost simultaneous good eyes w/David -- can't believe I didn't see that. > > -Frank > Well how do y'all think I feel. I confessed I was screwing up and even didn't know it..... and my eye still hurts when I drink ice tea. jh |
From: Oti <oh...@gm...> - 2007-06-26 23:11:48
|
astigmatik, windows line endings in generated .bat files are now checked in: http://jython.svn.sourceforge.net/viewvc/jython?view=rev&revision=3274 best wishes, Oti. On 6/26/07, Oti <oh...@gm...> wrote: > On 6/26/07, ast...@gm... <ast...@gm...> wrote: > > 1. For us Windows users, maybe the .bat files can be changed so that > > the newline character (i.e. CR and LF) reflect that of the one being > > used in Windows? At the moment, I do some tests in an old Win98 > > machine and the jython/jythonc.bat have Mac newline character. > > Hi astigmatik, > > the installer creates a java.lang.String, with "\n" as line breaks, > pulled out using a FileWriter. > I just installed 2.2rc1 on my Windows XP, and I got hex 0a as line > breaks. The same with a local build, all on Windows XP. This makes me > believe this is like Java does it. > > Nonetheless, I think I could provide you hex 0d0a line breaks. That's > what you are looking for, isn't it ? At least I got that when creating > a new .bat file using notepad.exe. |
From: Alan K. <jyt...@xh...> - 2007-06-27 19:24:24
|
jh wrote: > Here is the CLASSPATH from the maxq batch file. > > set > CLASSPATH= [snip] ; %MAXQ%\lib\mysql-connector-java-5.0.6-bin Hmm, that looks suspect. I've just downloaded the MySQL JDBC driver, version 5.0.6, and the jar is called mysql-connector-java-5.0.6-bin.jar ^^^^ So your CLASSPATH appears to be missing the ".jar" at the end of the MySQL library, unless you've copied it wrongly. Let us know. If that's not the problem, there are still other avenues to try. Regards, Alan. |
From: jh <jo...@da...> - 2007-06-27 19:44:59
|
Just had to shout. Thanks for the sharp eye there, I was definitely missing the .jar!! I copied the name from explorer and I forgot that in their infinite wisdom Windows hides the file extension. Next silly question. In MySQL administrator the data directory is D:\data\databases. Do I need to specify that in the connection statement somehow? jh from com.mysql.jdbc import Driver d, u, p, v = "jdbc:mysql://localhost", 'admin', 'data1', "com.mysql.jdbc.Driver" db = zxJDBC.connect(d, u, p, v) print 'db:', db db: <PyConnection user='admin@localhost', url='jdbc:mysql://localhost'> |
From: Frank W. <fwi...@gm...> - 2007-06-27 19:51:09
|
On 6/27/07, jh <jo...@da...> wrote: > Just had to shout. Thanks for the sharp eye there, I was definitely missing > the .jar!! > > I copied the name from explorer and I forgot that in their infinite wisdom > Windows hides the file extension. > > Next silly question. > > In MySQL administrator the data directory is D:\data\databases. Do I need to > specify that in the connection statement somehow? > > jh > > from com.mysql.jdbc import Driver > > d, u, p, v = "jdbc:mysql://localhost", 'admin', 'data1', for mysql you need to specify the name of the database like so: jdbc:mysql://localhost/dbname -Frank |
From: Alan K. <jyt...@xh...> - 2007-06-27 19:52:09
|
[jh] > In MySQL administrator the data directory is D:\data\databases. Do I need to > specify that in the connection statement somehow? No; database locations are all internal to the MySQL server; the client doesn't need to know them. Alan. |
From: Frank W. <fwi...@gm...> - 2007-06-27 20:33:57
|
On 6/27/07, Alan Kennedy <jyt...@xh...> wrote: > So your CLASSPATH appears to be missing the ".jar" at the end of the > MySQL library Almost simultaneous good eyes w/David -- can't believe I didn't see that. -Frank |