http://machine.homeunix.org/weblog/...database

Categories
CMS-Wiki-Blog
database
dinner-dinner-dinner
ETC
memo
Script_on_Java
SourceForge/Freshmeat
template_engine
testtool
this_site
workflow
XML
xul


PastDays


RSS

No reproduction or republication without written permission.



written by ... sakag_blue @ machine.homeunix.org


(or........... sakag_blue @ users.sourceforge.net)


Home


Powered by
ThingamaBlog




GoogleSearch In This Weblog...

さよなら、こんな毎日…

Inside db4o   :: 2007.11.07 9:19.32 ::

http://www.theserverside.com/tt/articles/article.tss?l=Insidedb4o

Permalink
Categories: {database}


H2 Database Engine 1.0.60    :: 2007.10.22 13:42.49 ::

http://www.h2database.com

User defined aggregate functions are not supported. The CSV tool has been improved. Linked tables in non-default schemas are now supported. The Console application was translated to Italian. Stack traces with SQL statements are now shorter. Problems with prepared statements and XA connections have been fixed

Permalink
Categories: {database}


H2 Database Engine 1.0.59    :: 2007.10.04 17:07.58 ::

http://www.h2database.com

If the process was killed while the database was running, sometimes the database could not be opened. This has been fixed. A few problems with subqueries and data types have been fixed. The fulltext search has been documented. The console application displays progress information when opening a large database. The regular expression comparison is now working as expected.

Permalink
Categories: {database}


JSqsh 0.9.4 もちょこっと   :: 2007.09.28 16:40.28 ::

http://jsqsh.wiki.sourceforge.net/

JSqsh (pronounced jay-skwish) is a Java re-implementation of a tool that I originally authored called sqsh (also hosted on SourceForge). The original sqsh was a Sybase-specific console based tool (i.e. non-graphical) that combined the ability to query the database with much of the functionality of a shell, such as piping the results of queries out to external programs (grep, more, etc.), expanding variables, redirecting output to files, command line editing, etc.

で、なぜTemplate_Engineかっていうと…こちら

Under the hood, jsqsh uses an engine called Velocity to implement its variable expansion logic. This means that you have access to more than just basic variable expansion; velocity supports its own small language with if/then/else logic and much more. For a detailed reference on Velocity, see the Velocity Users Guide.



ちょこっとだけWinXP/JRE1.6/h2-2006-08-31で…以下。




 C:\temp\jsqsh-0.9.4-win\jsqsh-0.9.4\bin のディレクトリ

2007/09/28  15:24    <DIR>          .
2007/09/28  15:24    <DIR>          ..
2007/09/27  15:11           436,661 JavaGetline.dll
2007/09/27  15:11            22,792 jsqsh.dll
2007/09/27  15:11            19,456 jsqsh.exe
   3 個のファイル             478,909 バイト
   2 個のディレクトリ  11,625,619,456 バイトの空き領域

C:\temp\jsqsh-0.9.4-win\jsqsh-0.9.4\bin>jsqsh.exe
WELCOME TO SQSH!

It looks like this is the first time that you've run sqsh (or
you just typed '\help welcome' at the sqsh prompt). If this is
the first time you have run sqsh, you will find that you have
a shiney new directory called '.jsqsh' in your home directory
and that this directory contains a couple of files that you
should be aware of:

drivers.xml - Sqsh comes pre-defined to understand how to use
   a fixed number of JDBC drivers, however this file may be
   used to teach it how to recognize other JDBC drivers. The
   file is pretty well commented, so hopefully it is enough
   to get you started.

sqshrc - Everything contained in this file is executed just
   as if you had typed commands at the sqsh prompt and is
   the place where you can set variables and configure sqsh
   to your likings.

Sqsh is intended to be self-documenting. If you would like
to see this information again, then type '\help welcome' at
the sqsh prompt, or run '\help' to see a list of all help
topics that are available.
JSqsh Release 0.9.4, Copyright (C) 2007, Scott C. Gray
Type \help for available help topics
1>
1> \help
+----------+-----------------+--------------------------------------------------
-------------+
| Type     | Name            | Description
 |
+----------+-----------------+--------------------------------------------------
-------------+
| Command  | \alias          | Creates an alias
 |
| Command  | \buf-append     | Appends the contents of one SQL buffer into anoth
er           |
| Command  | \buf-copy       | Copies the contents of one SQL buffer into anothe
r            |
| Command  | \buf-edit       | Edits a SQL buffer
 |
| Command  | \buf-load       | Loads an external file into a SQL buffer
 |
| Command  | \connect        | Establishes a connection to a database.
 |
| Command  | \databases      | Displays set of available databases (catalogs)
 |
| Command  | \describe       | Displays a description of a table (or view)
 |
| Command  | \drivers        | Displays a list of JDBC drivers known by sqsh.
 |
| Command  | \echo           | Displays a line of text.
 |
| Command  | \end            | Ends the current session
 |
| Command  | \go             | Executes the contents of the current buffer
 |
| Command  | \help           | Displays help for a sqsh command
 |
| Command  | \history        | Displays a history of SQL statements executed
 |
| Command  | \macro          | Creates a velocimacro from the current buffer
 |
| Command  | \quit           | Exits sqsh
 |
| Command  | \reset          | Clears the current SQL buffer of its contents.
 |
| Command  | \session        | Displays set of sessions or switches to another s
ession.      |
| Command  | \set            | Sets a variable or displays all variables.
 |
| Command  | \tables         | Displays tables, views, synonyms, etc.
 |
| Command  | \unset          | Removes a sqsh variable.
 |
| Command  | \wrap           | Used internally for testing of sqsh's word-wrappi
ng facility. |
| Variable | autocommit      | Contains the connection's current auto-commit sta
tus          |
| Variable | classpath       | Defines JDBC driver locations
 |
| Variable | connected       | Indicates whether or not the current session is c
onnected     |
| Variable | database        | Contains the connection's current database
 |
| Variable | dflt_autocommit | Controls the autocommit setting for new connectio
ns           |
| Variable | dflt_database   | Controls the default database for new connections
 |
| Variable | expand          | Determines if SQL will have variable expansion pe
rformed      |
| Variable | fmt_date        | Controls the representation of date
 |
| Variable | fmt_datetime    | Controls the representation of datatimes
 |
| Variable | fmt_float       | Controls the representation of floating point val
ues          |
| Variable | fmt_int         | Controls the representation of integer values
 |
| Variable | fmt_time        | Controls the representation of time
 |
| Variable | histsize        | Controls the number of SQL statements retained in
 history     |
| Variable | id              | Contains the session id of the current session
 |
| Variable | interactive     | Whether or not the current session is interactive
 |
| Variable | lineno          | Contains the current line number being entered
 |
| Variable | maxlen          | The maximum display width of a column
 |
| Variable | maxrows         | Limits the size of query results
 |
| Variable | null            | Controls the representation of nulls
 |
| Variable | prompt          | Defines the query prompt
 |
| Variable | shell           | Defines the O/S shell used to execute commands
 |
| Variable | style           | Controls the display style of SQL output
 |
| Variable | terminator      | Defines the SQL statement terminator
 |
| Topic    | buffers         | SQL buffers and how they are referenced.
 |
| Topic    | jni             | Features provided by the sqsh JNI layer
 |
| Topic    | license         | Displays the sqsh license
 |
| Topic    | readline        | Describes sqsh's use of GNU Readline
 |
| Topic    | welcome         | The sqsh welcome message
 |
+----------+-----------------+--------------------------------------------------
-------------+
1>
1> drivers
2> \drivers
+-----------------+-------------+----------------------------------------------+
----------------------------------------------+
| Target          | Name        | URL                                          |
 Class                                        |
+-----------------+-------------+----------------------------------------------+
----------------------------------------------+
|   IBM DB2       | db2         | jdbc:db2://${server}:${port}                 |
 COM.ibm.db2.jdbc.net.DB2Driver               |
|   MS SQL Server | mssql       | jdbc:microsoft:sqlserver://${server}:${port} |
 com.microsoft.sqlserver.jdbc.SQLServerDriver |
| * MS SQL Server | mssql-jtds  | jdbc:jtds:sqlserver://${server}:${port}      |
 net.sourceforge.jtds.jdbc.Driver             |
|   MySQL         | mysql       | jdbc:mysql://${server}:${port}               |
 org.gjt.mm.mysql.Driver                      |
|   Oracle        | oracle      | jdbc:oracle:thin:@${server}:${port}:${SID}   |
 oracle.jdbc.driver.OracleDriver              |
|   PostgreSQL    | pgsql       | jdbc:postgresql://${server}:${port}          |
 org.postgresql.Driver                        |
|   Sybase        | sybase      | jdbc:sybase:Tds:${server}:${port}            |
 com.sybase.jdbc2.jdbc.SybDriver              |
| * Sybase        | sybase-jtds | jdbc:jtds:sybase://${server}:${port}         |
 net.sourceforge.jtds.jdbc.Driver             |
+-----------------+-------------+----------------------------------------------+
----------------------------------------------+
2> quit




*****H2に関してはDriverが同梱されていないので
     $HOMEにある.jsqsh/drivers.xmlを編集、以下のようなエントリを追加します。*****



   <Driver name="h2" 
   target="H2"
   class="org.h2.Driver"
   analyzer="org.sqsh.analyzers.TSQLAnalyzer"
   url="jdbc:h2:tcp://${server}:${port}/test">
 
   <Variable name="server">localhost</Variable>
   <Variable name="port">9092</Variable>
   </Driver>




*****で、再度実行。*****


C:\temp\jsqsh-0.9.4-win\jsqsh-0.9.4\bin>jsqsh.exe
JSqsh Release 0.9.4, Copyright (C) 2007, Scott C. Gray
Type \help for available help topics
1> \drivers
+-----------------+-------------+----------------------------------------------+
----------------------------------------------+
| Target          | Name        | URL                                          |
 Class                                        |
+-----------------+-------------+----------------------------------------------+
----------------------------------------------+
|   IBM DB2       | db2         | jdbc:db2://${server}:${port}                 |
 COM.ibm.db2.jdbc.net.DB2Driver               |
| * H2            | h2          | jdbc:h2:tcp://${server}:${port}/test         |
 org.h2.Driver                                |
|   MS SQL Server | mssql       | jdbc:microsoft:sqlserver://${server}:${port} |
 com.microsoft.sqlserver.jdbc.SQLServerDriver |
| * MS SQL Server | mssql-jtds  | jdbc:jtds:sqlserver://${server}:${port}      |
 net.sourceforge.jtds.jdbc.Driver             |
|   MySQL         | mysql       | jdbc:mysql://${server}:${port}               |
 org.gjt.mm.mysql.Driver                      |
|   Oracle        | oracle      | jdbc:oracle:thin:@${server}:${port}:${SID}   |
 oracle.jdbc.driver.OracleDriver              |
|   PostgreSQL    | pgsql       | jdbc:postgresql://${server}:${port}          |
 org.postgresql.Driver                        |
|   Sybase        | sybase      | jdbc:sybase:Tds:${server}:${port}            |
 com.sybase.jdbc2.jdbc.SybDriver              |
| * Sybase        | sybase-jtds | jdbc:jtds:sybase://${server}:${port}         |
 net.sourceforge.jtds.jdbc.Driver             |
+-----------------+-------------+----------------------------------------------+
----------------------------------------------+


1>  \connect -d h2 -U SASA -S localhost -p 9092
Password:*******
[localhost][SASA] 1>
[localhost][SASA] 1> select count(*) from AAAAA;
+----------+
| COUNT(*) |
+----------+
|        2 |
+----------+
1 rows in results (first row: 0ms; total: 16ms)
[localhost][SASA] 1>
[localhost][SASA] 2> \echo "sasasa"
sasasa
[localhost][SASA] 2>
[localhost][SASA] 3> \set wo="aaa"
[localhost][SASA] 4> \echo $wo
aaa




\set文に日本語が設定できるとうれしいんだけどなあ…。

Permalink
Categories: {database} {Script_on_Java} {template_engine}


The busy Java developer's guide to db4o: Arrays and collections   :: 2007.09.20 7:06.15 ::

http://www.ibm.com/developerworks/java/library/j-db4o5.html

Permalink
Categories: {database}


H2 Database Engine 1.0.58 (2007-09-15)   :: 2007.09.17 14:38.31 ::

http://www.h2database.com

Empty space in the database files is now better reused, and file sizes are now increased in smaller blocks. Optimization was done for independent subqueries, explain plan, and IN(.., NULL). The version (build) number is now included in the manifest file. The MultiDimension tool (for spatial queries) has been improved. Oracle compatibility was added for SYSDATE and CHR. A workaround has been implemented for systems where SecureRandom.generateSeed is slow.

Permalink
Categories: {database}


Increase productivity in Java database development with new IBM pureQuery tools    :: 2007.09.15 12:30.59 ::

http://www.ibm.com/developerworks/db2/library/techarticle/dm-0709surange/

Permalink
Categories: {database}


Release Candidate for Hibernate Search 3.0.0    :: 2007.09.05 8:17.11 ::

http://blog.emmanuelbernard.com/2007/09/release-candidate-for-hibernate-search.html

Permalink
Categories: {database}


DbFit 0.9 : Test-driven database development   :: 2007.09.05 8:11.36 ::

http://gojko.net/fitnesse/dbfit

DbFit is a set of FIT fixtures which enables FIT/FitNesse tests to execute directly against a database. This enables developers to manipulate database objects in a relational tabular form, making database testing and management much easier then with xUnit-style tools. The library is free to use, released under GNU GPL.

Permalink
Categories: {database} {testtool}


VelocityWeb 1.0   :: 2007.09.04 15:17.52 ::

http://velocityweb.sourceforge.net/

VelocityWeb is a zero-configuration web application framework for J2EE. It provides new technology for developing/unit testing without J2EE server.It uses Velocity HTML files as view and Apache Common DBUtils as DAO with pattern TRANSACTION_PER_REQUEST.

Easy layout for web pages, uniform success/fail page, simple O/R mapping using ANSI/ISO SQL(DBUtils), generated DAO classes for normal case such as insert/update/delete/get by PK.

Permalink
Categories: {database} {template_engine}


ActiveRecord-JDBC 0.5 Released   :: 2007.08.27 7:32.50 ::

http://rubyforge.org/forum/forum.php?forum_id=16990

Permalink
Categories: {database}


JLINQ: IBM's new paradigm for writing Java database applications    :: 2007.08.22 7:13.46 ::

http://www.ibm.com/developerworks/db2/library/techarticle/dm-0708ahadian/

Permalink
Categories: {database}


13 August 2007 - Apache Derby 10.3.1.4 released   :: 2007.08.19 14:50.51 ::

http://db.apache.org/derby

Permalink
Categories: {database}


ORM with JRuby - ActiveHibernate    :: 2007.08.19 14:12.34 ::

http://www.infoq.com/news/2007/08/jruby-active-hibernate

Permalink
Categories: {database} {Script_on_Java}


MyOODBのJythonのsample   :: 2007.08.11 14:50.22 ::

http://myoodb.sourceforge.net/index.html

MyOODB is a Database, Web and Gaming Framework. A holistic approach to software development. Bringing the power of Object-Oriented-Design back to Application and Web Development ( Java, Jython, AJAX, Coming Soon: C++ ).

MyOODBはバイナリで提供されてないので、まずコンパイル…antが同梱されてます。JythonのsampleはJythonクライアントおよび JythonWebアプレットクライアントの2種類です。



まず、Jythonクライアントから…最初にserver.batを次にRunJython.batを起動します。 RunJython.batはスクリプト指定でもインタラクティブでも操作可能…ということでログを一気に。






C:\temp\myoodb-2.1.1\project\build\examples\org\myoodb\jython>
C:\temp\myoodb-2.1.1\project\build\examples\org\myoodb\jython>runServer.bat
Installing Database in db ...
Installation Complete.
MyOODB version 2.1.1
Copyright (C) 2003-2007 The MyOODB Project
Initializing...
Verifying Database Roots...
Verifying Roots Complete!
Initialization Complete!
Database open for business
Database open for tunnel business







C:\temp\myoodb-2.1.1\project\build\examples\org\myoodb\jython>
C:\temp\myoodb-2.1.1\project\build\examples\org\myoodb\jython>
C:\temp\myoodb-2.1.1\project\build\examples\org\myoodb\jython>runJython.bat Clie
nt.py
New persons in database: John Smith the 0
  - Existing persons in database: John Smith the 0 / getTime:31L

C:\temp\myoodb-2.1.1\project\build\examples\org\myoodb\jython>Jython.py
Traceback (most recent call last):
  File "C:\temp\myoodb-2.1.1\project\build\examples\org\myoodb\jython\Jython.py"
, line 27, in ?
import java.lang.String
ImportError: No module named java.lang.String

C:\temp\myoodb-2.1.1\project\build\examples\org\myoodb\jython>runJython.bat
MyOODB Command Line Interpreter: v1.7 Interactive Mode
>>> import java.lang
>>> import org.myoodb.MyOodbDatabase
>>> db = org.myoodb.MyOodbDatabase.open("tcp://localhost:54321","admin","admin")

>>> root = db.getRoot("Persons")
>>> root
[John Smith the 0]
>>> person = db.createObject("org.myoodb.objects.PersonDbImpl")
>>> person.setName("test_test")
>>> root.add(person)
1
>>> root
[John Smith the 0, test_test]
>>>








先に使ったClient.pyは以下です。



###############################################################################
##
##   Copyright (C) 2003-2005 by Thomas M. Hazel, MyOODB (www.myoodb.org)
##
##                          All Rights Reserved
##
##   This program is free software; you can redistribute it and/or modify
##   it under the terms of the GNU General Public License and GNU Library
##   General Public License as published by the Free Software Foundation;
##   either version 2, or (at your option) any later version.
##
##   This program is distributed in the hope that it will be useful,
##   but WITHOUT ANY WARRANTY; without even the implied warranty of
##   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
##   GNU General Public License and GNU Library General Public License
##   for more details.
##
##   You should have received a copy of the GNU General Public License
##   and GNU Library General Public License along with this program; if
##   not, write to the Free Software Foundation, 675 Mass Ave, Cambridge,
##   MA 02139, USA.
##
###############################################################################

PORT = 54321
USERNAME = "admin"
PASSWORD = "admin"

import java.lang
import org.myoodb.MyOodbDatabase

#import org.myoodb.objects.PersonDbImpl
#import org.myoodb.collectable.LinkedListDbImpl

db = org.myoodb.MyOodbDatabase.open("tcp://localhost:" + PORT, USERNAME, PASSWORD)
root = db.getRoot("Persons");

if root == None:
     root = db.createRoot("Persons", "org.myoodb.collectable.LinkedListDbImpl")
     #root = db.createRoot("Persons", org.myoodb.collectable.LinkedListDbImpl)

person = db.createObject("org.myoodb.objects.PersonDbImpl")
#person = db.createObject(org.myoodb.objects.PersonDbImpl)

person.setName("John Smith the " + root.size())
root.add(person); 

print "New persons in database: " + person

for person in root.toArrayList().iterator():
     start = java.lang.System.currentTimeMillis()
     name = person.getName()
     stop = java.lang.System.currentTimeMillis()

     print "  - Existing persons in database: " + name + " / getTime:" + (stop-start)





次にJythonWebアプレットクライアントを。RunServer.batを起動してブラウザで確認しますと…。





C:\temp\myoodb-2.1.1\project\build\examples\org\myoodb\jythonWeb>runServer.bat

:
:
:


  署名中: org/myoodb/exception/RemoteException.class
  署名中: org/myoodb/exception/RestoreException.class
  署名中: org/myoodb/exception/TimeoutException.class
  署名中: org/myoodb/exception/TransactionException.class
  署名中: org/myoodb/exception/VerifyException.class
  署名中: org/myoodb/util/EventSemaphore.class
  署名中: org/myoodb/util/FastByteArrayInputStream.class
  署名中: org/myoodb/util/FastByteArrayOutputStream.class
  署名中: org/myoodb/util/FastObjectInputStream.class
  署名中: org/myoodb/util/FastObjectOutputStream.class
  署名中: org/myoodb/util/LockSemaphore.class
  署名中: org/myoodb/util/Logger.class
  署名中: org/myoodb/util/MimeBase64.class

警告:
署名者の証明書は期限切れです。
MyOODB version 2.1.1
Copyright (C) 2003-2007 The MyOODB Project
Initializing...
Verifying Database Roots...
Verifying Roots Complete!
Initialization Complete!
Database open for business
Database open for tunnel business
14:13:17.375 EVENT  Checking Resource aliases
14:13:17.969 EVENT  Starting Jetty/4.2.15rc0
14:13:17.984 EVENT  Started org.mortbay.http.NCSARequestLog@b1b4c3
14:13:18.218 EVENT  Started WebApplicationContext[/,C:\temp\myoodb-2.1.1\project
\build\examples\org\myoodb\jythonWeb/webapp]
14:13:18.468 EVENT  Started WebApplicationContext[/,C:\temp\myoodb-2.1.1\project
\build\examples\org\myoodb\jythonWeb/webapp]
14:13:18.546 EVENT  Started SocketListener on 0.0.0.0:80
14:13:18.546 EVENT  Started org.mortbay.jetty.Server@1de3f2d




















えーと、アプレットのソースは以下。



###############################################################################
##
##   Copyright (C) 2003-2005 by Thomas M. Hazel, MyOODB (www.myoodb.org)
##
##                          All Rights Reserved
##
##   This program is free software; you can redistribute it and/or modify
##   it under the terms of the GNU General Public License and GNU Library
##   General Public License as published by the Free Software Foundation;
##   either version 2, or (at your option) any later version.
##
##   This program is distributed in the hope that it will be useful,
##   but WITHOUT ANY WARRANTY; without even the implied warranty of
##   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
##   GNU General Public License and GNU Library General Public License
##   for more details.
##
##   You should have received a copy of the GNU General Public License
##   and GNU Library General Public License along with this program; if
##   not, write to the Free Software Foundation, 675 Mass Ave, Cambridge,
##   MA 02139, USA.
##
###############################################################################

# XXX: First teach Jython about up coming packages we'll import
import org.python.core.PySystemState
org.python.core.PySystemState.add_package("java.awt")
org.python.core.PySystemState.add_package("java.util")
org.python.core.PySystemState.add_package("java.lang")
org.python.core.PySystemState.add_package("javax.swing")

# Now we can import this example's packages
import java.awt
import javax.swing

LOCATION = 0

def printMessage(event):
button = event.getSource()
button.setForeground(java.awt.Color.RED)
button.setText("MyOOWEB with JYTHON !")

button = createButton()
createFrame(button)
return

def createFrame(button):
global LOCATION
frame = javax.swing.JFrame(title="MyOOWEB Frame", size = (325, 100))
frame.setLocation(LOCATION, LOCATION)
frame.defaultCloseOperation=javax.swing.JFrame.EXIT_ON_CLOSE;
frame.contentPane.add(button)
frame.visible=1
LOCATION = LOCATION + 100
return

def createButton():
return javax.swing.JButton("Click to see what serious WEB 2.0 hackers use?", actionPerformed = printMessage)

button = createButton()
createFrame(button)



うーん、これは何がMyOODBと関係あるんだろう…。

実行環境はおなじみWinXP/JRE1.6/MyOODBは2.1.1.10でした。

Permalink
Categories: {database} {Script_on_Java}


Gemstone OODB to support JRuby, Rubinius   :: 2007.08.08 7:14.32 ::

http://www.infoq.com/news/2007/08/gemstone-ruby

Permalink
Categories: {database} {Script_on_Java}


H2 Database Engine 1.0/2007-08-02    :: 2007.08.05 10:46.08 ::

http://www.h2database.com/html/frame.html

H2 now supports the PostgreSQL network protocol, and can be accessed using the PostgreSQL ODBC driver. Regular expressions are now supported. The per session undo log and referential integrity can be disabled. Default settings have been changed to save memory. NOT, boolean columns, and certain joins are optimized now. Part of the documentation has been translated to Japanese.

お、日本語ページ

Permalink
Categories: {database}


Hibernate 3.2.5.ga   :: 2007.08.01 8:22.57 ::

http://www.hibernate.org/

詳しくはこちら

Permalink
Categories: {database}


MyOODB 2.1.1   :: 2007.08.01 8:20.26 ::

http://www.myoodb.org/

This release adds a Gaming option so MyOODB can be built as a gaming framework through the use of memory-only distributed objects over the UDP protocol. It also includes some database concurrency fixes in the area of backup and restore.

Permalink
Categories: {database}


SmallSQL 0.19    :: 2007.08.01 8:18.12 ::

http://www.smallsql.de/

JOIN performance was greatly improved with a new algorithm. German and Italian translations of the error messages were added, and it is easy to add more translations. Some bugs were fixed.

Permalink
Categories: {database}