• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Elek

Urgente - Error 40

2 mensagens neste tópico

Boa tarde.. Estou a fazer um form no meu programa, para que o utilizador tenha a possibilidade de fazer um backup da base de dados e também para que a restaure... inicialmente pensei fazer apenas da que está a ser utilizada, mas como não sabia fazer assim, faço uma listagem de todas as bases de dados existentes e após a escolha da base de dados clica no botão de backup...

código do botão (listar as bases de dados) no form:

 Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

        Dim conexaoSQLServer As String = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Master"
        Dim sqlUtils As New SQLServer
        Dim databases() As String = sqlUtils.ObtemBancoDeDadosSQLSever(conexaoSQLServer)
        Dim listaDB As String

        For Each listaDB In databases
            lstBDSQLServer.Items.Add(listaDB)
        Next
    End Sub

código da função na classe:

Function ObtemBancoDeDadosSQLSever(ByVal ConnString As String) As String()

        Dim cn As New SqlConnection(ConnString)
        Dim dbLista As New ArrayList
        Dim sql As String = ""
        sql = "SELECT [name] FROM sysdatabases"
        Dim cmd As New SqlCommand(sql, cn)


        cn.Open()
        Try
            cmd.ExecuteReader()
        Catch ex As Exception
            MsgBox(ex.Message())
        End Try
        While cmd.ExecuteReader.Read

            dbLista.Add(cmd.ExecuteReader("name"))

        End While
        cn.Close()

        Return dbLista.ToArray(GetType(String))

    End Function

Eu não vejo o mal do código... no entanto da-me o seguinte erro quando tenta abrir a conexão:

Ocorreu um erro ao estabelecer uma ligação ao servidor. Ao ligar ao SQL Server 2005, esta falha poderá ter sido causada por, segundo as predefinições do SQL Server, não serem permitidas ligações remotas. (provider: Fornecedor de Pipes Nomeados, error: 40 - Não foi possível abrir uma ligação ao SQL Server)

já fui ver nas configurações do sqlserver e não é de lá o problema, pois está a aceitar ligações remotas...

Alguém me pode ajudar? é urgente...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Qual a linha que te esta a dar esse erro??

Function ObtemBancoDeDadosSQLSever(ByVal ConnString As String) As String()

        Dim cn As New SqlConnection(ConnString)
        Dim dbLista As New ArrayList
        Dim sql As String = ""
        sql = "SELECT [name] FROM sysdatabases"
        Dim cmd As New SqlCommand(sql, cn)


        cn.Open()
     Dim DR as SqlDataReader = Cn.ExecuteReader

        While DR.Read
            dbLista.Add(DR!name) 'Name é o nome da coluna que tu queres mostrar identica ao nome da coluna no sql

        End While
DR.Close
        cn.Close()

        Return dbLista.ToArray(GetType(String))

    End Function

tenta assim nao testei

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora