64位Windows + 64位SQL Server的32位OSQL问题

时间:2010-07-07 07:37:09

标签: sql-server sql-server-2005

我安装了Windows 2008 x64服​​务器并安装了SQL Server 2008 x64。 SQL Server目录下的osql.exe可以列出带-L的实例。我从另一个SQL Server 2005 x86复制了osql.exe + osql.rll,'。\ osql.exe -L'返回错误,如“[ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序”。

检查注册表'HKLM \ SOFTWARE \ Wow6432Node \ ODBC \ ODBCINST.INI'后,'SQL Server'和'SQL Server Native Client 10.0'正常,相关的dll文件正常。我还检查了MDAC版本,它是6.0.6002.18005。我错过了什么吗?

有趣的是,SQL Server 2000中的osql.exe运行良好,可以列出服务器上的实例。并且osql.rll不是必需的,osql.exe只需要msvcr71.dll。

如何让osql.exe(来自sql 2005)在服务器上运行?那两个osql.exe(sql 2005,sql 2000)之间有什么区别吗?

1 个答案:

答案 0 :(得分:1)

正如DaveShaw所说,你应该使用SQLCMD.EXE代替...幸运的是,语法与旧的OSQL.EXE相当,所以转换应该不会很难。

您可以从the latest Feature Pack for SQL Server 2005 page下载SQLCMD(a / k / a Microsoft SQL Server 2005命令行查询实用程序)。安装适当的SQLCMD和SQL Server Native Client(也在同一页面上),无论如何,您都可以从网络上的任何客户端系统x86或x64运行命令。