在执行下列任何命令时:
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?对Server 2008运行查询
发布于 2015-07-20 21:32:56
是否将您的登录帐户设置为Server中的用户?
我通常使用特定帐户和Server登录,而不是可信登录,然后使用-S、-D、-U和-P选项在命令行中指定数据库坐标:
osql -S %SERVERNAME% -U %USERNAME% -P %PASSWORD% -d %DBNAME% 例如,如果您的服务器名为MyServer\ use 2008,并且您的用户名为Foo,您的密码为Bar,而您的数据库为MyDB,那么您可以使用以下方法:
osql -S MyServer\SQL2008 -U Foo -P Bar -d MyDB 然后继续你的其他选择。
如果确实希望使用受信任的连接,则需要转到,并确保将当前Widows添加为用户,并给予数据库适当的权限,等等。
在SSMS中,手动连接到服务器(可能是'sa‘用户和密码),然后展开"Security“节点并查看登录。如果您当前登录的Windows用户未列出,则需要右击、添加新登录并添加当前用户。
那么,您应该能够使用可信的连接运行。
发布于 2015-07-21 01:18:10
您必须在这样的一行中运行所有命令
osql -E -S ComputerName\InstanceName -i MyScript.sql -o MyOutput.rpt或
osql -E -S ComputerName\InstanceName -Q "SELECT * FROM Northwind.dbo.Shippers" -o MyOutput.rpt
现在,您必须查看是否可以登录Server,服务是否已启用,甚至TCP/IP协议是否启用
发布于 2020-01-02 02:04:00
使用服务器名称中的值:ComputerName字段\InstanceName。(例如MYPC\SQLEXPRESS)类型:
osql -E -S MYPC\SQLEXPRESS您将看到交互式提示符。然后输入您的命令:
USE pubsGO此外,您还可以使用sqlcmd
sqcmd -E -S MYPC\SQLEXPRESShttps://stackoverflow.com/questions/31526534
复制相似问题