在Mac上连接到Node.js SQL Server

时间:2018-09-02 17:12:45

标签: sql-server macos

可能很简单,但对我来说却是新事物。我找不到可以帮助您解决此问题的帖子,因此我希望自己在不知不觉中做一些愚蠢的事情。

我有一个在Mac上的Docker中运行的SQL Server数据库,并且可以轻松登录到“ sa”帐户。

我为应用程序连接到同一数据库设置了另一个ID。

CREATE LOGIN tisApp WITH PASSWORD='pa$Sw0rd'
SELECT * FROM sys.sql_logins WHERE name = 'tisApp'

但是,当我尝试连接到它时,就像这样...

mssql -u tisApp -p pa$Sw0rd

我收到一个错误...

My-iMac:~ my$ mssql -u tisApp -p pa$Sw0rd
Connecting to localhost...
Error: Login failed for user 'tisApp'.
My-iMac:~ my$ 

MS文档指出以这种方式创建的ID应该可以连接,但是...我不能。

当我检查日志时,它们显示:

  

用户“ tisApp”的登录失败。原因:密码与提供的登录名不匹配。 [客户:172.17.0.1]

1 个答案:

答案 0 :(得分:0)

万一这对任何人都有帮助,经过一个小实验,这是非常简单的答案。由于某些原因,SQL Server无法通过mssql接受特殊字符。因此,我将命令更新如下,现在一切正常。

当然,这不是一个很好的密码,但目前可以正常使用。

SQL Server:

def recursive_binary_search(arr, target, min_index=0, max_index=arr.size-1)
  mid_index = (min_index+max_index)/2
  case arr[mid_index] <=> target
  when  0  # arr[mid_index] == target
    mid_index
  when -1  # arr[mid_index] < target
    min_index = mid_index + 1
    recursive_binary_search(arr, target, min_index, max_index)
  when  1  # arr[mid_index] > target
    max_index = mid_index - 1
    recursive_binary_search(arr, target, min_index, max_index)
  end
end

arr = [1,2,3,4,5,6]

arr.each { |target| puts "#{target}: #{recursive_binary_search(arr, target)}" }
1: 0
2: 1
3: 2
4: 3
5: 4
6: 5

命令行:

CREATE LOGIN tisApp WITH PASSWORD='pasSw0rd'
SELECT * FROM sys.sql_logins WHERE name = 'tisApp'

现在,我明白了...

mssql -u tisApp -p pa$Sw0rd