サーバー
Dong Baohua、寧波保税区公式委員会コンピューティングセンター
---- Linux は、無料の Unix に似たオペレーティング システムとして、そのオープン ソース コード、マルチタスク、X ウィンドウ、およびその他の機能: Linux をイントラネットのフル機能サーバー (WWW、FTP、電子メール、DNS) として使用します。 企業のイントラネットは、テキスト情報だけでなく、企業のリレーショナル データベース内の情報にもアクセスできるようにする必要があります。 SQL Server は、低コスト、高性能、NT との効果的な統合により多くの企業で採用されていますが、Microsoft は Unix 環境でのクライアントを提供していないため、このようなアプリケーションには困難が生じています。 この記事では、この問題の解決策を提案します。
Sybase クライアントをインストールする
---- まず、Microsoft SQL Server と Sybase SQL Server の関係から始めましょう。 両社はかつて OS/2 用のデータベース SQL Server を OS/2 上で共同開発しました。それ以来、両社は独自に開発し、Sybase クライアントが Microsoft SQL Server にアクセスできるようにしました。
---- Sybase は、他のデータベース会社と比較すると、Linux 上で SQL Server を提供していないものの、無料の CT-LIB クライアントを提供しているものの 1 つであると言えます。多くの IT 管理者が、企業のデータベースを選択する際に Oracle や Informix を考慮しなくなった理由は次のとおりです。 もちろん、今では状況は変わりました。
---Sybase によってリリースされた Linux 用の OpenClient は、インターネット上の誰かが ELF および動的にリンクされた ELF 形式に変換しました。http://www. .net/~mpeppler. 両方のバージョンを同時にダウンロードし、通常の使用には動的にリンクされたバージョンを使用することをお勧めします。ただし、プログラムによっては、コンパイル時に ELF にのみ含まれるライブラリ (libblk.a) が必要になる場合があります。
---- ダウンロード後、次のコマンドを入力して展開します (現在のディレクトリが /usr/tmp であると仮定します):
----tar zxvf linux elf dynamic tar.gz
----次に、それをコピーします。 /usr/local ディレクトリに移動します。
----mv sybase /usr/local
---- Sybase クライアントをコンパイルして使用するには、次の設定が必要です。
----1.インターフェイス ファイルの例は次のとおりです:
----MSSQL
----query tcp ether mysql 1433
---- その中に:
MSSQL はクライアントが使用するサーバー名です。将来は MSSQL を参照します。
mysql はサーバーのアドレスまたは名前です。
1433 は SQL Server のデフォルト値です。サーバーは 1433、Sybase は 5000 です。
----2. SYBASE 環境変数の内容は、Sybase クライアントが配置されているディレクトリです:
----Export SYBASE=/usr/local/sybase
----3. この例を Sybase クライアントでコンパイルする場合は、環境変数 SYBPLATFORM を設定する必要もあります:
----export SYBPLATFORM=Linux
---- そして、サーバー名、ユーザー名、パスワードに関するヘッダー ファイルを変更します。 。 説明。
SQL Server にアクセスするには SQSH インターフェイスを使用します
----Sybase クライアントは xisql ツールを提供していますが、SQSH は SQshell の略称であり、isql を改良したものであり、次のアドレスからダウンロードできます。 //www.voicenet.com/ ~gray/。 現在の最新バージョンは 1.6.0 です。 ダウンロードしたファイルが /usr/tmp ディレクトリに配置されているとします:
----tar zxvf sqsq 1.6.0 tar.gz
----cd sqsh 1.6.0
----。 /configure
----make;make install
---- 次に、生成された実行ファイル sqsh を /usr/local/bin/ ディレクトリにインストールします。
----Sqsh は次のように使用されます:
---- # sqsh - -Uusername - -Ppassword - -Sservername
---- ここで、username とpassword はユーザー名とパスワードであり、servername は次のように定義されています。インターフェイス ファイル サーバー名 (この例では MSSQL など)。
----Sqsh は対話型のコマンド ライン インターフェイスです。コマンドは go を入力することで実行されます。コマンドが長い場合は、Enter キーを押すだけで行を変更できます。
---- 以下は例です。 ; go は CT-LIB を使用してアプリケーションを作成します
---- Sybase の Linux クライアントは DB-Library を提供していないため、CT-Library を使用してアプリケーションを作成するには、サンプルを参照してください。詳細については、プログラミング手順については、Sybase の手順を参照してください。 Sybperl を使用してアプリケーションを作成します
----Sybperl は、Sybase の Perl 拡張機能であり、Perl 言語を使用して SQL Server にアクセスしたり、CGI プログラムを作成したりできます。
----Sybperl は、次のアドレス http://www.mbay.net/ ~mpeppler から入手できます。 現在の最新バージョンは 2.9.5 です。
---- Sybperl のソース コードを取得して展開した後、次のいくつかのパラメータを CONFIG ファイルを変更する必要があります:
---- 次に変更するファイルは PWD で、これは次の目的で使用されます。テストでは、サーバー名、ユーザー名、およびユーザーのパスワードを独自の構成に設定するだけです。 次にコンパイルします:
----perl Makefile.PL
----make; make test; make install
----インストールが成功したら、Sybperl をプログラミングに使用できます。 以下に簡単な例を示します。
#!/usr/bin/perl
Sybase::CTlibを使う;
$dbh=new Sybase::CTlib 'sa','','MSSQL';
$dbh ->ct_execute("select au_id, au_lname ,
au_fname from pubs.dbo.authors");
while( $dbh ->ct_results( $restype) == CS_SUCCEED) {
次以外 $dbh ->ct_fetchable( $restype);
while(( $au_id , $au_lname, $au_fname) = $dbh ->ct_fetch){
print "$au_id - $au_lname au_fnamen";
}
}
----わずか数行のステートメントで、次のことがわかります。データベースのペアリング操作を完了できます。
----上記では、Linux での MS SQL Server データベースへのアクセスをいくつかの側面から説明し、基本的な API プログラミング、SQSH コマンド ライン アクセス、および Perl アクセスを紹介しています。 実際、Linux でのアクセスには、レベル 4 JDBC を使用するなど、他の方法も使用できます。この場合、Java と JDBC に加えて、他のソフトウェアは必要ありません (詳細については、http://www を参照してください)。 .connectsw.com )。