28

testdabse.invoiceテーブルのデータをテーブルにコピーしようとしていbasecampdev.invoiceます。 はサーバーにある testdabse間はローカル データベースです。basecampdev

データを別のテーブルにコピーするためのクエリが機能しない、と表示される

Invalid object name 'basecampdev.dbo.invoice'.  

このドキュメントを読んでいますが、従うのも理解するのも難しいと思います。

これらはサーバーから提供された情報です

Server type: Database Engine
Server name: server.database.windows.net (this is not the real name)
Authentication: SQL Server Authentication
Login: myusername
Password: mypassword  

このクエリを実行できるようにサーバーに接続するにはどうすればよいですか

INSERT INTO [basecampdev].[dbo].[invoice]
           ([InvoiceNumber]
           ,[TotalAmount]
           ,[IsActive]
           ,[CreatedBy]
           ,[UpdatedBy]
           ,[CreatedDate]
           ,[UpdatedDate]
           ,[Remarks])
SELECT [InvoiceNumber]
           ,[TotalAmount]
           ,[IsActive]
           ,[CreatedBy]
           ,[UpdatedBy]
           ,[CreatedDate]
           ,[UpdatedDate]
           ,[Remarks] FROM [testdabse].[dbo].[invoice]

スクリーンショット

ここに画像の説明を入力

4

5 に答える 5

5

サイモンからの答えは私にとってはうまくいきますが、正しい順序でそれを行う必要があります。最初に、データを挿入するサーバーにいる必要があります [DATABASE.WINDOWS.NET].[basecampdev]場合。

Invoice テーブルからいくつかのデータを選択して、アクセスできるかどうかを確認できます。

Select top 10 * from [DATABASE.WINDOWS.NET].[basecampdev].[dbo].[invoice]

次に、別のサーバーにリンクするために、Simon から提供されたクエリを実行します。今回は他のサーバーを使用します。

EXEC sp_addlinkedserver [BC1-PC]; -- this will create a link tempdb that you can access from where you are
GO
USE tempdb;
GO
CREATE SYNONYM MyInvoice FOR 
    [BC1-PC].testdabse.dbo.invoice; -- Make a copy of the table and data that you can use
GO

次に、insert ステートメントを実行します。

INSERT INTO [DATABASE.WINDOWS.NET].[basecampdev].[dbo].[invoice]
       ([InvoiceNumber]
       ,[TotalAmount]
       ,[IsActive]
       ,[CreatedBy]
       ,[UpdatedBy]
       ,[CreatedDate]
       ,[UpdatedDate]
       ,[Remarks])
SELECT [InvoiceNumber]
       ,[TotalAmount]
       ,[IsActive]
       ,[CreatedBy]
       ,[UpdatedBy]
       ,[CreatedDate]
       ,[UpdatedDate]
       ,[Remarks] FROM MyInvoice

お役に立てれば!

于 2015-01-08T22:44:20.637 に答える