ホームページ  >  記事  >  php教程  >  Linux で MS SQL Server データベースにアクセスする (再版)

Linux で MS SQL Server データベースにアクセスする (再版)

WBOY
WBOYオリジナル
2016-06-21 09:13:201157ブラウズ

サーバー

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) = $db​​h ->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 )。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。