내가 외부 데이터베이스를 조회하고의 연결을 종료, 그것은의 오류가 발생하는 경우 :오류 메시지 PostgreSQL을
ERROR: 25006: cannot execute UNLISTEN during recovery
나의 이해는이 완료 될 때마다 PostgreSQL을이에 의해 발생되는 것을 나타냅니다,이 호출이다 연결을 닫습니다.
저에게 이상한 점은 코드가 데이터베이스에 대한 연결을 열 수 있지만 연결을 닫으려고 할 때 오류가 발생한 것입니다. 또한 이것은 단지 산발적으로 발생하는 것으로 보이므로 데이터베이스 자체가 다시 시작될 수 있습니까?
어떻게 postgreSQL에서 연결을 열 수 있지만 닫지는 못합니까? 다음은
가 실행되는 코드, dbConn.Close되는 성가신 라인() 서버가 나쁜 상태에서 복구를 수행하려는 경우 Dim sConnectionString as String = "Server=10.2.21.46;Port=5432;User Id=myuser;Password=mypsw;Database=demos;"
Dim sErrorMessage As String = ""
Dim bConnectionOpen As Boolean = False
Dim dbConn As Npgsql.NpgsqlConnection = New Npgsql.NpgsqlConnection(sConnectionString)
Try
dbConn.Open()
bConnectionOpen = True
Catch
sErrorMessage = "open connection fail."
End Try
If bConnectionOpen Then
Dim cmdTxt As String = sQueryString
Dim cmdTmp As Npgsql.NpgsqlCommand = New Npgsql.NpgsqlCommand(cmdTxt, dbConn)
Dim bReaderOpen As Boolean = False
Dim rsTmp As Npgsql.NpgsqlDataReader
Try
rsTmp = cmdTmp.ExecuteReader()
bReaderOpen = True
Catch
sErrorMessage = "ExecuteReader fail."
End Try
If bReaderOpen Then rsTmp.Close()
rsTmp = Nothing
dbConn.Close()
End If
에서 붙여 넣을 수 있습니까? 도움이 될 수 있습니다 .. –
서버 = 10.2.21.46, 포트 = 5432, 사용자 ID = 사용자, 암호 = abc123, 데이터베이스 = 데모; –
데이터베이스에 트리거가 정의되어 있습니까? 내가 무엇을 찾고 있는지는 LISTEN 또는 NOTIFY가 실행 중인지 여부입니다. – mvp