Что происходит, если я Избранный SCOPE_IDENTITY () после вставки перестал работать (SQL Server 2005)

Я нашел решение этой проблемы. Убедитесь, что telnet работает с нужным контейнером вне сети. Запустив

telnet 192.168.128.171 7051

Если Telnet не работает -> Проблема возникает из-за того, что порты не опубликованы / выставлены неправильно. Сначала проверьте следующее:

Убедитесь, что CORE_PEER_LISTENADDRESS настроен на прослушивание нужного порта в файлах docker-compose. Для peer0.org1.eaxmple.com -> 7051,

CORE_PEER_LISTENADDRESS=0.0.0.0:7051

, если Telnet работает -> Проверить профиль соединения, следующим образом. Если TLS включен, убедитесь, что сертификаты tls / файлы PEM переданы правильно, и для соединения установлено значение GRPCS (не GRPC)

Профиль соединения

[ 112]
        "peer0.org1.example.com": {

            "url": "grpcs://192.168.128.171:7051",

            "grpcOptions": {

                "ssl-target-name-override": "peer0.org1.example.com",

                "request-timeout": 120001

            },

            "tlsCACerts": {

                "path": "crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem"

            }

        },
8
задан Neil N 25 August 2009 в 17:30
поделиться

2 ответа

Если никакие Идентификационные данные не будут вставлены, то SCOPE_IDENTITY () возвратит пустой указатель, можно проверить на условие, которое Вы указываете путем присвоения SCOPE_IDENTITY () к переменной и затем проверки содержания переменных.

Иллюстрация

Create Proc SomeInsertToFail(@ID int OUTPUT)
as
Begin
    Select @ID =  Scope_Identity()
End
Declare @SOMEID int
Exec SomeInsertToFail @SOMEID OUTPUT
Select @SOMEID  --This will yield null
12
ответ дан 5 December 2019 в 08:26
поделиться

ПУСТОЙ УКАЗАТЕЛЬ

источник: сделал ВЫБОР scope_identity () на пустом запросе (иначе, никакие не вставляют),

4
ответ дан 5 December 2019 в 08:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: