faz o acesso da microsoft usar TCP / IP em vez de pipes nomeados

1

Eu tenho um banco de dados do Microsoft Access que está constantemente tentando entrar em contato com o Microsoft SQL Server correspondente usando pipes nomeados, mesmo que apenas o TCP / IP esteja disponível e o ODBC esteja configurado para usar o TCP / IP. Não é possível vincular todas as tabelas novamente com o ODBC em funcionamento.

Como posso corrigir isso?

    
por Zulakis 17.02.2013 / 21:14

2 respostas

2

No meu caso, o exemplo de samsmith não funcionou.

No entanto, corrigi-lo usando algo assim:

    Dim DB As DAO.Database
    Set DB = CurrentDb
    Dim Tdf As TableDef

    'Loops through list of tables
    For Each Tdf In DB.TableDefs
        If Tdf.SourceTableName <> "" Then
          'this checks if it actually is a odbc table as i do not want to change the connection string of local tables obviously
          If Not InStr(Tdf.Connect, "ODBC") = 0 And Not (Tdf.Attributes And
dbAttachedODBC) = 0 Then
              Tdf.Connect = "ODBC;DSN=xxx;APP=MicrosoftR Access;WSID=A2200;DATABASE=xxx;Network=DBMSSOCN;TABLE=dbo." & Tdf.Name
              Tdf.RefreshLink 'Saves the changes made
          End If
        End If
    Next
Debug.Print "Finished!"

O Network=DBMSSOCN é a parte chave, isso especifica que o tcp deve ser usado.

    
por 25.05.2013 / 18:49
1

Use o aplicativo de configuração do SQL Client ("Client Network Utility" em versões mais antigas do SQL), configure um serviço nomeado (também conhecido como "alias") que use o tcpip para se conectar ao servidor. Defina o aplicativo do Access para usar o serviço / alias nomeado que você cria.

Em versões mais recentes do SQL, isso é feito por meio da ferramenta "SQL Server Configuration Manager", na área "SQL Native Client Configuration", onde é possível criar um alias.

Outra abordagem que funciona para o ADO e acredito que ODBC: Em sua seqüência de conexão, especifique servidor e porta. No SQL speak isso é feito com uma vírgula:

<sql server name or ip>,<port>

por exemplo,

mysqlserver2008instance,1433
    
por 17.02.2013 / 22:31