問題タブ [sql-server-native-client]

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 投票する
1 に答える
1219 参照

sql-server - SQL Native Client、リンク サーバー エラー 削除時のみ

Borland アプリケーションからローカル SQL Server 2005 に接続するために SQL Native Client を使用しています。選択、挿入、および更新には問題ありません。削除すると、次のエラーが表示されます。

sys.servers にサーバー SERVERNAME\SQLEXPRESSが見つかりませんでした。正しいサーバー名が指定されていることを確認してください。必要に応じて、ストアド プロシージャ sp_addlinkedserver を実行して、サーバーを sys.servers に追加します。

唯一のインスタンスである既定のインスタンスはSERVERNAME\SQLEXPRESSであり、リンク サーバーは使用していません。何か案は?MDF ファイルと LDF ファイルをこの DB 用の新しいサーバーに移動してから、再接続したと思います。

更新 1

SQL はありません。これはすべて、カーソルとのプログラムによる対話によって行われます。ADO を使用した ODBC ドライバーです。TableObj->Delete を実行して、レコードを削除します。

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

sql-server - OLE DB を使用した BLOB の挿入

OLE DB と SQL Server Native Client を使用して SQL Server DB にアクセスするアプリに取り組んでいます。これまで、かなり単純な SQL しか扱っていませんでした。このために、私は を取得しICommandTextて使用していSetCommandTextます。データベースに大きなオブジェクトを挿入したいと考えています。存在することがわかりますICommandStreamが、これを使用するには、実装するクラスを追加しIStream、BLOB を適切に引用する (アポストロフィをエスケープするなど) 必要があるようです。確かにもっと簡単な方法はありますか?

補足: OLE DB は私の選択ではありませんでした。この段階では変更できません。したがって、「より高いレベルのものを使用する」というより簡単な方法は利用できません。

0 投票する
3 に答える
4177 参照

sql-server - SQL Server が比較のために DATE を DATETIME に自動的にアップコンバートしないのはなぜですか?

SQL Server 2008 の新しい DATE データ型が気に入っていますが、DATE フィールドをリンク サーバー (この場合は SQL 2005) の DATETIME フィールドと比較すると、次のようになります。

次のエラーが表示されます。

「スケールが無効です」というのは、明らかに、ネイティブ クライアントが DATE データ型をリンク サーバーに返しているためです。これは SQL 2005 であるため、どうすればよいかわかりません。この同じクエリを 2008 サーバーに対して実行すると、問題なく動作します。SQL Server は、問題なく DATE および DATETIME データ型を比較できます。

これが私の質問です。Native Client が '2009-11-09' の DATE 値を '2009-11-09 00:00:00.000' の DATETIME に自動的に変換しない理由があるので、以前のバージョンのSQL Server はそれを詰まらせませんか?

0 投票する
3 に答える
923 参照

php - SQL Server 2005、SQL Driver for PHP v1.1 で「トランザクションがトリガーで運命づけられました」というエラーが発生する

短いバージョン: sqlsrv ドライバー (ネイティブ クライアント ラッパー) は、トリガーから生成された制約違反エラーを「処理」します。mssql ドライバー ( ntwdlibラッパー) は、問題なく報告します。

  • SQL Server 2005
  • PHP 5.3.1
  • PHP 1.1 用の SQL Server ドライバー

備品:

INSERT INTO v SELECT CURRENT_TIMESTAMP;Management Studio を実行すると、収益が得られます

sqlsrv_query で実行してもエラーは報告されません。

出力

アプリケーションには、後のステートメントが失敗する以外に、トリガーが失敗したことを確認する方法がありません (らしい)。

質問:どうしたの? この PHP ドライバーを使用しますか? DML トリガーでビューを使用していますか? ドライバーは運命の取引を報告しますか?

edit 2010-02-17 11:50 : 質問の最初のバージョンでは、単純なINSERT. これは、制約に違反する DML がTRYブロック内にある場合にのみ発生します。混乱させて申し訳ありません。

2010-03-03 を編集: の重大度レベルに執着しすぎないようにRAISERROR、実際のコードは と でキャッチされたエラーを再スローしようとERROR_NUMBERERROR_SEVERITYますERROR_STATE

さらに、以下の質問に注意してください。

質問:どうしたの? この PHP ドライバーを使用しますか? DML トリガーでビューを使用していますか? ドライバーは運命の取引を報告しますか?

ここに記載されている状況を直接経験せずに賞金を収穫しようとしないでください.

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

sql-server - ミラー化された環境でプリンシパル サーバーに完全な障害が発生した後、SQL Native Client 接続を再度開く必要がありますか?

以下のような接続文字列があります。

この接続文字列を使用する SQL Native Client は、NYAVDEVINTDCDB1サーバーが完全に切断された場合、またはネットワークからの接続が失われた場合に再接続を実行する必要がありますか? そうでない場合、なぜ私は

この状況はいつ発生しますか?

SQL Server Standard Edition 9.00.3152.00 SP2 を使用しています

0 投票する
3 に答える
2473 参照

delphi - BDE、Delphi、ODBC、SQL ネイティブ クライアント、デッド ロック

BDE を使用して、SQL Server Native Client ODBC ドライバー (2005 バージョン) を介して SQL Server 2008 にアクセスする Delphi コードがいくつかあります。私たちの問題は、複数のテーブルへの挿入を行うループでデッドロックの問題が発生していることです。

ループ全体が [TDatabase].StartTransaction 内で実行されます。SQL Server プロファイラーを見ると、ループ中のある時点で SPID (セッション ID?) が変更され、自然にデッドロックが発生することがはっきりとわかります。(両方の SPID が同じテーブルに挿入します)

ある時点でBDEがDBへの2番目の接続を行うようです...

(BDE をスキップしたいのですが、現在はできません。)

共有する経験がある人はいますか?

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

delphi - winebottler を使用して MacOSX で SQL Server ネイティブ クライアントを必要とする win32 ネイティブ アプリケーションを実行するにはどうすればよいですか?

私はWineBottlerを試していて、OSX で Delphi で書かれた win32 ネイティブ アプリケーションを実行したいと考えています。

アプリケーションは実行されますが、SQL Server に接続できないため、ログイン画面で停止します。

WineBottlerで使用できるように、OSXにSQL Serverネイティブクライアントをインストールして構成する方法を知っている人はいますか?

注: "winebottler" が利用できないため、タグとして "wine" を付けました。

0 投票する
3 に答える
9723 参照

java - ODBC エラー: 無効な文字列またはバッファの長さ -- Microsoft Server 2008 32 ビット vs 2008 R2 64 ビット

Java 6 コンソール アプリから Microsoft Windows Server 2008 R2 64 ビット システム上の Microsoft SQL Server 2008 R2 に、SQL Server Native Client 10.0 を使用して ODBC システム DSN 経由で接続しようとしています。以下のソースコード:

エラーをスローします

java.sql.exception [Microsoft] [ODBC Driver Manager] 無効な文字列バッファ長

驚くべきことに、まったく同じ方法で構成されたODBCシステム DSN を使用した同じコードは、MS Server 2008 32 ビット (非 R2) および MS SQL Server 2008 R2 で動作します。2 つのシステム間の Microsoft ODBC ドライバー dll は、6.0.xxxx と 6.1.xxxx の異なるバージョンであり、これが原因であると思われます。

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

sql-server-2008 - SQL Native Client(Windows 7-IIS7)を使用してClassicASPからSQLServer2008R2に接続できない

接続文字列で使用すると、SQL Server2008R2に接続できProvider=SQLOLEDBます。しかしProvider=SQLNCLI、接続文字列で使用すると接続できません。

ADODB.Connectionエラー「800a0e7a」

プロバイダーが見つかりません。正しくインストールされていない可能性があります。

/test.asp、7行目

内に書かれたコードtest.aspは以下の通りです

接続しようとしているSQLServer(Windows7のIIS7内の従来のASPページから)は、VPNを使用して接続している別のネットワークの別のサーバーにあります。

ODBCデータソース管理者からSQLServer2008 R2(VPN経由で接続されている)へのSQLネイティブクライアントシステムDSN接続を作成して、SQLネイティブクライアントをテストしました。そして、それは正常に接続されました。

これらのスナップは私のWindows7システムからのものです Appwiz.cplスナップ

IIS7の機能

ここに画像の説明を入力してください

  • Windows 7
  • IIS 7
  • クラシックASPページ(.asp)
0 投票する
2 に答える
5534 参照

vb6 - VB6「プロバイダーが見つかりません。」

同じマシンで同じ接続文字列を使用している VB6 で記述されたいくつかのアプリケーションがあります。彼らは SQL Server Native Client 10.0 ドライバーで ODBC プロバイダーを使用し、明示的なユーザー名とパスワードで接続しています。

実行時にデータベースに接続しようとすると、アプリケーションの 1 つが例外をスローします。

3706: プロバイダーが見つかりません。正しくインストールされていない可能性があります。

他のアプリケーションが正常に動作しているときに、この 1 つのアプリケーションに問題が発生する理由がわかりません。参照は、バージョン番号まで同じです。