varchar
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 21
wapircgw 0.1.7
wapircgw helps you easily connect to irc networks using your wap browser on your mobile phone. more>>
wapircgw helps you easily connect to irc networks using your wap browser on your mobile phone. You just need a Linux box with internet connection to act as a gateway between your mobile phone and the irc network. You can join to multiple channels and talk to others privately like when you use a real irc client.
wapircgw consists of 2 cooperative pieces: wapircphp and wapircd.
wapircd is the daemon which handles connections to irc networks and requests from your mobile phone. wapircphp generates wml webpages that you can view with your mobile phone. So youll need a web-server application with PHP and MySQL support (ex. Apache). MySQL support is needed because of the user administration and settings storage.
Example: when a user logs in with his/her mobile phone, wapircphp communicates with wapircd, requesting a new irc connection to be made. So wapircd connects to the given irc server and joins the channels which the user gave in his/her settings. When the user logs out (or does nothing for a few minutes), wapircd closes the connection with the irc server.
Installation:
Dont forget to edit wapircd password in wapircd/src/config.h!
Then run ./configure and then make. PLEASE REMEMBER: you dont have to be root to run wapircd. Its more secure to run it as a single user. Youll find the wapircd binary in the src dir after running make, but if youre lazy you can run make install as root and itll place the binary in /usr/local/bin. Run wapircd -h for further options. You dont have to have write access in the directory you start wapircd, because everything is stored in memory.
After starting wapircd, copy the contents of the wapircphp directory to your website. Add the following table to your MySQL database:
CREATE TABLE `wapirc` (
`user` varchar(20) default NULL,
`pass` varchar(20) default NULL,
`ircserver` varchar(50) default NULL,
`ircport` varchar(5) default 6667,
`ircuser` varchar(50) NOT NULL default wapirc,
`ircnick` varchar(50) default NULL,
`ircpass` varchar(20) default NULL,
`autojoin` varchar(255) default NULL,
`loglines` tinyint(3) unsigned NOT NULL default 20,
`loglineslong` tinyint(3) unsigned NOT NULL default 100,
`allowrawirccmds` tinyint(1) NOT NULL default 0
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Enhancements:
- Host resolving did not work under Solaris; this has been fixed.
<<lesswapircgw consists of 2 cooperative pieces: wapircphp and wapircd.
wapircd is the daemon which handles connections to irc networks and requests from your mobile phone. wapircphp generates wml webpages that you can view with your mobile phone. So youll need a web-server application with PHP and MySQL support (ex. Apache). MySQL support is needed because of the user administration and settings storage.
Example: when a user logs in with his/her mobile phone, wapircphp communicates with wapircd, requesting a new irc connection to be made. So wapircd connects to the given irc server and joins the channels which the user gave in his/her settings. When the user logs out (or does nothing for a few minutes), wapircd closes the connection with the irc server.
Installation:
Dont forget to edit wapircd password in wapircd/src/config.h!
Then run ./configure and then make. PLEASE REMEMBER: you dont have to be root to run wapircd. Its more secure to run it as a single user. Youll find the wapircd binary in the src dir after running make, but if youre lazy you can run make install as root and itll place the binary in /usr/local/bin. Run wapircd -h for further options. You dont have to have write access in the directory you start wapircd, because everything is stored in memory.
After starting wapircd, copy the contents of the wapircphp directory to your website. Add the following table to your MySQL database:
CREATE TABLE `wapirc` (
`user` varchar(20) default NULL,
`pass` varchar(20) default NULL,
`ircserver` varchar(50) default NULL,
`ircport` varchar(5) default 6667,
`ircuser` varchar(50) NOT NULL default wapirc,
`ircnick` varchar(50) default NULL,
`ircpass` varchar(20) default NULL,
`autojoin` varchar(255) default NULL,
`loglines` tinyint(3) unsigned NOT NULL default 20,
`loglineslong` tinyint(3) unsigned NOT NULL default 100,
`allowrawirccmds` tinyint(1) NOT NULL default 0
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Enhancements:
- Host resolving did not work under Solaris; this has been fixed.
Download (0.086MB)
Added: 2006-04-27 License: GPL (GNU General Public License) Price:
1277 downloads
Data::Type 0.01.04
Data::Type is a Perl module with versatile data and value types. more>>
Data::Type is a Perl module with versatile data and value types.
SYNOPSIS
use Data::Type qw(:all);
use Error qw(:try);
try
{
verify $email , EMAIL;
verify $homepage , URI(http);
verify $cc , CREDITCARD( MASTERCARD, VISA );
verify $answer_a , YESNO;
verify $gender , GENDER;
verify one , ENUM( qw(one two three) );
verify [qw(two six)], SET( qw(one two three four five six) ) );
verify $server_ip4 , IP(v4);
verify $server_ip6 , IP(v6);
verify A35231AH1 , CINS;
verify 14565935 , ISSN;
verify DE , LANGCODE;
verify German , LANGNAME;
verify 012345678905, UPC();
verify 5276440065421319, CREDITCARD( MASTERCARD ) );
verify ATGCAAAT , BIO::DNA;
verify AUGGGAAAU , BIO::RNA;
verify 01001001110110101, BINARY;
verify 0F 0C 0A, HEX;
verify 0 , DEFINED;
verify 234 , NUM( 20 );
verify 1 , BOOL( true );
verify 100 , INT;
verify 1.1 , REAL;
my $foo = bless( 123, SomeThing );
verify $foo , REF;
verify $foo , REF( qw(SomeThing Else) );
verify [ bar ] , REF( ARRAY );
verify x 20 , VARCHAR( 20 );
verify 2001-01-01 , DATE( MYSQL );
verify 16 Nov 94 22:28:20 PST , DATE( DATEPARSE );
verify 9999-12-31 23:59:59, DATETIME;
verify 1970-01-01 00:00:00, TIMESTAMP;
verify -838:59:59 , TIME;
verify 2155 , YEAR;
verify 69 , YEAR(2);
verify 0 x 20 , TINYTEXT;
verify 0 x 20 , MEDIUMTEXT;
verify 0 x 20 , LONGTEXT;
verify 0 x 20 , TEXT;
verify 80 , PORT;
verify www.cpan.org, DOMAIN;
}
catch Type::Exception with
{
my $e = shift;
printf "Expected %s %s at %s line %sn",
$e->value,
$e->type->info,
$e->was_file,
$e->was_line;
foreach my $entry ( testplan( $e->type ) )
{
printf "texpecting it %s %s ", $entry->[1] ? is : is NOT, $entry->[0]->info();
}
};
# believe it or not, this really works
foreach ( EMAIL, WORD, CREDITCARD( MASTERCARD, VISA ), BIO::DNA, HEX )
{
print $_->info;
print $_->usage;
print $_->export; # does it have other names
print $_->param; # what are my choice i.e. [yes,no]
print $_->isa( IType::Business ); # is it a Business related type ?
print $_->VERSION; # first apperance in Data::Type release
}
# tied interface (alias typ)
try
{
typ ENUM( qw(DNA RNA) ), ( my $a, my $b );
print "a is typed" if istyp( $a );
$a = DNA; # $alias only accepts DNA or RNA
$a = RNA;
$a = xNA; # throws exception
untyp( $alias );
}
catch Type::Exception ::with
{
printf "Expected %s %s at %s line %sn",
$e->value,
$e->type->info,
$e->was_file,
$e->was_line;
};
dverify( $email, EMAIL ) or die $!;
my $g = Data::Type::Guard->new(
allow => [ Human, Others ], # blessed objects of that type
tests =>
{
email => EMAIL( 1 ), # mxcheck ON ! see Email::Valid
firstname => WORD,
social_id => [ NUM, VARCHAR( 10 ) ],
contacts => sub { my %args = @_; exists $args{lucy} },
}
);
$g->inspect( $h );
# compact version
overify { email => EMAIL( 1 ), firstname => WORD }, $object_a, $object_b;
print toc();
print catalog();
This module supports versatile data and value types. Out of the ordinary it supports parameterised types (like databases have i.e. VARCHAR(80) ). When you try to feed a typed variable against some odd data, this module explains what he would have expected.
<<lessSYNOPSIS
use Data::Type qw(:all);
use Error qw(:try);
try
{
verify $email , EMAIL;
verify $homepage , URI(http);
verify $cc , CREDITCARD( MASTERCARD, VISA );
verify $answer_a , YESNO;
verify $gender , GENDER;
verify one , ENUM( qw(one two three) );
verify [qw(two six)], SET( qw(one two three four five six) ) );
verify $server_ip4 , IP(v4);
verify $server_ip6 , IP(v6);
verify A35231AH1 , CINS;
verify 14565935 , ISSN;
verify DE , LANGCODE;
verify German , LANGNAME;
verify 012345678905, UPC();
verify 5276440065421319, CREDITCARD( MASTERCARD ) );
verify ATGCAAAT , BIO::DNA;
verify AUGGGAAAU , BIO::RNA;
verify 01001001110110101, BINARY;
verify 0F 0C 0A, HEX;
verify 0 , DEFINED;
verify 234 , NUM( 20 );
verify 1 , BOOL( true );
verify 100 , INT;
verify 1.1 , REAL;
my $foo = bless( 123, SomeThing );
verify $foo , REF;
verify $foo , REF( qw(SomeThing Else) );
verify [ bar ] , REF( ARRAY );
verify x 20 , VARCHAR( 20 );
verify 2001-01-01 , DATE( MYSQL );
verify 16 Nov 94 22:28:20 PST , DATE( DATEPARSE );
verify 9999-12-31 23:59:59, DATETIME;
verify 1970-01-01 00:00:00, TIMESTAMP;
verify -838:59:59 , TIME;
verify 2155 , YEAR;
verify 69 , YEAR(2);
verify 0 x 20 , TINYTEXT;
verify 0 x 20 , MEDIUMTEXT;
verify 0 x 20 , LONGTEXT;
verify 0 x 20 , TEXT;
verify 80 , PORT;
verify www.cpan.org, DOMAIN;
}
catch Type::Exception with
{
my $e = shift;
printf "Expected %s %s at %s line %sn",
$e->value,
$e->type->info,
$e->was_file,
$e->was_line;
foreach my $entry ( testplan( $e->type ) )
{
printf "texpecting it %s %s ", $entry->[1] ? is : is NOT, $entry->[0]->info();
}
};
# believe it or not, this really works
foreach ( EMAIL, WORD, CREDITCARD( MASTERCARD, VISA ), BIO::DNA, HEX )
{
print $_->info;
print $_->usage;
print $_->export; # does it have other names
print $_->param; # what are my choice i.e. [yes,no]
print $_->isa( IType::Business ); # is it a Business related type ?
print $_->VERSION; # first apperance in Data::Type release
}
# tied interface (alias typ)
try
{
typ ENUM( qw(DNA RNA) ), ( my $a, my $b );
print "a is typed" if istyp( $a );
$a = DNA; # $alias only accepts DNA or RNA
$a = RNA;
$a = xNA; # throws exception
untyp( $alias );
}
catch Type::Exception ::with
{
printf "Expected %s %s at %s line %sn",
$e->value,
$e->type->info,
$e->was_file,
$e->was_line;
};
dverify( $email, EMAIL ) or die $!;
my $g = Data::Type::Guard->new(
allow => [ Human, Others ], # blessed objects of that type
tests =>
{
email => EMAIL( 1 ), # mxcheck ON ! see Email::Valid
firstname => WORD,
social_id => [ NUM, VARCHAR( 10 ) ],
contacts => sub { my %args = @_; exists $args{lucy} },
}
);
$g->inspect( $h );
# compact version
overify { email => EMAIL( 1 ), firstname => WORD }, $object_a, $object_b;
print toc();
print catalog();
This module supports versatile data and value types. Out of the ordinary it supports parameterised types (like databases have i.e. VARCHAR(80) ). When you try to feed a typed variable against some odd data, this module explains what he would have expected.
Download (0.022MB)
Added: 2006-10-02 License: Perl Artistic License Price:
1117 downloads
nsFB 1.2
nsFB is an internal AOLserver database driver for the Firebird or Interbase database. more>>
nsFB is an internal AOLserver database driver for the Firebird or Interbase database. It supports reading and writing BLOB data and ARRAY data.
nsFB project supports the full size of varchar (32765 bytes) or char (32767 bytes). Many configuration options are supported, such as charset, dialect, transaction isolation level, etc. All kinds of data types are supported, such as NUMERIC or DECIMAL
Enhancements:
- This release adds support for importing a file into a BLOB and writing a BLOB into a file.
- Hexadecimal or base 64 string representations of data can be read from or written to the database.
<<lessnsFB project supports the full size of varchar (32765 bytes) or char (32767 bytes). Many configuration options are supported, such as charset, dialect, transaction isolation level, etc. All kinds of data types are supported, such as NUMERIC or DECIMAL
Enhancements:
- This release adds support for importing a file into a BLOB and writing a BLOB into a file.
- Hexadecimal or base 64 string representations of data can be read from or written to the database.
Download (0.022MB)
Added: 2006-10-24 License: LGPL (GNU Lesser General Public License) Price:
1097 downloads
PHP Sessions Management Class 1.0.3
PHP Sessions Management Class is a php class to handle sessions by using a mySQL database. more>>
PHP Sessions Management Class is a php class to handle sessions by using a mySQL database for session related data storage providing better security then the default session handler used by PHP.
If you are not familiar with what php sessions are and what are they good for, check out the dedicated chapter in the php manual
If you are familiar with php sessions and you want to use this php class in your projects then remember that to prevent session hijacking, you must not forget to use the regenerate_id() method whenever you do a privilege change in your application
Before usage, make sure you use the session_data.sql file (which is a sql dump file generated with phpMyAdmin) from the install_sql folder to set up the table used by the class
You dont need to modify anything in your previous applications: after instantiating the php class, just use sessions as you would normally.
Note:
The class assumes that there is an active connection to a mySQL database and it does not attempt to create one. This is due to the fact that, usually, there is a config file that holds the database connection related information and another class, or function that handles database connection. If this is not how you do it, you can easily adapt the code by putting the database connection related code in the "open" method of the class.
Enhancements:
- The get_users_online() method is now more accurate as it now runs the garbage collector before getting the number of online users.
- The structure of the MySQL table used by the class was tweaked in so that the "http_user_agent" field was changed from VARCHAR(255) to TEXT to accomodate user agent strings that are longer than 255 characters.
- The "session_data" field was also changed from TEXT to BLOB to help users who store a large amount of data in sessions.
<<lessIf you are not familiar with what php sessions are and what are they good for, check out the dedicated chapter in the php manual
If you are familiar with php sessions and you want to use this php class in your projects then remember that to prevent session hijacking, you must not forget to use the regenerate_id() method whenever you do a privilege change in your application
Before usage, make sure you use the session_data.sql file (which is a sql dump file generated with phpMyAdmin) from the install_sql folder to set up the table used by the class
You dont need to modify anything in your previous applications: after instantiating the php class, just use sessions as you would normally.
Note:
The class assumes that there is an active connection to a mySQL database and it does not attempt to create one. This is due to the fact that, usually, there is a config file that holds the database connection related information and another class, or function that handles database connection. If this is not how you do it, you can easily adapt the code by putting the database connection related code in the "open" method of the class.
Enhancements:
- The get_users_online() method is now more accurate as it now runs the garbage collector before getting the number of online users.
- The structure of the MySQL table used by the class was tweaked in so that the "http_user_agent" field was changed from VARCHAR(255) to TEXT to accomodate user agent strings that are longer than 255 characters.
- The "session_data" field was also changed from TEXT to BLOB to help users who store a large amount of data in sessions.
Download (0.020MB)
Added: 2006-12-16 License: Free for non-commercial use Price:
1044 downloads
PHP News Ticker 0.0.1
PHP News Ticker is a news ticker that is easy to manage, easy to add to, and easy to purge old news from. more>>
PHP News Ticker is a news ticker that is easy to manage, easy to add to, and easy to purge old news from. PHP News Ticker project allows HTML and small images to be inserted. Its a horizontal scroller, so it does not display big pictures attractively.
***first, go through the admin/config.php
and change the following:
host, dbuser, dbpass, dbname
***create a table on a db with the following colums:
id (int)6 AUTO INCREMENT NOT NULL PRIMARY KEY
message (VARCHAR)9000 NOT NUL
*** copy and paste from the sample_script.php what you need, changing what has been annotated to be changed.
*** upload files to http://"your-site.com"/news leaving the folder structure unchanged
*** Log into the admin area to test script by going to http://"your-site.com"/news/admin no username needed, just the password that you setup in the config.php file.
<<less***first, go through the admin/config.php
and change the following:
host, dbuser, dbpass, dbname
***create a table on a db with the following colums:
id (int)6 AUTO INCREMENT NOT NULL PRIMARY KEY
message (VARCHAR)9000 NOT NUL
*** copy and paste from the sample_script.php what you need, changing what has been annotated to be changed.
*** upload files to http://"your-site.com"/news leaving the folder structure unchanged
*** Log into the admin area to test script by going to http://"your-site.com"/news/admin no username needed, just the password that you setup in the config.php file.
Download (0.008MB)
Added: 2007-01-24 License: GPL (GNU General Public License) Price:
1003 downloads
hipergate CRM 3.0.10
hipergate is an open source web based application suite. more>>
hipergate CRM is an open source web based application suite.
Its mission is to cover a full range of technical requirements in any organization. All applications are addresses from Internet Explorer, without needing any other additional software in the client computer.
This suite is multi-company capable, and can be used in a single company, a corporate group or working as an ASP solution capable of serving an unlimited cuantity of single customers.
What makes hipergate unique?
- It is completely free.
- It is the only Open Source application with such a wide functional coverage.
- Runs on multiple databases and operating systems
- Has a unitary conceptual design and implementation.
- Is adequate for being used by Application Service Providers.
- Supports multiple languages.
- Has a professional services support network.
- Is well documented.
Collaborative tools and Groupware Module
- Private and/or shared calendar and diary.
- Discussion forums, open or moderated.
- Frequently Asked Questions manager.
- Employees directory.
- Reservation of shared resources (rooms, equipement).
Contact Management Module
- Clients, Suppliers, Competitors and Partners.
- Personal and group contacts.
- Multiple addresses per contact.
- Local offices management and separate storage for each one.
- Sales Pipeline Management (Bussiness oportunities)
- Different kinds of distributions lists.
- Import from Windows Address Book (Outlook Express)
- Import from data files (text, Excel).
Project Management and Support Issues Tracking Module
- Hierarchic projects tree.
- Pending tasks tracking.
- Issues control.
- SLA and maintenance contracts.
eShop Module
- Multiple product catalogs.
- Unlimited hierarchy of products.
- Custom attributes per product.
- Stock management, with multiple warehouses.
- Order and Invoice management.
- Modular and extensible Payment Processing.
Content Management Module
- e-mail templates.
- website templates.
- Electronic forms.
- Web based outgoing fax.
- Can include rich media (video, flash).
- Categorized contents management.
- portlets library for content dynamic presentation.
Massive Email Module
- Multiple e-mail management addressed to distribution lists.
- Message reception statistics.
Coporate Library
- 100% web based virtual disk.
- Role based security for all files.
- Can read and index OLE documents properties.
- Shared bookmarks.
- Bookmarks Import/Export.
Roles based security
- Multiple isolated security domains.
- Unlimited users and groups.
- Predefined groups for rapid application rollout.
- Security can be implemented in a company and/or departament basis.
- Can be integrated with a LDAP directory.
Hierarchic data management
- Geographic thesaurus.
- Lexical thesaurus.
- Object categorization.
Queries and Reports
- Rapid query wizard (forms based).
- Excel export.
- Online reports in HTML format.
- All reports can be sent via e-mail.
Job Scheduler
- Process queue management.
- Background multi-thread executor.
Enhancements:
- Fixed bug 1661606 blind link to Solicitar Producto at Contact edit form http://sourceforge.net/tracker/index.php?func=detail&aid=1661606&group_id=89905&atid=591820
- Fixed bug 1662870 Cannot delete mail account http://sourceforge.net/tracker/index.php?func=detail&aid=1662870&group_id=89905&atid=591820
- Fixed bug 1662873 Mail bottom frame too big http://sourceforge.net/tracker/index.php?func=detail&aid=1662873&group_id=89905&atid=591820
- Fixed bug 1666575 conversion to varchar to binarystream is unsupported http://sourceforge.net/tracker/index.php?func=detail&aid=1666575&group_id=89905&atid=591820
- Fixed bug 1667305 Table k_user mail missing at upgrade script from 2.1 to 3.0 http://sourceforge.net/tracker/index.php?func=detail&aid=1667305&group_id=89905&atid=591820
<<lessIts mission is to cover a full range of technical requirements in any organization. All applications are addresses from Internet Explorer, without needing any other additional software in the client computer.
This suite is multi-company capable, and can be used in a single company, a corporate group or working as an ASP solution capable of serving an unlimited cuantity of single customers.
What makes hipergate unique?
- It is completely free.
- It is the only Open Source application with such a wide functional coverage.
- Runs on multiple databases and operating systems
- Has a unitary conceptual design and implementation.
- Is adequate for being used by Application Service Providers.
- Supports multiple languages.
- Has a professional services support network.
- Is well documented.
Collaborative tools and Groupware Module
- Private and/or shared calendar and diary.
- Discussion forums, open or moderated.
- Frequently Asked Questions manager.
- Employees directory.
- Reservation of shared resources (rooms, equipement).
Contact Management Module
- Clients, Suppliers, Competitors and Partners.
- Personal and group contacts.
- Multiple addresses per contact.
- Local offices management and separate storage for each one.
- Sales Pipeline Management (Bussiness oportunities)
- Different kinds of distributions lists.
- Import from Windows Address Book (Outlook Express)
- Import from data files (text, Excel).
Project Management and Support Issues Tracking Module
- Hierarchic projects tree.
- Pending tasks tracking.
- Issues control.
- SLA and maintenance contracts.
eShop Module
- Multiple product catalogs.
- Unlimited hierarchy of products.
- Custom attributes per product.
- Stock management, with multiple warehouses.
- Order and Invoice management.
- Modular and extensible Payment Processing.
Content Management Module
- e-mail templates.
- website templates.
- Electronic forms.
- Web based outgoing fax.
- Can include rich media (video, flash).
- Categorized contents management.
- portlets library for content dynamic presentation.
Massive Email Module
- Multiple e-mail management addressed to distribution lists.
- Message reception statistics.
Coporate Library
- 100% web based virtual disk.
- Role based security for all files.
- Can read and index OLE documents properties.
- Shared bookmarks.
- Bookmarks Import/Export.
Roles based security
- Multiple isolated security domains.
- Unlimited users and groups.
- Predefined groups for rapid application rollout.
- Security can be implemented in a company and/or departament basis.
- Can be integrated with a LDAP directory.
Hierarchic data management
- Geographic thesaurus.
- Lexical thesaurus.
- Object categorization.
Queries and Reports
- Rapid query wizard (forms based).
- Excel export.
- Online reports in HTML format.
- All reports can be sent via e-mail.
Job Scheduler
- Process queue management.
- Background multi-thread executor.
Enhancements:
- Fixed bug 1661606 blind link to Solicitar Producto at Contact edit form http://sourceforge.net/tracker/index.php?func=detail&aid=1661606&group_id=89905&atid=591820
- Fixed bug 1662870 Cannot delete mail account http://sourceforge.net/tracker/index.php?func=detail&aid=1662870&group_id=89905&atid=591820
- Fixed bug 1662873 Mail bottom frame too big http://sourceforge.net/tracker/index.php?func=detail&aid=1662873&group_id=89905&atid=591820
- Fixed bug 1666575 conversion to varchar to binarystream is unsupported http://sourceforge.net/tracker/index.php?func=detail&aid=1666575&group_id=89905&atid=591820
- Fixed bug 1667305 Table k_user mail missing at upgrade script from 2.1 to 3.0 http://sourceforge.net/tracker/index.php?func=detail&aid=1667305&group_id=89905&atid=591820
Download (28.2MB)
Added: 2007-02-28 License: GPL (GNU General Public License) Price:
974 downloads
mysqlrowcopy 1.0
mysqlrowcopy is a tool that generates insert statements from result sets. more>>
mysqlrowcopy is a tool that generates insert statements from result sets. It produces output similar to what might result from running mysqldump on a single SELECT query.
This project helps eliminate some of the tedium of moving data between QA and production MySQL databases.
Build:
To build mysqlrowcopy, you should run:
./configure
make
A mysqlrowcopy and mysqlrowcopy.debug file are created. They have identical functionality, the .debug version simply has debugging symbols built in (for gdb).
Since mysqlrowcopy is probably going to be I/O bound with modest CPU and RAM usage, the only reason to even build a 64-bit version is to work around potential issues in dynamic linking 32-bit binaries against 64-bit libraries.
RECIPES
1. Migrating a MySQL user account reaper from QA server to a production server.
e.g. MySQL database server qa3.example.com to prod1.example.com:
$ mysqlrowcopy -h qa3.example.com
SELECT * FROM db WHERE User = "reaper" mysql db > reaper.sql
$ mysql -h prod1.example.com mysql < reaper.sql
You could of course simply pipe the output of mysqlrowcopy into mysql and skip the intermediate file.
(Dont forget to RELOAD PRIVILEGES afterwards)
2. Keep your test environment up to date. Populate it with production data every 24 hours. You could run this sequence from cron once a day:
$ mysqlrowcopy -h finance-db.example.com
SELECT * FROM stocks WHERE modified > DATE_SUB(NOW(),INTERVAL 24 HOUR)
finance stocks > day-stocks.sql
$ cat day-stocks.sql | mysql -h finance-test.example.com finance
3. Copy data between tables on different servers that have some similar fields.
Youve got common data in table Zip on a production database:
mysql> desc Zip;
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| ZIPCode | varchar(5) | | PRI | | |
| ZIPCodeType | char(1) | YES | | NULL | |
| City | varchar(32) | YES | | NULL | |
| CityType | char(1) | YES | | NULL | |
| State | varchar(32) | YES | | NULL | |
| StateCode | char(3) | YES | | NULL | |
| AreaCode | char(3) | YES | | NULL | |
| Latitude | varchar(12) | YES | | NULL | |
| Longitude | varchar(12) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
9 rows in set (0.00 sec)
And youve got table ZipPosition in a research database:
mysql> desc ZipPosition;
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| ZIPCode | varchar(5) | | | | |
| Latitude | varchar(12) | YES | | NULL | |
| Longitude | varchar(12) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
You want to load data from production Zip into research ZipPosition.
$ mysqlrowcopy -h production SELECT ZIPCode,Latitude,Longitude common ZipPosition > pos.sql
$ cat pos.sql | mysql -h qa research
Note how we specify ZipPosition on the first line to tell mysqlrowcopy what the destination table is going to be.
<<lessThis project helps eliminate some of the tedium of moving data between QA and production MySQL databases.
Build:
To build mysqlrowcopy, you should run:
./configure
make
A mysqlrowcopy and mysqlrowcopy.debug file are created. They have identical functionality, the .debug version simply has debugging symbols built in (for gdb).
Since mysqlrowcopy is probably going to be I/O bound with modest CPU and RAM usage, the only reason to even build a 64-bit version is to work around potential issues in dynamic linking 32-bit binaries against 64-bit libraries.
RECIPES
1. Migrating a MySQL user account reaper from QA server to a production server.
e.g. MySQL database server qa3.example.com to prod1.example.com:
$ mysqlrowcopy -h qa3.example.com
SELECT * FROM db WHERE User = "reaper" mysql db > reaper.sql
$ mysql -h prod1.example.com mysql < reaper.sql
You could of course simply pipe the output of mysqlrowcopy into mysql and skip the intermediate file.
(Dont forget to RELOAD PRIVILEGES afterwards)
2. Keep your test environment up to date. Populate it with production data every 24 hours. You could run this sequence from cron once a day:
$ mysqlrowcopy -h finance-db.example.com
SELECT * FROM stocks WHERE modified > DATE_SUB(NOW(),INTERVAL 24 HOUR)
finance stocks > day-stocks.sql
$ cat day-stocks.sql | mysql -h finance-test.example.com finance
3. Copy data between tables on different servers that have some similar fields.
Youve got common data in table Zip on a production database:
mysql> desc Zip;
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| ZIPCode | varchar(5) | | PRI | | |
| ZIPCodeType | char(1) | YES | | NULL | |
| City | varchar(32) | YES | | NULL | |
| CityType | char(1) | YES | | NULL | |
| State | varchar(32) | YES | | NULL | |
| StateCode | char(3) | YES | | NULL | |
| AreaCode | char(3) | YES | | NULL | |
| Latitude | varchar(12) | YES | | NULL | |
| Longitude | varchar(12) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
9 rows in set (0.00 sec)
And youve got table ZipPosition in a research database:
mysql> desc ZipPosition;
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| ZIPCode | varchar(5) | | | | |
| Latitude | varchar(12) | YES | | NULL | |
| Longitude | varchar(12) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
You want to load data from production Zip into research ZipPosition.
$ mysqlrowcopy -h production SELECT ZIPCode,Latitude,Longitude common ZipPosition > pos.sql
$ cat pos.sql | mysql -h qa research
Note how we specify ZipPosition on the first line to tell mysqlrowcopy what the destination table is going to be.
Download (0.021MB)
Added: 2007-03-01 License: GPL (GNU General Public License) Price:
967 downloads
Persistent::Oracle 0.50
Persistent::Oracle is a persistent class implemented using an Oracle database. more>>
Persistent::Oracle is a persistent class implemented using an Oracle database.
SYNOPSIS
use Persistent::Oracle;
use English; # import readable variable names like $EVAL_ERROR
eval { ### in case an exception is thrown ###
### allocate a persistent object ###
my $emp = new Persistent::Oracle(dbi:Oracle:ORCL,
scott, tiger, emp);
### define attributes of the object ###
$emp->add_attribute(empno, ID, Number, undef, 4);
$emp->add_attribute(ename, Persistent, VarChar, undef, 10);
$emp->add_attribute(job, Persistent, VarChar, undef, 9);
$emp->add_attribute(mgr, Persistent, Number, undef, 4);
$emp->add_attribute(hiredate, Persistent, DateTime, undef);
$emp->add_attribute(sal, Persistent, Number, undef, 7, 2);
$emp->add_attribute(comm, Persistent, Number, undef, 7, 2);
$emp->add_attribute(deptno, Persistent, Number, undef, 2);
### query the datastore for some objects ###
$emp->restore_where(qq{
sal > 1000 and
job = CLERK and
ename LIKE M%
}, "sal, ename");
while ($emp->restore_next()) {
printf "ename = %s, emp# = %s, sal = %s, hiredate = %sn",
$emp->ename, $emp->empno, $emp->sal, $emp->hiredate;
}
};
if ($EVAL_ERROR) { ### catch those exceptions! ###
print "An error occurred: $EVAL_ERRORn";
}
ABSTRACT
This is a Persistent class that uses an Oracle database table to store and retrieve objects. This class can be instantiated directly or subclassed. The methods described below are unique to this class, and all other methods that are provided by this class are documented in the Persistent documentation. The Persistent documentation has a very thorough introduction to using the Persistent framework of classes.
<<lessSYNOPSIS
use Persistent::Oracle;
use English; # import readable variable names like $EVAL_ERROR
eval { ### in case an exception is thrown ###
### allocate a persistent object ###
my $emp = new Persistent::Oracle(dbi:Oracle:ORCL,
scott, tiger, emp);
### define attributes of the object ###
$emp->add_attribute(empno, ID, Number, undef, 4);
$emp->add_attribute(ename, Persistent, VarChar, undef, 10);
$emp->add_attribute(job, Persistent, VarChar, undef, 9);
$emp->add_attribute(mgr, Persistent, Number, undef, 4);
$emp->add_attribute(hiredate, Persistent, DateTime, undef);
$emp->add_attribute(sal, Persistent, Number, undef, 7, 2);
$emp->add_attribute(comm, Persistent, Number, undef, 7, 2);
$emp->add_attribute(deptno, Persistent, Number, undef, 2);
### query the datastore for some objects ###
$emp->restore_where(qq{
sal > 1000 and
job = CLERK and
ename LIKE M%
}, "sal, ename");
while ($emp->restore_next()) {
printf "ename = %s, emp# = %s, sal = %s, hiredate = %sn",
$emp->ename, $emp->empno, $emp->sal, $emp->hiredate;
}
};
if ($EVAL_ERROR) { ### catch those exceptions! ###
print "An error occurred: $EVAL_ERRORn";
}
ABSTRACT
This is a Persistent class that uses an Oracle database table to store and retrieve objects. This class can be instantiated directly or subclassed. The methods described below are unique to this class, and all other methods that are provided by this class are documented in the Persistent documentation. The Persistent documentation has a very thorough introduction to using the Persistent framework of classes.
Download (0.011MB)
Added: 2007-05-19 License: Perl Artistic License Price:
889 downloads
Persistent::MySQL 0.50
Persistent::MySQL is a persistent class implemented using a MySQL database. more>>
Persistent::MySQL is a persistent class implemented using a MySQL database.
SYNOPSIS
use Persistent::MySQL;
use English; # import readable variable names like $EVAL_ERROR
eval { ### in case an exception is thrown ###
### allocate a persistent object ###
my $emp = new Persistent::MySQL($data_source, $username, $password, $table);
### define attributes of the object ###
$emp->add_attribute(empno, ID, Number, undef, 4);
$emp->add_attribute(ename, Persistent, VarChar, undef, 10);
$emp->add_attribute(job, Persistent, VarChar, undef, 9);
$emp->add_attribute(mgr, Persistent, Number, undef, 4);
$emp->add_attribute(hiredate, Persistent, DateTime, undef);
$emp->add_attribute(sal, Persistent, Number, undef, 7, 2);
$emp->add_attribute(comm, Persistent, Number, undef, 7, 2);
$emp->add_attribute(deptno, Persistent, Number, undef, 2);
### query the datastore for some objects ###
$emp->restore_where(qq{
sal > 1000 and
job = CLERK and
ename LIKE M%
}, "sal, ename");
while ($emp->restore_next()) {
printf "ename = %s, emp# = %s, sal = %s, hiredate = %sn",
$emp->ename, $emp->empno, $emp->sal, $emp->hiredate;
}
};
if ($EVAL_ERROR) { ### catch those exceptions! ###
print "An error occurred: $EVAL_ERRORn";
}
ABSTRACT
This is a Persistent class that uses a MySQL database table to store and retrieve objects. This class can be instantiated directly or subclassed. The methods described below are unique to this class, and all other methods that are provided by this class are documented in the Persistent documentation. The Persistent documentation has a very thorough introduction to using the Persistent framework of classes.
<<lessSYNOPSIS
use Persistent::MySQL;
use English; # import readable variable names like $EVAL_ERROR
eval { ### in case an exception is thrown ###
### allocate a persistent object ###
my $emp = new Persistent::MySQL($data_source, $username, $password, $table);
### define attributes of the object ###
$emp->add_attribute(empno, ID, Number, undef, 4);
$emp->add_attribute(ename, Persistent, VarChar, undef, 10);
$emp->add_attribute(job, Persistent, VarChar, undef, 9);
$emp->add_attribute(mgr, Persistent, Number, undef, 4);
$emp->add_attribute(hiredate, Persistent, DateTime, undef);
$emp->add_attribute(sal, Persistent, Number, undef, 7, 2);
$emp->add_attribute(comm, Persistent, Number, undef, 7, 2);
$emp->add_attribute(deptno, Persistent, Number, undef, 2);
### query the datastore for some objects ###
$emp->restore_where(qq{
sal > 1000 and
job = CLERK and
ename LIKE M%
}, "sal, ename");
while ($emp->restore_next()) {
printf "ename = %s, emp# = %s, sal = %s, hiredate = %sn",
$emp->ename, $emp->empno, $emp->sal, $emp->hiredate;
}
};
if ($EVAL_ERROR) { ### catch those exceptions! ###
print "An error occurred: $EVAL_ERRORn";
}
ABSTRACT
This is a Persistent class that uses a MySQL database table to store and retrieve objects. This class can be instantiated directly or subclassed. The methods described below are unique to this class, and all other methods that are provided by this class are documented in the Persistent documentation. The Persistent documentation has a very thorough introduction to using the Persistent framework of classes.
Download (0.010MB)
Added: 2007-05-19 License: Perl Artistic License Price:
888 downloads
Persistent::Sybase 0.50
Persistent::Sybase is a persistent class implemented using a Sybase database. more>>
Persistent::Sybase is a persistent class implemented using a Sybase database.
SYNOPSIS
use Persistent::Sybase;
use English; # import readable variable names like $EVAL_ERROR
eval { ### in case an exception is thrown ###
### allocate a persistent object ###
my $emp = new Persistent::Sybase($data_source, $username, $password, $table);
### define attributes of the object ###
$emp->add_attribute(empno, ID, Number, undef, 4);
$emp->add_attribute(ename, Persistent, VarChar, undef, 10);
$emp->add_attribute(job, Persistent, VarChar, undef, 9);
$emp->add_attribute(mgr, Persistent, Number, undef, 4);
$emp->add_attribute(hiredate, Persistent, DateTime, undef);
$emp->add_attribute(sal, Persistent, Number, undef, 7, 2);
$emp->add_attribute(comm, Persistent, Number, undef, 7, 2);
$emp->add_attribute(deptno, Persistent, Number, undef, 2);
### query the datastore for some objects ###
$emp->restore_where(qq{
sal > 1000 and
job = CLERK and
ename LIKE M%
}, "sal, ename");
while ($emp->restore_next()) {
printf "ename = %s, emp# = %s, sal = %s, hiredate = %sn",
$emp->ename, $emp->empno, $emp->sal, $emp->hiredate;
}
};
if ($EVAL_ERROR) { ### catch those exceptions! ###
print "An error occurred: $EVAL_ERRORn";
}
ABSTRACT
This is a Persistent class that uses a Sybase database table to store and retrieve objects. This class can be instantiated directly or subclassed. The methods described below are unique to this class, and all other methods that are provided by this class are documented in the Persistent documentation. The Persistent documentation has a very thorough introduction to using the Persistent framework of classes.
<<lessSYNOPSIS
use Persistent::Sybase;
use English; # import readable variable names like $EVAL_ERROR
eval { ### in case an exception is thrown ###
### allocate a persistent object ###
my $emp = new Persistent::Sybase($data_source, $username, $password, $table);
### define attributes of the object ###
$emp->add_attribute(empno, ID, Number, undef, 4);
$emp->add_attribute(ename, Persistent, VarChar, undef, 10);
$emp->add_attribute(job, Persistent, VarChar, undef, 9);
$emp->add_attribute(mgr, Persistent, Number, undef, 4);
$emp->add_attribute(hiredate, Persistent, DateTime, undef);
$emp->add_attribute(sal, Persistent, Number, undef, 7, 2);
$emp->add_attribute(comm, Persistent, Number, undef, 7, 2);
$emp->add_attribute(deptno, Persistent, Number, undef, 2);
### query the datastore for some objects ###
$emp->restore_where(qq{
sal > 1000 and
job = CLERK and
ename LIKE M%
}, "sal, ename");
while ($emp->restore_next()) {
printf "ename = %s, emp# = %s, sal = %s, hiredate = %sn",
$emp->ename, $emp->empno, $emp->sal, $emp->hiredate;
}
};
if ($EVAL_ERROR) { ### catch those exceptions! ###
print "An error occurred: $EVAL_ERRORn";
}
ABSTRACT
This is a Persistent class that uses a Sybase database table to store and retrieve objects. This class can be instantiated directly or subclassed. The methods described below are unique to this class, and all other methods that are provided by this class are documented in the Persistent documentation. The Persistent documentation has a very thorough introduction to using the Persistent framework of classes.
Download (0.010MB)
Added: 2007-05-22 License: Perl Artistic License Price:
886 downloads
Persistent::mSQL 0.50
Persistent::mSQL is a persistent class implemented using a mSQL database. more>>
Persistent::mSQL is a persistent class implemented using a mSQL database.
SYNOPSIS
use Persistent::mSQL;
use English; # import readable variable names like $EVAL_ERROR
eval { ### in case an exception is thrown ###
### allocate a persistent object ###
my $emp = new Persistent::mSQL($data_source, undef, undef, $table);
### define attributes of the object ###
$emp->add_attribute(empno, ID, Number, undef, 4);
$emp->add_attribute(ename, Persistent, VarChar, undef, 10);
$emp->add_attribute(job, Persistent, VarChar, undef, 9);
$emp->add_attribute(mgr, Persistent, Number, undef, 4);
$emp->add_attribute(hiredate, Persistent, DateTime, undef);
$emp->add_attribute(sal, Persistent, Number, undef, 7, 2);
$emp->add_attribute(comm, Persistent, Number, undef, 7, 2);
$emp->add_attribute(deptno, Persistent, Number, undef, 2);
### query the datastore for some objects ###
$emp->restore_where(qq{
sal > 1000 and
job = CLERK and
ename LIKE M%
}, "sal, ename");
while ($emp->restore_next()) {
printf "ename = %s, emp# = %s, sal = %s, hiredate = %sn",
$emp->ename, $emp->empno, $emp->sal, $emp->hiredate;
}
};
if ($EVAL_ERROR) { ### catch those exceptions! ###
print "An error occurred: $EVAL_ERRORn";
}
ABSTRACT
This is a Persistent class that uses a mSQL database table to store and retrieve objects. This class can be instantiated directly or subclassed. The methods described below are unique to this class, and all other methods that are provided by this class are documented in the Persistent documentation. The Persistent documentation has a very thorough introduction to using the Persistent framework of classes.
<<lessSYNOPSIS
use Persistent::mSQL;
use English; # import readable variable names like $EVAL_ERROR
eval { ### in case an exception is thrown ###
### allocate a persistent object ###
my $emp = new Persistent::mSQL($data_source, undef, undef, $table);
### define attributes of the object ###
$emp->add_attribute(empno, ID, Number, undef, 4);
$emp->add_attribute(ename, Persistent, VarChar, undef, 10);
$emp->add_attribute(job, Persistent, VarChar, undef, 9);
$emp->add_attribute(mgr, Persistent, Number, undef, 4);
$emp->add_attribute(hiredate, Persistent, DateTime, undef);
$emp->add_attribute(sal, Persistent, Number, undef, 7, 2);
$emp->add_attribute(comm, Persistent, Number, undef, 7, 2);
$emp->add_attribute(deptno, Persistent, Number, undef, 2);
### query the datastore for some objects ###
$emp->restore_where(qq{
sal > 1000 and
job = CLERK and
ename LIKE M%
}, "sal, ename");
while ($emp->restore_next()) {
printf "ename = %s, emp# = %s, sal = %s, hiredate = %sn",
$emp->ename, $emp->empno, $emp->sal, $emp->hiredate;
}
};
if ($EVAL_ERROR) { ### catch those exceptions! ###
print "An error occurred: $EVAL_ERRORn";
}
ABSTRACT
This is a Persistent class that uses a mSQL database table to store and retrieve objects. This class can be instantiated directly or subclassed. The methods described below are unique to this class, and all other methods that are provided by this class are documented in the Persistent documentation. The Persistent documentation has a very thorough introduction to using the Persistent framework of classes.
Download (0.010MB)
Added: 2007-05-22 License: Perl Artistic License Price:
885 downloads
JDBC 0.01
JDBC is a Perl 5 interface to Java JDBC (via Inline::Java). more>>
JDBC is a Perl 5 interface to Java JDBC (via Inline::Java).
SYNOPSIS
use JDBC;
JDBC->load_driver("org.apache.derby.jdbc.EmbeddedDriver");
my $con = JDBC->getConnection($url, "test", "test");
my $s = $con->createStatement();
$s->executeUpdate("create table foo (foo int, bar varchar(200), primary key (foo))");
$s->executeUpdate("insert into foo (foo, bar) values (42,notthis)");
$s->executeUpdate("insert into foo (foo, bar) values (43,notthat)");
my $rs = $s->executeQuery("select foo, bar from foo");
while ($rs->next) {
my $foo = $rs->getInt(1);
my $bar = $rs->getString(2);
print "row: foo=$foo, bar=$barn";
}
This JDBC module provides an interface to the Java java.sql.* and javax.sql.* JDBC APIs.
<<lessSYNOPSIS
use JDBC;
JDBC->load_driver("org.apache.derby.jdbc.EmbeddedDriver");
my $con = JDBC->getConnection($url, "test", "test");
my $s = $con->createStatement();
$s->executeUpdate("create table foo (foo int, bar varchar(200), primary key (foo))");
$s->executeUpdate("insert into foo (foo, bar) values (42,notthis)");
$s->executeUpdate("insert into foo (foo, bar) values (43,notthat)");
my $rs = $s->executeQuery("select foo, bar from foo");
while ($rs->next) {
my $foo = $rs->getInt(1);
my $bar = $rs->getString(2);
print "row: foo=$foo, bar=$barn";
}
This JDBC module provides an interface to the Java java.sql.* and javax.sql.* JDBC APIs.
Download (1.9MB)
Added: 2007-06-04 License: Perl Artistic License Price:
874 downloads
Autodia::Handler::Torque 2.03
Autodia::Handler::Torque Perl module contains an AutoDia handler for Torque xml database schema. more>>
Autodia::Handler::Torque Perl module contains an AutoDia handler for Torque xml database schema.
This provides Autodia with the ability to read Torque Database Schema files, allowing you to convert them via the Diagram Export methods to images (using GraphViz and VCG) or html/xml using custom templates or to Dia.
SYNOPSIS
use Autodia::Handler::Torque;
my $handler = Autodia::Handler::dia->New(%Config);
$handler->Parse(filename); # where filename includes full or relative path.
Description
The Torque handler will parse the xml file using XML::Simple and populating the diagram object with class, superclass, and relationships representing tables and relationships.
The Torque handler is registered in the Autodia.pm module, which contains a hash of language names and the name of their respective language.
An example Torque database schema is shown here - its actually a rather nice format apart from the Java studlyCaps..
< ?xml version="1.0" encoding="ISO-8859-1" standalone="no" ? >
< !DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database_3_0_1.dtd" >
< database name="INTERPLANETARY" >
< table name="CIVILIZATION" >
< column name="CIV_ID" required="true" autoIncrement="true" primaryKey="true" type="INTEGER"/ >
< column name="NAME" required="true" type="LONGVARCHAR"/ >
< /table >
< table name="CIV_PEOPLE" >
< column name="CIV_ID" required="true" primaryKey="true" type="INTEGER"/ >
< column name="PEOPLE_ID" required="true" primaryKey="true" type="INTEGER"/ >
< foreign-key foreignTable="CIVILIZATION" >
< reference local="CIV_ID" foreign="CIV_ID"/ >
< /foreign-key >
< foreign-key foreignTable="PEOPLE" >
< reference local="PEOPLE_ID" foreign="PEOPLE_ID"/ >
< /foreign-key >
< /table >
< table name="PEOPLE" >
< column name="PEOPLE_ID" required="true" autoIncrement="true" primaryKey="true" type="INTEGER"/ >
< column name="NAME" required="true" size="255" type="VARCHAR"/ >
< column name="SPECIES" type="INTEGER" default="-2"/ >
< column name="PLANET" type="INTEGER" default="-1"/ >
< /table >
< /database >
<<lessThis provides Autodia with the ability to read Torque Database Schema files, allowing you to convert them via the Diagram Export methods to images (using GraphViz and VCG) or html/xml using custom templates or to Dia.
SYNOPSIS
use Autodia::Handler::Torque;
my $handler = Autodia::Handler::dia->New(%Config);
$handler->Parse(filename); # where filename includes full or relative path.
Description
The Torque handler will parse the xml file using XML::Simple and populating the diagram object with class, superclass, and relationships representing tables and relationships.
The Torque handler is registered in the Autodia.pm module, which contains a hash of language names and the name of their respective language.
An example Torque database schema is shown here - its actually a rather nice format apart from the Java studlyCaps..
< ?xml version="1.0" encoding="ISO-8859-1" standalone="no" ? >
< !DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database_3_0_1.dtd" >
< database name="INTERPLANETARY" >
< table name="CIVILIZATION" >
< column name="CIV_ID" required="true" autoIncrement="true" primaryKey="true" type="INTEGER"/ >
< column name="NAME" required="true" type="LONGVARCHAR"/ >
< /table >
< table name="CIV_PEOPLE" >
< column name="CIV_ID" required="true" primaryKey="true" type="INTEGER"/ >
< column name="PEOPLE_ID" required="true" primaryKey="true" type="INTEGER"/ >
< foreign-key foreignTable="CIVILIZATION" >
< reference local="CIV_ID" foreign="CIV_ID"/ >
< /foreign-key >
< foreign-key foreignTable="PEOPLE" >
< reference local="PEOPLE_ID" foreign="PEOPLE_ID"/ >
< /foreign-key >
< /table >
< table name="PEOPLE" >
< column name="PEOPLE_ID" required="true" autoIncrement="true" primaryKey="true" type="INTEGER"/ >
< column name="NAME" required="true" size="255" type="VARCHAR"/ >
< column name="SPECIES" type="INTEGER" default="-2"/ >
< column name="PLANET" type="INTEGER" default="-1"/ >
< /table >
< /database >
Download (0.060MB)
Added: 2007-06-21 License: Perl Artistic License Price:
855 downloads
jTDS 1.2
jTDS is a JDBC 3.0 type 4 driver for Microsoft SQL Server and Sybase. more>>
jTDS is an open source 100% pure Java (type 4) JDBC 3.0 driver for Microsoft SQL Server (6.5, 7, 2000 and 2005) and Sybase (10, 11, 12, 15). jTDS is based on FreeTDS and is currently the fastest production-ready JDBC driver for SQL Server and Sybase.
jTDS is 100% JDBC 3.0 compatible, supporting forward-only and scrollable/updateable ResultSets, concurrent (completely independent) Statements and implementing all the DatabaseMetaData and ResultSetMetaData methods.
Quite a few of the commercial JDBC drivers out there are based on jTDS (or FreeTDS), even if they no longer acknowledge this.
jTDS has been tested with virtually all JDBC-based database management tools and is the driver of choice for most of these (recommended for DbVisualizer and SQuirreL SQL, distributed with Aqua Data Studio and DataDino).
jTDS is also becoming a common choice for enterprise-level applications: it passes both the J2EE 1.3 certification and Hibernate test suites, and is recommended for JBoss, Hibernate, Atlassian JIRA and Confluence and Compiere.
jTDS is free software. jTDS is released under the terms of the GNU LGPL, giving you not only the posibility to debug and tweak it to your own liking but also to use it in and distribute it with your free or commercial applications.
The other "free" choices, the JDBC-ODBC bridge and Microsofts own JDBC driver are not actually free. If you encounter an issue with any of them you wont be able to fix it yourself and response times from both Microsoft and Sun are anything but short. Also, both of them lack functionality (the Microsoft driver implements JDBC 2.0, while the bridge is just a JDBC 1.0 implementation) and have serious stability problems: the bridge crashes the JVM if the ODBC driver has any problem and Microsoft just has no intention of really supporting Java/JDBC.
jTDS is also the most performant JDBC driver for both SQL Server and Sybase. We have an older benchmark result but we strongly encourage you to download any benchmark published by commercial JDBC driver vendors and see for yourself. Here are a couple of benchmarks you could use: JNetDirects JDBC Performance Benchmark and i-net Softwares BenchTest 2.1 for MS SQL Server.
Anyway, just give it a spin.
Enhancements:
New features:
- Support for Sybase ASE 15
- Improved support for SQL Server 2005 varchar(max) and varbinary(max)
- Complete handling of cursor exceptions and downgrading
- Better handling of cancels and timeouts
- Configurable socket timeout
- Subclasses of basic JDBC types recognized as setObject() values
Major bug fixes (out of over 30 fixes):
- Statement pool memory leak
- Java 1.5 BigDecimal problems
- Possible synchronization problems
- setAutoCommit() behavior not according to specification
- getTimestamp() returns invalid value after calling getString()
- Cursor opens fails when cursor threshold -1
- iso_1 charset and Sybase
- "All pipe instances are busy" not handled properly
- SSL fails with SQL Server 2005
- Sybase: insert UTF8 string fails when length is 255
<<lessjTDS is 100% JDBC 3.0 compatible, supporting forward-only and scrollable/updateable ResultSets, concurrent (completely independent) Statements and implementing all the DatabaseMetaData and ResultSetMetaData methods.
Quite a few of the commercial JDBC drivers out there are based on jTDS (or FreeTDS), even if they no longer acknowledge this.
jTDS has been tested with virtually all JDBC-based database management tools and is the driver of choice for most of these (recommended for DbVisualizer and SQuirreL SQL, distributed with Aqua Data Studio and DataDino).
jTDS is also becoming a common choice for enterprise-level applications: it passes both the J2EE 1.3 certification and Hibernate test suites, and is recommended for JBoss, Hibernate, Atlassian JIRA and Confluence and Compiere.
jTDS is free software. jTDS is released under the terms of the GNU LGPL, giving you not only the posibility to debug and tweak it to your own liking but also to use it in and distribute it with your free or commercial applications.
The other "free" choices, the JDBC-ODBC bridge and Microsofts own JDBC driver are not actually free. If you encounter an issue with any of them you wont be able to fix it yourself and response times from both Microsoft and Sun are anything but short. Also, both of them lack functionality (the Microsoft driver implements JDBC 2.0, while the bridge is just a JDBC 1.0 implementation) and have serious stability problems: the bridge crashes the JVM if the ODBC driver has any problem and Microsoft just has no intention of really supporting Java/JDBC.
jTDS is also the most performant JDBC driver for both SQL Server and Sybase. We have an older benchmark result but we strongly encourage you to download any benchmark published by commercial JDBC driver vendors and see for yourself. Here are a couple of benchmarks you could use: JNetDirects JDBC Performance Benchmark and i-net Softwares BenchTest 2.1 for MS SQL Server.
Anyway, just give it a spin.
Enhancements:
New features:
- Support for Sybase ASE 15
- Improved support for SQL Server 2005 varchar(max) and varbinary(max)
- Complete handling of cursor exceptions and downgrading
- Better handling of cancels and timeouts
- Configurable socket timeout
- Subclasses of basic JDBC types recognized as setObject() values
Major bug fixes (out of over 30 fixes):
- Statement pool memory leak
- Java 1.5 BigDecimal problems
- Possible synchronization problems
- setAutoCommit() behavior not according to specification
- getTimestamp() returns invalid value after calling getString()
- Cursor opens fails when cursor threshold -1
- iso_1 charset and Sybase
- "All pipe instances are busy" not handled properly
- SSL fails with SQL Server 2005
- Sybase: insert UTF8 string fails when length is 255
Download (0.45MB)
Added: 2005-11-09 License: LGPL (GNU Lesser General Public License) Price:
836 downloads
Skeleton Engine for MySQL 0.4
Skeleton Engine for MySQL is a full framework to plug in a new storage engine. more>>
Skeleton Engine for MySQL is a full framework to plug in a new storage engine. Comes with prebuild autoconf files, and a full framework to plug in your own design.
The AWS, HTTP, Memcache, Nitro, PBXT, and many other engines were put together from the skeleton engine.
To install, grab a copy of the mysql source code and run this:
./configure --with-mysql=/home/brian/mysql-5.1/ --libdir=/usr/local/lib/mysql/
make install
And then inside of MySQL:
mysql> INSTALL PLUGIN skeleton SONAME libskeleton_engine.so;
mysql> CREATE TABLE `d` (`a` varchar(125), b text, primary key(a)) ENGINE=skeleton DEFAULT
CHARSET=latin1;
Query OK, 0 rows affected (0.01 sec)
You will probably need to edit the Makefile.am in the src/ tree if you want to build on anything other then Linux (and the Makefile assumes that the server was not compiled for debug).
<<lessThe AWS, HTTP, Memcache, Nitro, PBXT, and many other engines were put together from the skeleton engine.
To install, grab a copy of the mysql source code and run this:
./configure --with-mysql=/home/brian/mysql-5.1/ --libdir=/usr/local/lib/mysql/
make install
And then inside of MySQL:
mysql> INSTALL PLUGIN skeleton SONAME libskeleton_engine.so;
mysql> CREATE TABLE `d` (`a` varchar(125), b text, primary key(a)) ENGINE=skeleton DEFAULT
CHARSET=latin1;
Query OK, 0 rows affected (0.01 sec)
You will probably need to edit the Makefile.am in the src/ tree if you want to build on anything other then Linux (and the Makefile assumes that the server was not compiled for debug).
Download (0.29MB)
Added: 2007-07-17 License: BSD License Price:
831 downloads
Secleted [ 0 ] software to compare
- Page: 1 of 2
- 1
- 2
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above varchar search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed