質問する
私たちは数日前、非常に奇妙なプロジェクトを行いました。当社はチャイナユニコムのSGIPプロトコルに基づいて、チャイナユニコム130 SMSサービスを提供するためのSP側ショートメッセージサービスソフトウェアのセットを開発しました。このシステムは Windows 2000 上で動作しています。データベース は Microsoft SQLServer2000 を使用しており、しばらくの間正常に実行されています。最近、ショートメッセージユーザーの情報をWEB上で提供するためには、WEBからSQLServerdatabaseを読み書きする必要があり、本来であればSQLServerdatabaseのベストパートナーはMicrosoft IISであるはずです。 ASP サービス しかし、当社は常に IIS+ASP の安定性とセキュリティが満足のいくものではないと考えており、Linux 上で SQL Server を読み書きするために PHP スクリプトを使用したいと考えています。 問題を分析する 本来、SQLServer の読み取りと書き込みには問題はありません。通常、Windows 用の Apache や Windows IIS では、すべて準備ができている ODBC または SQLServer クライアントを介して接続できます。 Windows で作成されました。ただし、Linux には既製の ODBC および SQLServer クライアントが存在しないため、自分でインストールする必要があります。
問題を解決してください 1. 関連ソフトウェア freetds 出典: ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/freetds-0.53.tgz
このソフトウェアは、Linux と Unix を使用して MS SQLServer と Sybase を接続できます。
2. インストールと構成の手順 ステップ 1: freetds をコンパイルしてインストールします: freetds-0.53.tgz を取得後 cp freetds-0.53.tgz /tmp/ (freetds パッケージを /tmp ディレクトリにコピーします) cd /tmp (ディレクトリを入力) tar zxvf freetds-0.53.tgz (解凍) cd freetds-0.53 (解凍したディレクトリに移動) ./configure –prefix=/usr/local/freetds --with-tdsver=7.0 gmake (Makefile を生成します。私はそれをテストしました。make もできます) gmake インストール 上記の設定について言いたいことがあります。 --prefix=/usr/local/freetds はディレクトリ /usr/local/freetds にインストールすることを指します。 --with-tdsver=7.0 は tds 7.0 バージョンをインストールすることを指します。最新バージョンではこのコンパイル パラメーターを追加しなかったので、結果はデフォルトで 5.0 にコンパイルされました。 に接続するための 5.0 のポートは SQL Server の 1433 ではなく 4000 です)。
ステップ 2: 4 を再コンパイルする
./configure [--with-apxs --with-mysql...] --with-sybase=/usr/local/freetds (sybase であることに注意してください) 作る メイクインストール ステップ 3: freetds を構成する vi /usr/local/freetds/etc/freetds.conf 特定の構成については、このファイルの手順を参照してください 例: (一般的な構成) [SQLサーバー] host = sql_server_name_or_host_ip (SQLServer マシン名または IP アドレス) ポート = 1433 tds バージョン = 7.0 この設定ファイルでは、Windows ドメイン ログインまたは SQLServer アカウント ログインの 2 つの方法を設定できます ステップ 4: .ini ファイルを構成する
;extension=mssql70.so が見つかりました コメントを 拡張子=mssql70.so ステップ 5: でデータベース接続を確立する
$link=mssql_connect("sqlserver",$your_username,$your_pass ) または死ぬ (「データベースに接続できません」);
エコー $link
データベース SQL ステートメントでは中国語がサポートされていないことに注意してください ステップ 6: デバッグ 接続できない場合は、freetds 構成ファイルで「dump file = /tmp/freetds.log」という行を見つけ、その前のセミコロンをコメントアウトして、テスト スクリプトを実行して /tmp/freetds.log ファイルを確認してください。問題のトラブルシューティングに役立つ多くのエラー情報が得られます。