如何将数据从另一个数据库(另一个服务器中)的视图导入到 SQL Server 2000 中的表中?
我正在考虑使用 bcp 命令来解决用户身份验证,但是 bcp 命令是否能够导入到我的数据库中的表中?顺便说一句,我使用的是SQL Server 2000环境。
这是我到目前为止得到的代码:
SET @Command = 'bcp "SELECT vwTest.* from [myserver\sql].test.dbo.vwTest" queryout dbo.Test -C ACP -c -r \n -t ";" -S myserver\sql -Umyuser -Puser1'
EXEC master.dbo.xp_cmdshell @Command
I was thinking about using bcp command to solve the user authentication, but does a bcp command capable to import to a table in my database? By the way, I am using SQL Server 2000 environment.
Here's the code I have got so far:
SET @Command = 'bcp "SELECT vwTest.* from [myserver\sql].test.dbo.vwTest" queryout dbo.Test -C ACP -c -r \n -t ";" -S myserver\sql -Umyuser -Puser1'
EXEC master.dbo.xp_cmdshell @Command
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
基于此处对 BCP、BULK INSERT、OPENROWSET(推断链接服务器)的比较< /a>:
...bcp 可能不是传输数据的最有效方式。您可能最好:
INSERT
语句,以便根据链接服务器实例中公开的数据库中的记录填充表。除了可能更高效之外,您只需设置一次链接服务器实例,而不是每次想要移动数据时运行 BCP 来创建输出脚本。
请注意,链接服务器实例基于另一个数据库上的用户,因此对另一个数据库的权限基于该用户的权限。
Based on the comparison of BCP, BULK INSERT, OPENROWSET (infer Linked Server) here:
...bcp possibly isn't the most efficient means of transferring data. You might be better off to:
INSERT
statements, so that the tables are populated based on records from the database exposed in the linked server instance.Besides potentially being more efficient, you only need to setup the linked server instance once versus running BCP to create output scripts every time you want to move data.
Mind that the linked server instance is based on a user on the other database, so permissions to the other database are based on that users' permissions.
当然!!
在源计算机上使用此命令(根据您的需要采用它):
然后使用以下命令将数据导入回目标系统:
这应该从源中获取“viewname”的内容服务器上,将其放入临时文件中,然后将该文件插入新服务器上的新数据库中。
通常,您会将这些数据行加载到新的临时暂存表中,并使用 T-SQL 或其他方式将该数据插入到实际表中。
查看 有关 SQL Server 2000 中 bcp 的 MSDN 文档< /a> 有关所有这些开关及其含义的详细信息。
SURE !!
Use this command (adopt it for your needs) on your source machine:
and then import the data back into your destination system using:
That should grab the contents of your "viewname" from the source server, put it in a temporary file, and insert that file back into the new database on the new server.
Typically, you would load those data rows into a new, temporary staging table, and form there, use T-SQL or other means to insert that data into your actual tables.
Check out the MSDN documentation on bcp in SQL Server 2000 for details on all those switches and their meanings.