システム開発ブログ/ ソフトウエア開発部 Yahoo!ブックマークに登録 Google ブックマーク はてなブックマーク Livedoorクリップ シェア

システム開発ブログ

Twitterでilovex_officialをフォローしてください

最近の記事

カテゴリー

部署

月別アーカイブ

以前の部署別ブログ

ADO接続文字列で、PROVIDER=SQLNCLIを使用する

松本
松本 (2010年9月 1日 11:45)
ソフトウエア開発部

ASP(VBScript)のWebシステムで、SQLServer2005に接続するシステムを開発しました。

DBはミラーリングされるので、接続文字列を以下のように設定しました。


"PROVIDER=SQLNCLI;USER ID=[ID];PASSWORD=[Password];INITIAL CATALOG=[DB];Server=[サーバ]Failover Partner=[フェイルオーバーサーバ]"


「PROVIDER=SQLNCLI」の「SQLNCLI」は、SQL Native Client OLE DB プロバイダのことで、
SQLServer2005の新機能を使用したい場合に指定します。

この接続文字列で、DBにも接続出来、フェイルオーバー発生時には
DBが切り替わったのですが、システム内でストアドを実行する処理で、
エラーが発生してしまいました。

	Set cmd = Server.CreateObject("ADODB.Command")
	Set cmd.ActiveConnection = goConn
	
	With cmd
		.CommandText = [ストアド名]
		.CommandType = adCmdStoredProc
		
		.Parameters.Refresh
		.Parameters("@Param") = Param
		
		.Execute ln, , adExecuteNoRecords		'※←エラー発生行
	End with

エラー内容:
  ADODB.Command (0x800A0E7C)
  Parameter オブジェクトが適切に定義されていません。
  矛盾した、または不完全な情報が提供されました。


これを解決するには、上記の接続文字列に、
「DataTypeCompatibility=80」を追加する必要があります。


"PROVIDER=SQLNCLI;USER ID=[ID];PASSWORD=[Password];INITIAL CATALOG=[DB];Server=[サーバ]Failover Partner=[フェイルオーバーサーバ];DataTypeCompatibility=80"


「DataTypeCompatibility」は、使用するデータ型処理モードを指定し、
プロバイダ データ型の "0" または、SQL Server 2000 データ型の "80" を指定できるようです。

MSDNによると、

  SQL Native Client を使用できるようにするには、
  ADO アプリケーションで、接続文字列に次のキーワードを実装する必要があります。

ということなので、「PROVIDER=SQLNCLI」を指定する場合は、
「DataTypeCompatibility=80」をセットにして記述する必要があるようです。

詳しくは、下記のページでご確認ください。

<参考>
SQL Native Client と ADO の併用
http://technet.microsoft.com/ja-jp/library/ms130978(SQL.90).aspx

SQL Native Client での接続文字列キーワードの使用
http://technet.microsoft.com/ja-jp/library/ms130822(v=SQL.90).aspx

「システム開発ブログ」へのコメントやご意見等ありましたら、 ファンページまでお願いします。  Facebook のファンページ

お問い合せ・情報はこちらの電話番号におかけください:03-3232-2525 お問合せ・資料請求はこちらをクリックしてください
ページのトップ
システム開発・一括受託開発。見積依頼受付中

システム開発専用サイト

システム開発の流れ・手順、実績など。アイロベックスのシステム開発を紹介。

VB .NETを主言語としたWebアプリケーションの開発

要件分析から保守まで、お客様の現場での問題解決だけでなく、IT経営の援護者としてトータルソリューションサービスを提供しています。

MovableType を使ったウェブサイト構築

魅力あるウェブサイトデザイン、構成はもとよりMovableTypeを使用したウェブサイトの作成、JAVA、CGIによる注文フォームの作成等、ビジネスを強力にサポートします。

フォルダーアクセス権限確認ツール『AD-Folder』

Windowsフォルダーアクセス権限確認ツール

フォルダーアクセス権限を一目で確認。使用版を無償でご利用いただけます。

スクール運営を応援する講座情報管理システム『CMS+AD for School』

Webとリアルをつなぐコンテンツマネージメントシステム

Webサイト・モバイルサイト・チラシ(PDF)・カタログ(InDesign)を、簡単かつ正確に作成できます。

「システム開発ブログ」の更新情報をTwitterで。

Twitter公式アカウントに認定されています

「システム開発ブログ」の更新情報をTwitterで。ぜひ、フォローをお願いします。