sql - Sqlcmd:错误:Microsoft ODBC Driver 11 for SQL Server:用户“sa”登录失败
问题描述
我正在尝试通过 perl 脚本使用“sa”用户执行一个存储过程
将此行保存在 perl 文件中并执行该 perl 文件
system("start /wait sqlcmd.exe -S serverName -U sa -P test@123 -d JSONdb -Q \"EXECUTE UPDATE_SP\" -o C:\\Temp\\log.txt");
==================================================== ============================
-S serverName :: 我要连接的sql server。
-U sa -P test@123 ::登录用户凭据
-d JSONdb:: 数据库名称。
\"EXECUTE update_JSONTable\" :: 执行存储过程的命令 [update_JSONTable]
-o C:\Temp\log.txt" :: 保存日志
解决方案
可能有以下三个原因:
- SQL Server(或混合)身份验证已禁用
- 命令中使用的密码错误
- 数据库
[JSONdb]
不可用
另一个原因可能与特殊字符转义有关。您的密码包含@,因此该参数也需要调整:
-P test@123 => -P test\@123
推荐阅读
- python - 如何检测消息中特定数量的提及 | 不和谐.py
- swift - 如何在 swift NFC 应用程序中删除自动消息
- database - Hive-JDBC 依赖的 Mule 4 应用程序执行错误
- maven - 如何使 maven 插件从 pom 文件中获取属性,使用它的项目?
- google-apps-script - People API 不返回已删除的联系人
- c - C:在没有 gcc 警告的情况下找出 typedef 的 % 格式说明符?
- excel - VBA 变量行复制并粘贴到 Word 文档错误
- flutter - 如何在本地化中解析 BuildContext 上下文小部件和 BuildContext
- google-bigquery - 如何从 json_extract_array 中删除双引号
- javascript - 如何在 className 中对 CSS 模块的多个选择器进行分组