MAC 配置azure sql server

 

{

  1 安装azure data studio , 再安装 SQL Database Projects , SQL Server Schema Compare 两个插件

  2 安装docker

拉取镜像

  docker pull mcr.microsoft.com/azure-sql-edge

  https://docs.microsoft.com/en-us/sql/azure-data-studio/download-azure-data-studio?view=sql-server-ver16

  https://hub.docker.com/_/microsoft-azure-sql-edge

创建运行镜像

sudo docker run -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=SQLsql123' -e ‘MSSQL_USER=sa’ -p 1433:1433 --name azuresqledge -d mcr.microsoft.com/azure-sql-edge


sudo docker run -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=SQLsql123' -e ‘MSSQL_USER=sa’ -p 1430:1430 --name azuredata -d mcr.microsoft.com/azure-sql-edge


 

  3 安装ODBC

  //https://learn.microsoft.com/zh-cn/sql/connect/odbc/linux-mac/install-microsoft-odbc-driver-sql-server-macos?view=sql-server-ver16

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
HOMEBREW_ACCEPT_EULA=Y brew install msodbcsql18 mssql-tools18

 

问题:

安装 OpenSSL 3.0 时,可能会发生此错误。 OpenSSL 通常通过 Brew 安装,它包含 openssl、openssl@1.1 和 openssl@3 二进制文件。

若要解决此错误,请将 openssl 二进制文件的符号链接更改为 openssl@1.1:

m -rf $(brew --prefix)/opt/openssl

version=$(ls $(brew --prefix)/Cellar/openssl@1.1 | grep "1.1")
ln -s $(brew --prefix)/Cellar/openssl@1.1/$version $(brew --prefix)/opt/openssl

完成 后可以使用azure data studio 连接

 

  注意这几个文件 m1的在homebrew 目录中

/usr/local/etc/odbcinst.ini /etc/odbcinst.ini
/usr/local/etc/odbc.ini /etc/odbc.ini

 

参考  https://www.unixodbc.org/odbcinst.html

 

如果要使用代码集群连接 则

odbc.ini ->配置数据源

//数据源名

[DSN]
Driver = ODBC Driver 18 for SQL Serve
Server = tcp:localhost,1433
Encrypt = yes
TrustServerCertificate=yes
 
 
导出这两个环境变量,前提是命令行的brew 方式安装的ODBC驱动
 
ODBCINI=/opt/homebrew/etc/odbc.ini
ODBCSYSINI=/opt/homebrew/etc

}

最后可以使用unixodbc 连接数据库

与Windows 代码是一样的 提醒 需要连接unixodbc动态库 也可以自己编译为arm64架构

odbcinst -j  
查看驱动程序的配置文件
$ odbcinst -j
unixODBC 2.3.1
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/odbcuser/.odbc.ini`
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8


 

isql -v 数据源名  账户 密码

isql -v DSN sa abcdefg

{

  参考 https://www.cnblogs.com/tech-test/p/16891714.html

  https://www.cnblogs.com/tech-test/p/16891714.html

}

linux

{

sudo apt-get install unixodbc unixodbc-dev

}

{

关于中文乱码问题,在docker最开始部署sql server时加一条参数 -e "MSSQL_COLLATION=Chinese_PRC_CI_AS"(若没在最开始部署时设置,mac docker就没法一劳永逸地设置了)这则参数制定了服务器的默认排序规则,采用中文编码(想要英文编码的话,不用这则参数就行)。另外,关于sadforever提到的挂载数据库目录(即同步数据库文件夹到本地文件夹),方法为在最开始部署sql server输入参数时, -p 1433:1433之后,--name 之前加一条参数: -v 想存放数据库数据的本地文件夹绝对路径:/var/opt/mssql/data
即可。

}

{

   我唯一的疑问就是,这样的虚拟数据库对于微软来说,到底是不是永久免费的

}

 

posted @ 2023-03-01 19:09  YZFHKMS-X  阅读(166)  评论(0编辑  收藏  举报