无法使用HeidiSQL

时间:2016-06-16 07:12:17

标签: sql-server localdb heidisql

我一直在尝试使用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

2 个答案:

答案 0 :(得分: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\使用正确的路径&amp;在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以获取管道名称建议。

答案 1 :(得分:0)

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

  1. 使用"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" start "MSSQLLocalDB"
  2. 启动数据库
  3. "C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" info "MSSQLLocalDB"(例如\\.\pipe\LOCALDB#1B9DCF1E\tsql\query
  4. 中读取“实例管道名称”
  5. 使用"C:\Program Files\HeidiSQL\heidisql.exe --nettype=3 --host="\\.\pipe\LOCALDB#1B9DCF1E\tsql\query" --winauth=1"
  6. 启动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