无法使用HeidiSQL连接到LocalDB

问题描述 投票:3回答:2

我一直在尝试使用heidisql的最新版本(此时)连接到localdb实例,但无济于事。

我已按照此答案的说明进行操作,但它似乎不起作用(不再):

HeidiSql connection to MS SQL Server LocalDB

我尝试了以下方法:

1)heidisql -d = LocalDB -h =%pipename%-n = 3 -d = LocalDB

2)heidisql -d = LocalDB -h = np:\。\ pipe \ LOCALDB#41CF9FCB \ tsql \ query -n = 3 -d = LocalDB(我意识到每次启动一个新的localdb实例时,数字都会改变)

3)heidisql -d = LocalDB -h = 41CF9FCB -n = 3 -d = LocalDB

有任何想法吗?

编辑

Error message

sql-server localdb heidisql
2个回答
10
投票

对于我的Web.config中的以下连接字符串;

<add name="WEDOBADGEDatabase" connectionString="Data Source=(LocalDb)\development;Initial Catalog=WEDOBADGE;AttachDBFilename=|DataDirectory|\DevelopmentDatabase.mdf;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />

其中最重要的信息是Data Source=(LocalDb)\development,[替换(当然)C:\Program Files\Microsoft SQL Server\120\的正确路径并使用Data Source=(LocalDb)\(在我的情况下为非大小写敏感,development)后连接字符串中选择的正确名称]尝试:

"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" info Development

这应输出类似于:

Name:               Development
Version:            12.0.2000.8
Shared name:
Owner:              hostname\username
Auto-create:        No
State:              Running
Last start time:    8/2/2016 3:20:57 PM
Instance pipe name: np:\\.\pipe\LOCALDB#CDE5547F\tsql\query

从“实例管道名称”复制\\.\pipe\LOCALDB#CDE5547F\tsql\query,没有初始np:。此外,您的管道名称可能与我的不同。

然后你可以在HeidiSQL中创建一个像这样的新会话:

enter image description here

N.B。:“网络类型”,“主机名/ IP”和“使用Windows身份验证”很重要;其他设置(例如“数据库”)取决于你,所以你可以将它们留空/跳过等等。

积分转到https://stackoverflow.com/a/33748584/11895获取管道名称建议。


0
投票

从heidisql.exe修订版9.3.0.5108开始,您还可以:

  1. 使用"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" start "MSSQLLocalDB"启动数据库
  2. 阅读"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" info "MSSQLLocalDB"的“实例管道名称”(例如,\\.\pipe\LOCALDB#1B9DCF1E\tsql\query
  3. "C:\Program Files\HeidiSQL\heidisql.exe --nettype=3 --host="\\.\pipe\LOCALDB#1B9DCF1E\tsql\query" --winauth=1"启动HeidiSQL

我使用一个自动化所有这些的Bash脚本,它大致如下:

shopt -s expand_aliases
alias __sqllocaldb='/c/Program\ Files/Microsoft\ SQL\ Server/120/Tools/Binn/SqlLocalDB.exe'
alias __heidisql='/c/Program\ Files/HeidiSQL/heidisql.exe'
__sqllocaldb start  "Development"
hostname=$(__sqllocaldb info  "Development" | tail -1 | sed 's/\(Instance pipe name: np:\)//')
__heidisql --nettype=3 --host="$hostname" --winauth=1
© www.soinside.com 2019 - 2024. All rights reserved.