SQL Server 导入通过 bcp 创建的文件

发布于 2024-12-07 00:14:33 字数 469 浏览 0 评论 0原文

我目前正在研究如何将一台计算机上的 SQL Server 中的 bcp 创建的文件导入到本地 SQL Server 中。这是我从第三方收到的数据文件,因此我不知道该信息的数据结构等。我的 SQL Server 技能还很新,所以请耐心等待 :) 我已查看了 bcp 文档并尝试了以下操作:

bcp TestDatabase in File.bcp -T
Results: Invalid Object name 'TestDatabase'

我创建了测试数据库 TestDatabase 并再次尝试了查询,但得到了相同的响应。然后我添加了 -Slocal 并得到了登录超时,看起来像是进步了!

我删除了 -T 标志并尝试了不同的用户名和密码组合,但没有成功。

所以我想首先,是否存在我遗漏的潜在问题,我没有遵循的语法等,或者我应该只是使用本地 SQL Server 的信用?

I'm currently reviewing how to import a file created from bcp in SQL Server on one computer into my local SQL Server. This is a datafile I received from a 3rd party so I have no idea of the data structure etc. of the information. My SQL Server skills are quite new so please bear with me :) I've reviewd the bcp documents and attempted the following:

bcp TestDatabase in File.bcp -T
Results: Invalid Object name 'TestDatabase'

I created the test database TestDatabase and tried the query again but with the same response. I then added -Slocal and got a login timeout, seems like progress!

I removed the -T flag and tried varying combinations of usernames and passwords without any luck.

So I guess to start, is there an underlying issue I'm missing, syntax I'm not following etc. or should I just play around with the creds for my local SQL Server?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

弥枳 2024-12-14 00:14:33

您需要指定服务器、用户名和表。试试这个:

bcp TestDatabase..SomeTableName in File.bcp -S Server -U Username -P Password

You need to specify the server, username, and table. Try this:

bcp TestDatabase..SomeTableName in File.bcp -S Server -U Username -P Password
短叹 2024-12-14 00:14:33

如果您查看 bcp 实用程序文档

-T 表示使用集成安全性(您登录的帐户)

-S 是服务器名称参数。

这两个参数不可互换。

如果您打开了 SQL 身份验证,则只能使用 -U-P 代替 -T(如果启用了 SQL 身份验证,则不应该这样做)你可以避免它)

最后克里斯·谢恩是正确的。您需要指定架构和表或 ViewName,而不仅仅是数据库名称,以及服务器 (-S)

也来自文档(以及 EJ Brennan 提出的观点)

要将数据导入表中,您必须使用创建的格式文件
对于该表或了解表的结构和类型
对其列有效的数据。

因此,您不能指望只获取一个文件并让 bcp 神奇地为您创建一个表。您需要使用 SSIS 来帮助您或其他一些工具来完成此操作。

If you look at the bcp Utility docs

-T means to use Integrated Security (your logged in account)

-Sis the server name parameter.

These two parameters are not interchangeable.

You can only use the -U and -P in place of -T if you have SQL Authentication turned on (and you shouldn't if you can avoid it)

Finally Chris Shain is correct. You need to specify Schema and table or ViewName, not just a DB Name, as well as the Server (-S)

Also from the documentation (and the point E.J. Brennan was making)

To import data into a table, you must either use a format file created
for that table or understand the structure of the table and the types
of data that are valid for its columns.

So you can't expect to just take a file and have bcp magically make a table for you. You need to use SSIS to help you or some other tool to do that.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文