2

ADOを使用してSQLServerのデフォルトインスタンスに接続するC++POSアプリケーションは、アプリケーションがネットワーク用のワイヤレスカードを備えたタブレットPCで使用されている場合、失敗します。

LANケーブルが接続されている場合、アプリケーションはタブレット上で正常に動作します。

テスト担当者は、SQL Serverを使用する別のサーバーアプリケーションで、TCP接続ではなくSQLServerインスタンスへの共有メモリ接続を使用するように設定を変更するまで同様の問題が発生していることを発見しました。

使用している接続文字列は次のとおりです。

"Provider=MSDASQL;DRIVER={SQL Server};SERVER=(local);DATABASE=%s;UID=; Password=;"

このWebページを読むと、共有メモリ接続を使用するには、SERVER=(local)キーワードを指定する必要がSERVER=lpc:(local)あるようですが、それはわかりません。

WebページはMicrosoftMSDNのSqlConnection.ConnectionStringプロパティです。

4

1 に答える 1

0

キーワード/値を使用するためにPOSアプリケーションと在庫アプリケーションの両方の接続文字列を変更した後SERVER=lpc:(local)、ワイヤレスセルカードが使用されているときにテストチームは問題を認識しなくなりました。

したがって、lpc:は共有メモリの使用を強制します。

ADOエラー16389に関するこの質問も参照してください。

ソリューションの別のコンポーネントの補遺(2016年10月24日)

POSを使用しているフィールドサイトでは、DatacapSystemsNETePayサーバーを使用して電子決済トランザクションを処理しています。

顧客がPOS構成エラーを犯したため、修正されてから、最近、NETePayサーバーで同様の問題が発生したことがわかりました。DSI Client-XコントロールからのXML応答は、エラーコード001501と「ScratchWrite中のデータベースエラー」で始まるエラーテキストを含む「エラー」でした。

この問題と解決策を思い出して、Datacap Systems SQL Serverインスタンスの設定を変更し、TCP/IPを「有効」から「無効」に変更して「DATCAPINSTANCEのプロトコル」を変更しました。この変更を行った後、顧客にはエラーが表示されなくなります。

于 2012-09-06T12:44:05.633 に答える