Как подключить DSN ODBC к экземпляру SQL Server не по умолчанию на порте по умолчанию?

1)

128.12.112.5/27

Google "калькулятор подсети"

Диапазон Адреса узла (применимый для/27): 192.12.112.1 - 192.12.112.30

Идентификатор подсети: 192.12.112.0

Широковещательный адрес: 192.12.112.31

Сетевая маска 255.255.255.224

8 подсетей

Сетевая маска 255.255.255.224 / 27 224

Двоичная разбивка-11111111.11111111.11111111.11100000

Низкий IP высокий IP

x.x.x.0 x.x.x.31 (X.X.x.5/27 падает в этом блоке),
x.x.x.32 x.x.x.63
x.x.x.64 x.x.x.95
x.x.x.96 x.x.x.127
x.x.x.128 x.x.x.159
x.x.x.160 x.x.x.191
x.x.x.192 x.x.x.223
x.x.x.224 x.x.x.255

"IP-адресация" Google (удаляют кавычку),

2) Ваш поставщик/поставщик должен дать Вам IP-адрес шлюза по умолчанию

3
задан 6 March 2014 в 21:32
3 ответа

It seems that what you want to achieve is not possible using that client.

The issue is a result of older SQL clients (specifically using MDAC sqlsvr32.dll driver) perform an "InstanceValidity" check when connecting to SQL Server. The driver passes "MSSQLServer" as the instance to verify for the InstanceValidity check. In this case, since the instance name listening on the Default port (1433) is named "Instance01" and "Instance02", it fails because the Instance names do not match the InstanceValidity check.

According to what is most convinient for you in this case you might need to specify the port on your client, change your client, or change your named instance to be your default instance.

Source: http://social.msdn.microsoft.com/Forums/sqlserver/en-US/7f353b59-7e7f-4ec3-adcb-e69ca2629b21/named-sql-2008-r2-server-listening-on-default-port-1433-with-dedicated-ip-address-requires-port?forum=sqldataaccess

1
ответ дан 3 December 2019 в 07:02

First verify that your instance of SQL Server has the TCP/IP protocol enabled. Then examine which TCP/IP port your instance of SQL Server is "listening on".

Then If there is a firewall on this machine check If there is an exception in the rules (inbound) for the SQL Server Management Studio program If so, then it would be able to pass through the firewall, but ODBC would not.

About the server reference, you may try Reference your server as "servername\instancename" or using the port number, try either "servername, 1433" or "servername\instancename, 1433" as your server address.

Your server also needs to know which port to reply on, when the TCP port is blank is not mean to use the default port. Depending on what you want to achieve you may need to do or verify if one of these thing are done correctly:

How port allocation is set in your server https://dba.stackexchange.com/questions/47651/when-is-a-dynamic-port-dynamic

Настройка сервера для прослушивания определенного порта TCP (диспетчер конфигурации SQL Server) http://msdn.microsoft.com/en-us/library/ms177440.aspx

Назначьте статический порт именованному экземпляру SQL Server - и избегайте распространенной ошибки http://blogs.msdn.com/b/arvindsh/archive/2012/09/08/how-to-assign-a-static-port-to-a-sql-server- named-instance-and -avoid-a-common-pitfall.aspx

Для подключения к удаленным серверам SQL у вас есть два варианта: один - использовать IP и порт (что безопаснее) или явно указать именованный экземпляр и открыть порт UDP 1434 и включить SQL Server. Браузер.

Причина: только именованные экземпляры SQL Server могут использовать процесс динамического распределения портов. В процессе динамического распределения портов при первом запуске экземпляра SQL Server порт устанавливается в ноль (0). Таким образом, SQL Server запрашивает у операционной системы свободный номер порта. Как только номер порта выделен для SQL Server, SQL Server начинает прослушивание выделенного порта.

Когда экземпляр SQL Server использует динамическое распределение портов, строка подключения, созданная на клиенте SQL Server, не указывает порт назначения TCP / IP, если пользователь или программист явно не укажут порт. Таким образом, клиентская библиотека SQL Server запрашивает у сервера UDP-порт 1434, чтобы собрать информацию о конечном экземпляре SQL Server. Когда SQL Server возвращает информацию, клиентская библиотека SQL Server отправляет данные в соответствующий экземпляр SQL Server.

Если порт UDP 1434 отключен, клиент SQL Server не может динамически определять порт указанного экземпляра SQL Server. Таким образом клиент SQL Server может не подключиться к именованному экземпляру SQL Server. В этой ситуации клиент SQL Server должен указать динамически выделяемый порт, где находится именованный экземпляр SQL Server 2008.

Кроме того, в зависимости от того, что вы хотите, вы можете использовать Системный ODBC, а не Пользовательский ODBC. Разница в том, что ODBC пользователя привязан к одной учетной записи пользователя на машине.

1
ответ дан 3 December 2019 в 07:02

Arazo berbera daukat eta konpontzea lortu nuen! Hau da ikasi nuena.

  • Izeneko instantzia instalatu baduzu. Ezin duzu izena lehenetsi gisa aldatu. Hala ere, egin dezakezu: izendatutako instantziari ataka lehenetsia entzutea. Management Studio-tik instantziaren izenik zehaztu gabe konektatzen laguntzen dutenak baina ODBC-ri laguntzen ez diotenak.

  • Ezizenak sor ditzakezu (MSSQLServer edo IP helbidea bezalako izenarekin, trikimailu gisa) zure bezeroak funtziona dezaten. Aplikazio batzuetarako funtziona dezake.

  • Soluzio honek laguntzen ez badu, zure apusturik onena SQL guztiz desinstalatzea eta berriro instalatzea da, baina aukera berriak instalazio berriak izendatutako instantziaren izena berriro har lezake 'instantzia lehenetsia' hautatu baduzu ere. SQL zerbitzuetan egiaztatu dezakezu izen zaharra oraindik hartzen ari den ikusteko. Kasu honetan, modurik onena (niretzat funtzionatu zuena) instantzia berri bat instalatzea da, MSSQLServer-en izen esplizitua duen instantzien izen lehenetsia dela ezagutzen dena. Hau da ODBCrekin funtzionatuko duena.

Ohar bereizi batean: SQL ordenagailuaren izena hartu eta ezizen gisa erabiltzen du.

0
ответ дан 3 December 2019 в 07:02

Теги

Похожие вопросы