我嘗試從Windows客戶端連接到遠程PostgreSQL服務器。 當我使用「Dbeaver」連接到數據庫時,我需要填充網絡連接(SSH)並連接好。使用.NET中的SSH隧道連接到postgresql
我正在VB.NET中開發一個應用程序,該應用程序必須連接到數據庫,但是我無法使其變得可行。
我使用的是Devart dll連接數據庫和Renci.SshNet dll來連接服務器。
我已經成功,因爲日誌說連接到服務器,通過SSH明顯,但是當我嘗試連接到DDBB它拋出一個錯誤:
no hay una línea en pg_hba.conf para "xx.xx.xx.xxx", usuario "xxx", base de datos "xxxx", SSL inactivo
連接代碼是下一個:
Dim connectionInfo As New PasswordConnectionInfo(IP, USER, PASS)
connectionInfo.Timeout = TimeSpan.FromSeconds(30)
client = New SshClient(connectionInfo)
client.Connect()
Dim portFwld As New ForwardedPortLocal("127.0.0.1", Convert.ToUInt32(PORT_SSH), IP, Convert.ToUInt32(5432))
client.AddForwardedPort(portFwld)
portFwld.Start()
Log(client.IsConnected)
Log(portFwld.IsStarted)
client.IsConnected =真和portFwld.IsStarted =真
的錯誤是在這裏(當打開):
Dim myConnection As PgSqlConnection = New PgSqlConnection()
Try
myConnection.ConnectionString = "Server=" & IP & ";Port=5432;Database=" & BBDD_Postgre & ";User Id=" & USER & ";Password=" & PASS & ";"
myConnection.Open()
我嘗試了很多組合,但沒有一個是有效的,我不知道還有什麼要看,我迷路了。我認爲如果「Dbeaver」可以從我的電腦連接,爲什麼我的應用程序不能?爲什麼我的服務器必須在pg_hba.conf中添加我的IP,如果沒有它「Dbeaver」運行?