gpt4 book ai didi

sql - 使用 osql 运行查询

转载 作者:太空狗 更新时间:2023-10-30 01:54:56 26 4
gpt4 key购买 nike

当执行以下任一命令时:

osql -E -S ComputerName\InstanceName
osql -E -S ComputerName\InstanceName -i MyScript.sql -o MyOutput.rpt
osql -E -q "SELECT * FROM Northwind.dbo.Shippers"
osql -E -Q "SELECT * FROM Northwind.dbo.Shippers" -o MyOutput.rpt

我收到以下错误:

[SQL Server Native Client 10.0]SQL Server Network Interfaces: Connection
string is not valid [87].
[SQL Server Native Client 10.0]Login timeout expired
[SQL Server Native Client 10.0]A network-related or instance-specific error
has occurred while establishing a connection to SQL Server. Server is not
found or not accessible. Check if instance name is correct and if SQL Server
is configured to allow remote connections. For more information see SQL Server
Books Online.

但是,我能够毫无问题地从 SSMS 登录并运行 SELECT 查询。

如何使用 osql 对 SQL Server 2008 运行查询?

最佳答案

您是否已将登录帐户设置为 SQL Server 中的用户?

我通常使用特定帐户和 SQL Server 登录而不是受信任的登录,然后只需在命令行上使用 -S、-D、-U 和 -P 选项指定数据库坐标:

osql -S %SERVERNAME% -U %USERNAME% -P %PASSWORD% -d %DBNAME% 

例如,如果您的服务器名称是 MyServer\SQL2008,用户名是 Foo,密码是 Bar,数据库是 MyDB,那么您可以使用:

osql -S MyServer\SQL2008 -U Foo -P Bar -d MyDB 

然后继续其他选项。

如果您真的想使用您的可信连接,您需要转到 SQL Server Management Studio,并确保将您当前的 Widows 登录名添加为用户并授予对您的数据库等的适当权限。

在 SSMS 中,手动连接到您的服务器(可能是“sa”用户和密码),然后展开“安全”节点并查看登录信息。如果未列出您当前登录的 Windows 用户,您需要右键单击,添加新登录名,然后添加您当前的用户。

然后您应该能够使用可信连接运行。

关于sql - 使用 osql 运行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31526534/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com