【问题标题】:AZUR - Export Using BCP with QueryAZUR - 使用 BCP 和查询导出
【发布时间】:2014-01-01 11:33:48
【问题描述】:

我想将数据从数据库 Azur 导出到 Excel 文件。 为此,我使用命令:

bcp [DatabaseName].[Table] OUT C:...\Test_Export.xls -c -U UserName@ServerName.database.windows.net -S tcp:ServerName.database.windows.net -P xxxxxxxx

--> 成功了

但是,当我想在命令中对 SQL Query 执行相同操作时,如下所示:

bcp "从 [dbo].[ForecastTrialDisag] 中选择 field1, Field2" QUERYOUT C:..\Test_Export.xls -d [DataBaseName] -c -U UserName@ServerName.database.windows.net -S tcp:ServerName.database.windows.net -P xxxxxx

我有错误:

SQLState = 37000,NativeError = 4060 错误 = [Microsoft][SQL Server Native Client 10.0][SQL Server]无法打开数据库 登录请求的“[DataBaseName]”。登录失败。

SQLState = 28000,NativeError = 18456 错误 = [Microsoft][SQL Server Native Client 10.0][SQL Server]用户“用户名”登录失败。

我不明白为什么它不适用于 SQL 查询。用户名、数据库名和密码都可以。

感谢您的帮助,

西蒙

【问题讨论】:

    标签: sql select azure database-connection bcp


    【解决方案1】:

    我相信用户名的格式是:“user@server”,末尾没有“databases.windows.net”部分。

    你试过了吗?

    【讨论】:

      【解决方案2】:

      如果密码是强密码 - 例如包含标点符号,在我的情况下,我的密码中有一个 * 和 ^ 字符 - 则需要在密码中使用双引号:

      bcp "Select field1, Field2 FROM [dbo].[ForecastTrialDisag]" QUERYOUT C:..\Test_Export.xls -d [DataBaseName] -c -U UserName@ServerName.database.windows.net -S tcp:ServerName .database.windows.net -P "xxxxxx"

      【讨论】:

        【解决方案3】:

        通过在 Azure 中使用主数据库管理员用户定义,我为此苦苦挣扎了几个小时,但从未让它工作 - 我确定我错过了一些简单的东西。

        让我摆脱困境的是使用 SQL 和 CREATE USER 加上 GRANT SQL 的用户inside,这种用户在 Azure 门户中显然不可见,但很容易看到在 SQL Management Studio 中。

        这对我来说效果非常好。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-08-21
          • 2018-11-11
          • 1970-01-01
          • 1970-01-01
          • 2020-01-18
          • 2016-12-08
          • 2021-06-15
          • 1970-01-01
          相关资源
          最近更新 更多