1

私はSQL Serverにかなり慣れていません。基本的な管理、バックアップなどを行ってきました。また、MySQL 特注プログラムのソフトウェア サポートを提供するソフトウェア会社で MySQL を 2 年間担当しました。私は主に技術者 (デスクトップ、ネットワーク) ですが、この DB について頭を悩ませています!

私は SQL Server 2005 を実行している会社で仕事を始めましたが、何かを行う必要があり、何よりも構文に苦労しています。同社には、4 つの異なる場所で同じデータベース (プログラムに関して) を実行している 4 つの SQL Server があります。

私がやろうとしているのは、更新された原価価格リストを表 1 から * 基準で他の表にコピーすることです。table.parts基本的server1.partsにコピー元server2.parts * currencyconvertion field * markup (%)

データベースをリンクできないことを除いて、そのビットは非常に簡単に思えます。- を含むサーバー名を入力すると、構文が間違っていると表示されますuk-server1 'can't find 'uk'。また、4つの部分のアドレスが正しいサーバー名、データベース名、スキーマ、テーブルであるかどうかもわかりません。

そうですね。以前に試したとき、2 つのサーバーをリンクできませんでした。これを解決し、サーバーがリンクされました。サーバー名を引用するには [] が必要かもしれないと言われました。私はこれを試しましたが成功しませんでした。問題は、-uk-efacs を持つサーバーの名前のようです。これを入力してリンクされたことを覚えているとすぐに、エラーがサーバーefacsを見つけることができず、英国が間違っていますか?? 完全なサーバー名の準備ができていませんか? なぜ?

試行錯誤でこれを考え出したのは、サーバー名、つまり [uk-efacs].db.table.field で [] が必要なだけです。これで問題ありません。クエリでエラーが表示されるので、構文を修正する必要があります。

4

1 に答える 1

0

これを実行しているサーバーにリンク サーバー レコードを作成してみてください。オブジェクト エクスプローラー (SSMS 内) で [サーバー オブジェクト] を展開し、[リンクされたサーバー] を右クリックして [新規] を選択します。[SQL Server] を選択し、リモート サーバーの名前を入力してから、クエリを再試行してください。あなたが提供したスニペットとして少し戸惑いました

update partmaster 
set partmaster.fsunit = uk-efacs.efacsdb.partmaster.fsunit * uk-efacs.efacsdb.currency.currate * 1.32 

うまく解析できているようです。

于 2012-04-27T10:43:24.437 に答える