問題タブ [sqlncli]

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.

0 投票する
4 に答える
34582 参照

sql - リンク サーバーの SQLNCLI の問題。「アクティブなトランザクションはありません」

ストアド プロシージャを実行し、その結果を一時テーブルに挿入しようとすると、次のメッセージが表示されます。

リンク サーバー "MyServerName" の OLE DB プロバイダー "SQLNCLI" が分散トランザクションを開始できなかったため、操作を実行できませんでした。リンク サーバー "MyServerName" の OLE DB プロバイダー "SQLNCLI" から、"アクティブなトランザクションはありません" というメッセージが返されました。

私のクエリは次のようになります。

正確な列番号、名前、問題は結果ではありません。

MSDTC は許可され、両方のコンピューターで開始され、リモート プロシージャ コールも開始されます。

マシンは同じドメインにありませんが、自分のマシンからリモート クエリを実行して結果を取得できます。ストアド プロシージャを実行してその結果を確認することもできますが、別のテーブルに挿入することはできません。

編集


ああ、言い忘れましたが、ストアド プロシージャはトリガーを起動しません。データ処理のために自身で作成する一時テーブルにレコードを挿入するだけです。

0 投票する
2 に答える
35049 参照

asp.net - 参照時にクライアントに SQLNCLI10 プロバイダーがインストールされているかどうかを確認する方法は?

サードパーティの ActiveX コントロールを使用して、Web サーバーをバイパスして、クライアントが PC からリモート SQL Server データベースに直接接続できるようにする ac# Web サイトがあります。私はもともとSQLOLEDBプロバイダーを使用していましたが、正常に動作していました。クライアントは内部ネットワーク (Windows マシンと Internet Explorer を使用) にあり、Web サイトは一般的なインターネットに公開することを意図していません。

SQL Server 2008 の新しいデータ型に対応するために、SQLOLEDB プロバイダーの使用から SQLNCLI10 プロバイダーにアップグレードする必要がありました。私の PC では機能しましたが、本番環境は機能しませんでした。SQLOLEDBプロバイダーは Windows OS (MDAC/WDAC) の一部であり、クライアントの PC に既に存在するため、それが機能していることに気づきませんでした。SQLNCLI10プロバイダーは SQL Server 2008 の一部として含まれており、クライアント マシンに個別にインストールする必要があります(ほとんどのプロバイダーには SQL Server がインストールされていませんが、私はインストールしています)。

スタンドアロンの Microsoft SQL Server 2008 Native Client プロバイダーをダウンロードするためのリンクを提供できますが、既にインストールされているかどうかを確認するにはどうすればよいですか?

0 投票する
8 に答える
11402 参照

sql-server - Delphi と SQL Server: OLEDB とネイティブ クライアント ドライバーの比較

SQL Native Client はOLEDB ドライバーよりも高速である言われています。そこで、この 2 つの間の負荷テストを実行するためのユーティリティをまとめましたが、さまざまな結果が得られています。クエリが何であれ (単純な select、where 句、結合、order by など)、一方が高速な場合もあれば、他方が高速な場合もあります。もちろん、サーバーはワークロードの大部分を処理しますが、データが PC に入ってからアプリ内でデータにアクセスできるようになるまでの時間に興味があります。

負荷テストは、非常に大きなデータセットを返す非常に小さなクエリで構成されています。たとえば、select * from SysTablesこのテーブルには 50,000 件以上のレコードがあります。データを受信した後、結果をループする別の負荷を実行します (while notQ.eof ... Q.next ...などを使用)。また、フィールドのorder by Val場所など、クエリにいくつか追加しようとしました。Valvarchar(100)

これが私の負荷テスターのサンプルです。一番下の数字は平均です...

ここに画像の説明を入力

では、実際には、2つの違いは何ですか? OLE は非常に柔軟で、さまざまなデータベース エンジンをサポートしていますが、Native Client は SQL Server のみに固有のものです。しかし、舞台裏で他に何が起こっているのでしょうか? また、それは Delphi がこれらのドライバを使用する方法にどのように影響しますか?

TADOConnectionこれは特に、コンポーネントを介して ADO を使用しTADOQueryています。

私は必ずしもパフォーマンスを向上させる方法を探したり求めたりしているわけではありません。ドライバー間の違いを知る必要があるだけです。

0 投票する
1 に答える
16519 参照

sql-server - SQLNativeClientとSQLNativeClient 10の違いは何ですか?

SQL Server 2005から2008にアップグレードするときに、接続文字列をSQLNCLIからSQLNCLI10に変更する一般的な理由または詳細な理由の概要を示すリンクまたはソースに誰かが私を導くことができますか?

データ型の問題以外では、違いはありません。最小限の複雑さで、パフォーマンスの向上がない場合、または機能が失われている場合は、できるだけ少ない手順で実行したいと思います。少なくとも現時点では、このステップを実行する意味がわかりません。

0 投票する
1 に答える
1405 参照

sql-server-2005 - リンク サーバーからレコードを削除できませんでした

私は過去 2 日間、問題の解決策を求めてあらゆる場所を探しましたが、運がありませんでした。

リモートサーバーからレコードを削除する次のクエリがあります。

そして、私はこのエラーが発生しています:

sp_addlinkedserverまた、リンク サーバーを追加するために使用することもお勧めします。

いくつかのメモ:

  1. これは、この特定のコンピューター + リモート サーバーでのみ発生します。2 つの異なるステーション (コンピューター + サーバー) では問題なく動作しました。
  2. OpenRowSet への挿入は正常に機能しています。
  3. Select * from OpenRowSet は正常に動作しています。=> delete を select * に変更すると問題なく動作します。
  4. クエリを実行するコンピューターでアドホックが有効になっている
  5. openrowset を介して照会されているコンピューターでリモート接続が有効になっている
  6. サーバー (AB01S) に ping を実行できます

これまでのところ、GUI と を介してリンク設定を追加しようとしsp_addlinkserverました。

0 投票する
5 に答える
52422 参照

sql - 'SQLNCLI'プロバイダーがローカルマシンSQLServer2012に登録されていません

開発ボックスからクライアントへのアプリケーションのデプロイに取り組んでいます。クライアントでexeを実行すると、「'SQLNCLI10'プロバイダーがローカルマシンに登録されていません」というエラーが表示されます。

SQLServer2012で開発しています。ターゲットマシンにsqlncli.msiをインストールしようとしましたがうまくいきませんでした。

アプリを動作させるためにクライアントマシンにインストールする必要のあるパッケージを教えてもらえますか?そして、可能であれば、そのパッケージへのURLを提供しますか?

ありがとう!

0 投票する
1 に答える
886 参照

sql-server-2008 - Windows 8 の SQLNCLI10 プロバイダー

Windows 8 で困っています。

SQLNCLI10 プロバイダーを使用してネット経由で SQL Server 2008 を使用して VB6 でアプリケーションを作成しましたsqlncli10.msiが、Windows 8 を搭載した PC にインストールしようとすると、サポートされていないと言われました。 .

接続には ADO を使用します。文字列接続は次のとおりです。

何か案は?

0 投票する
4 に答える
24832 参照

sql-server-2008 - Linux から SQL Server に接続できない

CentOS 5.8 で SQL Server 2008 に接続しようとしています。unixODBC 2.3.0 と SQL Server ODBC ドライバー (www.microsoft.com/en-us/download/details.aspx?id=28160) を使用しています。

実行して接続をテストしようとすると:

それは私に与えました:

ポートが開いていて、サーバーにアクセスできます。

問題をさらに診断しようとしましたが、ここで行き詰まりました:

どうやら、接続の確立に問題があるようです。

誰でも私を助けることができますか?他に情報が必要な場合はお知らせください。

ありがとう