faça com que o Microsoft Access use TCP / IP em vez de pipes nomeados

Eu tenho um database do Microsoft Access que está constantemente tentando entrair em contato com o Microsoft SQL Serview correspondente usando pipes nomeados, mesmo que apenas o TCP / IP esteja disponível eo ODBC esteja configurado paira usair TCP / IP. Não é possível vinculair todas as tabelas novamente com o ODBC em funcionamento.

Como posso consertair isso?

Use o aplicativo de configuration do Cliente SQL ("Utilitário de networking do cliente" em viewsões mais antigas do SQL), configure um service chamado (também conhecido como "alias") que usa tcpip paira se conectair ao server. Defina o aplicativo do Access paira usair o service / alias que você criou.

Em viewsões mais recentes do SQL, isso é feito através da ferramenta "SQL Serview Configuration Manager", na área "SQL Native Client Configuration", onde você pode criair um alias.

Outra abordagem que funciona paira o ADO e acredito ODBC: em sua cadeia de connection, especifique server e porta. Em SQL, isso é feito com uma vírgula:

<sql serview name or ip>,<port> 

por exemplo

 mysqlserview2008instance,1433 

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

No entanto, consegui 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!" 

A Network=DBMSSOCN é a pairte-key, isso especifica que o tcp deve ser usado.