我应该安装什么从PowerShell查询SQL Server db-无法加载文件或汇编Microsoft.sqlserv



在我的计算机上,我只安装了SQL Server Management Studio。我使用runas.exe /netonly /user:myDomainmyUser powershell.exe打开PowerShell控制台(我需要使用Windows身份验证对SQL Server进行身份验证(。然后,我使用以下代码连接到SQL Server DB:

$myConnectionString = "Server=$($serverName);Database=$($dbName);Trusted_Connection=True;"
$SQLConnection = New-Object System.Data.SQLClient.SQLConnection
$SQLConnection.ConnectionString = $myConnectionString
$SQLConnection.Open()
$SQLCommand = New-Object System.Data.SqlClient.SqlCommand 
$SQLCommand.CommandText = "SELECT top 2 * FROM [myTable]" 
$SQLCommand.Connection = $SQLConnection

不幸的是,当我输入时: $SQLCommand.ExecuteReader()

我收到一个错误:

通过集合枚举时发生错误:无法 加载文件或汇编'microsoft.sqlserver.types,v ersion = 10.0.0.0, 文化=中性,publicKeyToken = 89845DCD8080CC91'或其中之一 依赖性。系统找不到指定的文件。在行:1 char:1 $ sqlcommand.executereader(( ~~~~~~~~~~~~~~~~~~~~~~~~ categoryInfo:invalidoperation :( system.data.common.dbenumerator:dbenumerator([],runtimeException 完全QualififiedErrid:Badenumeration

搜索Internet后,我认为我应该安装" SQLSysCltypes"(来自SQL Server功能包(。

因此,我下载了它,但是似乎我在本地计算机上安装了此组件(安装程序允许我仅修复或删除此组件(。

我应该安装什么才能从PowerShell查询DB?我应该在哪台计算机上安装该计算机?


编辑:

当我通过RDP(MSTSC(登录服务器,并使用以下连接字符串:

$myConnectionString = "Server=.;Database=$($dbName);Trusted_Connection=True;"

我没有遇到此类问题-ExecuteReader()返回结果。

您不需要安装任何其他工具或库从PowerShell查询MS SQL Server,假设您正在运行Windows 7或更新。

已安装的.NET框架具有执行此操作所需的所有ado.net组件。

如果您遇到错误,脚本或环境有问题。

我确定必须有一个更好的解决方案,因此我不会将此响应标记为答案...

我检查了C:WindowsassemblyGAC_MSILMicrosoft.SqlServer.Types路径的内容,发现我的Microsoft.SqlServer.Types.dll对于12、13和14的版本。因此,我只是从服务器复制了10.0.0.0__89845dcd8080cc91版本的文件到我的计算机...因此,似乎在某个地方使用PowerShell(?(

连接到SQL Server时使用此特定版本的汇编。

最新更新