db접속 관련 질문입니다.
비예
Private Sub btnSQL_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSQL.Click Dim SQLstr = server=localhost;uid=sdh;pwd=1234;database=tempdb Try Dim Conn As New SqlConnection(SQLstr) Conn.Open() If (Conn.State.ToString() = Open) Then lblResult.Text = [SQL] MS SQL 서버 버전 : + Conn.ServerVersion.ToString() End If Conn.Close() Catch lblResult.Text = 연결하지 못하였습니다. End Try End Sub
Private Sub btnOLEDB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOLEDB.Click Dim OLEDBstr = Provider=SQLOLEDB;server=localhost;uid=sdh;pwd=1234;initial catalog=tempdb; Try Dim Conn As New OleDbConnection(OLEDBstr) Conn.Open() If (Conn.State.ToString() = Open) Then lblResult.Text = [OLEDB] MS SQL 서버 버전 : + Conn.ServerVersion.ToString() End If Conn.Close() Catch lblResult.Text = 연결하지 못하였습니다. End Try End Sub
위에소스에서 위에 SQLstr을이용하는 sql-server접속은 잘되거든요
근데 OLEDBstr를 이용하는거는 연결오류가나오네요 혹시 뭐가 잘못된건지 아시는분계신가요?
Provider=SQLOLEDB;server=localhost;uid=sdh;pwd=1234;initial catalog=tempdb
에서 책에서는 server= server이름이라고하는데 server이름이 mssql기준
sql servermanagerment studio 접속시에
서버 이름(S) : 옆에 자동으로 들어가는것에서\SQLEXPRESS 만 뺴고 적으면되는거 아닌가요?
그렇게 했는데도 연결실패가 뜹니다
-
소리
제가 해결해서 결과를 남깁니다
OLEDB의 경우 포트문제로 연결에 실패 했던 것이라서 포트를 추가하면 DB접속이 됩니다.
Provider=SQLOLEDB;server=localhost,1433;uid=sdh;pwd=1234;initial catalog=tempdb
이런식으로 server에 포트번호 추가를 하면 접속이 잘됩니다
이유는 모르겠습니다. 왜 OLEDB접속시에만 포트번호가 필요한지 아시는분 계신가요?