問題タブ [sqlsrv]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Wampserver - mssql - 64 ビットから 32 ビット
私は現在、Apache 2.2.22、php 5.4.3、64ビットを実行している仮想サーバーにwampserverをセットアップしています。
odbc ではなく PDO を使用して、システムが大規模な mssql データベースに接続するのが最善であると判断しました。
問題は、64 ビット サーバーで 64 ビット PHP を実行していることです。sqlsrv (PDO) ドライバーをインストールし、拡張機能などを有効にしましたが、PHP に登録されていないようです。さらに調べてみると、sqlsrv ドライバーは 32 ビットであり、64 ビット ウィンドウと互換性がないようです。
私の質問は、
- PDO 用の 64 ビット バージョンの sqlsrv ドライバーはありますか?
- そうでない場合、64 ビットの wampserver を 32 ビットの wampserver に変換するのはどれくらい簡単でしょうか?
ありがとう
php - PHP経由でSQLサーバーからアラビア語名を取得する際の照合エラー
SQL サーバー データベースがあり、PHP を使用してそこから情報を取得したいのですが、次の図のようにアラビア語の名前を疑問符として表示するこのコードを使用します。
では、DB照合順序がArabic_CI_CSであり、ブラウザのエンコーディングを変更してメタタグを異なる文字セットで配置しようとしたが、無駄だったので、アラビア語として表示するにはどうすればよいですか?
php - PHP 5.5.x 用の Microsoft sqlsrv 拡張機能
Windows、ntsでphp 5.3.27を実行しています。
PHP のセッション修正の脆弱性が原因で PCI スキャンに失敗したため、PCI コンプライアンスを回復する必要があります。
ログイン後に session_regenerate_id() を使用するため、少しイライラします。
スキャンに合格するには、php 5.5.2 にアップグレードする必要があります。
Microsoft の sqlsrv ドライバー拡張機能を使用していますが、php 5.5.x 用のビルドがリリースされていないことに気付きました。
この問題に対する本番環境で実行可能なソリューションを持っている人はいますか?
__ _ __ _更新_ _ _ _ _ _ _ _
非ベンダー ビルドであるhttp://social.msdn.microsoft.com/Forums/sqlserver/en-US/e1d37219-88a3-46b2-a421-73bfa33fe433/unofficial-php-55-drivers-x86を見つけました。
このビルドを本番環境で使用した人はいますか?
ありがとう
php - Mysqli を sqlsrv に変更します
私は PHP を初めて使用し、Microsoft SQL Server でコンパイルするためにいくつかのコードを変更する必要があります。元のコードはこのようなものです。usercakeからダウンロードしました
既に sqlsrv をインストールし、リンクをテストしました。それは私のデータベースで動作します。次に、コードを次のように変更しました。
次のエラー メッセージが表示されます。
致命的なエラー: クラス 'mssql' が見つかりません
この行が問題だと思います:
$mssqlsrv = 新しい sqlsrv($server, $connectionInfo);
しかし、これを修正する方法がわかりません。
php - IIS 7/PHP 5.4 での SQLSRV オーバーライド Web サイト出力
PHP 5.4を使用したIIS 7の簡単なセットアップがあります。MS SQL Serverのサポートを追加する必要が生じるまで、すべてが正常に機能していました。このリンクから提供された SQLSRV パッケージをダウンロードし、適切な DLL を PHP ディレクトリに抽出し、次のように拡張エントリ/構成を追加しました。ext
php.ini
...設定に追加の変更を加えた場合extension_dir
:
...、そしてサーバーを再起動しました。これで、リクエストを実行すると、次のようになります。
最初の行が欠落している場合もありますが、通常は同じ問題です。適切なテキスト/HTML を生成するページはもうありません。何が起きたの?ありがとう。
php - ストアド プロシージャが、sqlsrv ドライバーを使用した php 呼び出しで正しく機能しない
MS SQL 2008 にストアド プロシージャがあり、SSMS から呼び出された場合に完全に実行されます。リンク サーバーのテーブルに基づくビューからデータを取得し、このデータでローカル テーブルを更新します。そのため、現在、テスト中に 500 行を挿入し、約 13 秒かかり、SSMS は約 500 MB の RAM を消費するようになります (ただし、この時間とメモリのほとんどは、おそらくこのデータを画面に出力するために使用されます)。ただし、この手順を実行する php スクリプトを実行すると、2 ~ 3 秒しかかからず、94 行しか挿入されません。私はphp.iniで遊んでいましたが、まだ結果がありません。ここに私が更新した設定があります。
これが私のコードです
そして、これはこの手順への私のphp呼び出しです
ご覧のとおり、1 つのストアド プロシージャの呼び出しにコメントを付けました。ほとんど同じ考えですが、約 60 行しかなく、SSMS と PHP の両方で機能します。
IIS で PHP バージョン 5.3.27 TS VC9 を使用しています。
なぜそれが起こるのか、またはこの問題の根本を理解するために何ができるでしょうか?
php - SQLSRV ドライバーがインストールされているが、PHP を使用して MSSQL 2008 R2 データベースに接続しているときにエラーが表示される
Windows 7 Professional、MSSQL 2008 R2、および IIS 7.5 を実行しているラップトップを使用しています。システムには、c# と php のすべてのアプリケーションが正常に実行されています。ここで、すべてのファイルとアプリを Windows 7 Ultimate を搭載した 2 台目のラップトップに転送したいと考えました。しかし、何らかの理由で、phpinfo()で sqlsrv がインストールされていることが示され、DB の接続文字列を変更するだけでまったく同じコードを使用しているにもかかわらず、DB に正常に接続できません。
MSSQL management Studio v 10.50.2500
IIS v 7.5.7600.16385
PHP v 5.5.3
SQLSRV Driver for php 5.5 (公式の MS リリースではありませんが、非常に人気があり、以前のラップトップで動作します)
次のようなエラーが表示されます。
私のPHPコードは次のとおりです(最初のラップトップで動作するという事実を知っています):
何が問題なのか、どこを見逃しているのかわかりません。私は本当にこれが機能する必要があります!! すべてのソフトウェアを再インストールし、すべての php バージョンを試すのに非常に多くの時間を費やしました。
Windowsのバージョンの違いによるものではないことを願っています
また、これが私の最初の投稿であるため、質問のフォーマットに誤りがあった場合は申し訳ありません。
php - PHPを使用してsqlsrvからcsvへ
私は、sqlsrv_fetch_array を使用していくつかの SQL データを csv ファイルにエクスポートする PHP ページに取り組んできました。csvファイルでデータを正しく取得するのに問題があります。スクリプトを実行すると、csv ファイルの出力は次のようになります。
最初の「CCCCCC\SSSS」には、残りの情報には含まれていないにもかかわらず、まだ「」が付いていることに注意してください。また、何らかの理由で、csv ファイルの先頭に HTML を投稿しています。そこにヘッダーがありますが、それを機能させる方法を理解できないようです.コードを見て、ヘッダーをcsvファイルに追加する方法とともに問題がどこにあるのか教えていただけますか?コードは次のとおりです. .
php - ストアド プロシージャでの SQLSRV と複数選択
一時テーブル (#test) を作成し、別のテーブルからのデータを入力し、この一時テーブルで 3 つの選択を実行して削除するストアド プロシージャがあります。
元のテーブルは 20 GB を超えており、3 つの SELECT ステートメントには元の SP のさまざまな条件が含まれています。
SQLSRV を使用して PHP から SP を実行していますが、最初の 2 つの結果セットしか取得できません。
MSSMS から SP を実行すると、問題なく実行され、期待どおりに 3 つの結果セットが返されます。しかし、PHP からは 2 が返されます (すべての組み合わせを試しました)。
これがドライバー、sqlsrv_fetch_array または sqlsrv_next_result に問題があるかどうかはわかりません。
SP の例 (選択ステートメントが大きすぎるため、再開します):
PHPから、これは私のテストコードです:
ただし、これを試してみるとうまくいきます:
この組み合わせでも同じこと:
ここで何か間違ったことをしていますか?または、1 つの SP から 3 つの結果セットを取得する方法はありますか。
前もって感謝します。