Dne po 6. leden 2003 18:56 jste napsal(a):
> Is it possible to use dbi + dbd-odbc to manipulate a paradox database on a
> linux box?
>
> What drivers are available to use on a linux box?
>
> Thank You.
>
> Don
Yes, if you have ODBC driver for Paradox.
Basicaly install on Windows:
Perl 5.6.1 build 633
http://www.activestate.com/Products/Download.plex?id=ActivePerl
Assuming Perl is instaled in C:\Perl
Run CMD or ( COMMAND )
c:
cd \Perl\bin
run ppm
ppm> install DBI
ppm>install DBI-ODBC
ppm>install PlRPC
ppm>exit
Using ODBC Manger create system DSN named for example TESTDB to Paradox 
Database and test it.
When you have W2K, you may install DBI::Proxy like windows service
Help is on http://xmlproj.com/fom-serve/cache/25.html
SRVANY.ZIP I have found on 
http://sebastien.portebois.free.fr/lingo/smus/installation/installSmusAsNTService_uk.htm
copy files from archive into c:\Perl\bin
run instsrv.exe
run regedit
swith to key
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DBIPRoxy
add string value (REG_SZ) named Description with value ¨Perl DBI Proxy server¨
add new key named ¨Parameters¨
switch to it
add string value REG_SZ named Application with value 
¨C:\Perl\bin\dbiproxy.bat¨
add string value (REG_SZ) named AppParameters with value ¨--localport 24001¨
24001 is any free port
close regedit
Under NT Services ( Iam not Windows expert and have no english Windows) find 
service named DBIProxy and set it to run automatically when system start.


On Linux machine install
Perl ( allready installed :-)
perl -MCPAN -e shell
install DBI
install Bundle::PlRPC

here is sample code
---
#!/usr/bin/perl -w
use DBI;
my $dbh = 
DBI->connect('dbi:Proxy:hostname=yourserver;port=24001;dsn=dbi:ODBC:TESTDB','user','password',
 
                { RaiseError => 1, PrintError => 1}) or die $DBI::errstr;

# blablabla .....


$msdbh->disconnect();
#eof
----
I have production setup between Linux and MSSQL server 2000 on Windows 2000.
There are another setups using ODBC-ODBC bridge, but  I have not tested it.
Best Regards
--
Jirka Chraska

Reply via email to