web-dev-qa-db-ja.com

エラー:TCPプロバイダー:エラーコード0x2746。ターミナルを介したLinuxでのSQLセットアップ中

ドキュメンテーション https://docs.Microsoft.com/pl-pl/sql/linux/quickstart-install-connect-ubuntu?view=sqlに従ってLinuxにms-sqlサーバーをセットアップしようとしています-server-2017

SQLサーバーのステータスはアクティブ(実行中)です。

コマンドの実行中に次のエラーが発生します

sqlcmd -S localhost -U SA -P '<YourPassword>'

エラー:

Sqlcmd:エラー:SQL ServerのMicrosoft ODBCドライバー17:TCPプロバイダー:エラーコード0x2746。 Sqlcmd:エラー:SQL ServerのMicrosoft ODBCドライバー17:クライアントが接続を確立できません。

私もコマンドを与えてみました

sqlcmd -S 127.0.0.1 -U SA -P '<YourPassword>' 

しかし、同じエラーが表示されます。間違ったパスワードを入力すると、同じエラーが表示されます。

62
Suba Nandhini K

単に:

TCPプロバイダー:エラーコード0x2746

これはおそらく、opensslとsql-serverプロトコル/バージョンの問題です。

Opensslのバージョンを確認してください。端末で次のコマンドを実行しますopenssl version

$ openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017

Opensslのバージョンが1.0でない場合は、次のいずれかの方法で接続の問題を解決することができます。

オプション1:opensslの回避策

sed -i -E 's/(CipherString\s*=\s*DEFAULT@SECLEVEL=)2/\11/' /etc/ssl/openssl.cnf

はい、それは.cnfです。

/etc/ssl/openssl.cnfファイルにある場合、このコマンドはSECLEVELを1に変更します。できました。

オプション2:opensslをダウングレードします。

Opensslのバージョンが1.1の場合、おそらくそれを1.0にする必要があります。この方法は基本的なものです。ソースコードをダウンロードし、構成してバイナリを作成します。すべてをビルドするには数分かかる場合があります。

cd /usr/local/src/
wget https://www.openssl.org/source/old/1.0.1/openssl-1.0.1k.tar.gz
tar -xvf /usr/local/src/openssl-1.0.1k.tar.gz
cd /usr/local/src/openssl-1.0.1k
./config --prefix=/usr/local/ --openssldir=/usr/local/openssl
make
make test
make install
mv /usr/bin/openssl /usr/bin/openssl-bak

その後

cp -p /usr/local/openssl/bin/openssl /usr/bin/openssl

または

cp -p /usr/local/ssl/bin/openssl /usr/bin/openssl
ll -ld /usr/bin/openssl
openssl version

何か特別なことについての洞察が必要な場合は、コメントを残してください:Dockerイメージ、または別のシステムなど。

0
ofundefined