2016-12-28 6 views
0

SQL Server 2008 R2でSQL Server Mgmt Studioを使用する。 PHPコードから良いSQLクエリーが実行されていることが問題でした(実行されず、エラーは報告されません)。確認後、唯一のものは間違ってはSSMS > Help > Aboutだったと言う:SQL Server 2008 R2のSQL Server Mgmt Studioによると.Netは2.0ですか?

Microsoft SQL Server Management Studio  10.50.6000.34 
Microsoft Data Access Components (MDAC)  3.85.1132 
Microsoft MSXML        2.6 3.0 4.0 5.0 6.0 
Microsoft Internet Explorer     8.0.6001.18702 
Microsoft .NET Framework      2.0.50727.3655 
Operating System        5.1.2600 

報告.NET Frameworkの値が低すぎます。このマシンには、.Net 2.0,3.5-sp1,4.0がインストールされています。私が読んだWeb記事では、Server Managerを実行し、[Features]タブをクリックして、.Net 3.5 sp1を有効にすると述べました。しかし、Win XPにはService Managerがないようで、XPのAdminpak.msiにはそれがなく、Windows Power Shellは32ビットでService Managerモジュールをインポートできませんでした。

お知らせください。

+0

Windows XPでは、異なる.NET Frameworkのバージョンを無効または有効にすることはできません。インストールまたはアンインストールしかできません。サーバーマネージャーは、Windows Serverにのみ適用されます。また、あなたがどんな問題を抱えているかははっきりしていません。さらに明確にする必要があるかもしれません。 – uncoder

+1

これは**組み込みSQL CLR **ランタイムのバージョンです。これはSQL Serverコアに組み込まれている.NET Frameworkです。 SQL Server 2005から2008 R2は.NET 2.0を使用し、SQL Server 2012では.NET 4.0です。これはあなた自身のコンピュータにインストールされている.NETフレームワークとは無関係です。** SQL Server内部** SQL CLR .NETランタイムバージョン –

+0

ありがとうございます。 Win XPシステムです。 PHP 5.3とドライバ(php_sqlsrv_53_nts_vc9.dll、php_pdo_sqlsrv_53_nts_vc9.dll)を慎重にインストールしました。彼らはphpinfo()に表示されます。しかし、PHPコードからのすべてのSQLクエリは実行されません。何故かはわからない。 – kennr

答えて

0

この質問が当初掲載されてから数週間後には、一部の がさらに浮上しました。

コメントは言った:。

は、「これは、組み込みのSQL CLRランタイムのバージョンである - SQL Serverのコアに組み込まれている.NET FrameworkのSQL Server 2005の 2008年までR2は、.NETを使用しました2.0、...」と表示されます。 2.0.50727.3655

1つの追加

SSMS>ヘルプ>について
のMicrosoft .NET Framework:以下の私のSQL Server Expressの2008 R2をインストールするためのだから、

は正しいと考え です(Windows XP SP3上で)インストールされている.Net Frameworkのバージョンに影響を与える(有効/無効にする)方法があるように思われます。 C:\ DocumentsとSettings \\ローカル設定\アプリケーションデータ\ Microsoft_Corporation \ LandingPage.exe_StrongName_ryspccglaxmt4nhllj5z3 thycltsvyyx \ 10.0.0.0 \ user.config

(ライン3)

は、次のファイルを考えてみましょう言う: System.Configuration.UserSettingsGroup、システム、バージョン= 4.0.0.0

(4行目)は言う: System.Configuration.ClientSettingsSection、システム、バージョン= 4.0.0.0

これらのバージョンのエントリは、mssqlインストーラによって作成されたもので、証明されていないものの、(最高の)インストール済み.Net Frameworkパッケージ(そのマシン上)を参照することが強く疑われます。
この声明をサポートするには、次のURLリファレンスを参考にしてください。

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/d4d657bd-8212-4287-b5ed-e6055cbceb09/config-error-refers-to-version-4000-after-retargeting-to-2000-even-after-changing-all?forum=netfxbcl

(このユーザは、そのURLに論じた問題のいずれかを経験するだけuser.config内のバージョンとインストールされている.NET Frameworkのバージョン間の疑いのある関連付けをサポートするために参照として引用されていませんでした。)

このユーザーの状況では、mssqlサーバーの複数のインストール試行が必要でした。以前の試みでは、mssqlインストーラはバージョン2.0をuser.configファイルに書き出しました(すぐに破棄されました)。後で、mssqlインストーラーはuser.configファイル(受け入れられた同じマシン上)にバージョン4.0 ...を書きました。インストーラによって書かれたバージョンは両方のインストールインスタンスで同じではなく、説明するのが難しいことに注意してください。

2番目の追加の理解は、以前のmssqlインストールのuser.configファイル(その正確なパスの場所に)が存在するとms msqlサーバーは、エラーが2回(開始時と終了時に)停止するように2008 R2のインストールを表明し、続行するユーザーの許可を求めます。引き続き受け入れられる設置を作りました。しかし、ほとんどのコメンテーターは、新しいインストールに先立って以前のインストールから残っているuser.configファイルを削除し、mssqlインストーラで再作成するように推奨しています。 (v4.0未満を参照するuser.configファイルはこのユーザーには受け付けられませんでしたが)

ところで、広範囲の調査の後、この投稿の質問を最初に唱えた根本的な問題は、 .Net Frameworkのバージョンとは無関係であることが証明され、代わりに不正な形式のクエリ文字列が直接発生していました。

関連する問題