Я (печально) должен развернуть приложение направляющих на Windows XP, который должен подключить к Microsoft SQL Server 2005.
При перемещении в сети существует много хитов для подключения от Linux до SQL Server, но не может узнать, как сделать это из Windows.
В основном я выполнил эти шаги:
Мой database.yml теперь похож на это:
development:
adapter: sqlserver
mode: odbc
dsn: test_dj
host: HOSTNAME\SQLEXPRESS
database: test_dj
username: guest
password: guest
Но я не могу соединить его. Когда я выполняю грабли db:migrate, я добираюсь
IM002 (0) [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
Я не пользователь Windows, так не может понять действительно хорошо значение dsn элемента или около этого. У кого-то есть идея, как решить это?
Заранее спасибо
С подсказками Alexander теперь я изменил свой database.yml к:
development:
adapter: sqlserver
mode: odbc
dsn: Provider=SQLOLEDB;Data Source=SCADA\SQLEXPRESS;UID=guest;PWD=guest;Initial Catalog=test_dj;Application Name=test
Но теперь грабли db:migrate возвращают меня:
S1090 (0) [Microsoft][ODBC Driver Manager] Invalid string or buffer length
Я пропускаю что-то?
это образец DSN, который подключается к базе данных с использованием учетной записи пользователя Windows ( лучше всего, когда корпоративная сеть с входом в домен)
Provider = SQLOLEDB; Data Source = MyServer \ MyInstance; Integrated Security = SSPI; Initial Catalog = MyDatabase; Application Name = My Application Name, которое будет отображаться в трассировке
Итак, это использует поставщик OLEDB для SQL Server. SQLNCLI также можно использовать, не пробовал с ODBC. На самом деле этот DSN не совсем протестирован (нужно подождать, пока мой администратор предоставит мне необходимые права), но он был скопирован из рабочего скрипта, который использовал SQLNCLI в качестве поставщика. Источником данных является сервер, и если у него есть именованный экземпляр, его необходимо указать, так что это либо просто Server
, либо Server \ Instance
. Integrated Security = SSPI
сообщает, что вы хотите использовать проверку подлинности Windows. В противном случае вы указываете пользователя и пароль, используя UID = MyUser; PWD = MyPassword
. UID, User, Username, Password - я думаю, что все эти параметры работают.
В Интернете есть отличный сайт, который предоставляет всевозможные образцы DSN, просто нигде не могу их найти. Если найду, дам тебе знать.
Если у вас нет поставщика в Rails, проверьте, поддерживает ли Rails компонентную объектную модель Windows (COM). И если это так, вы даже можете инициализировать COM-класс ADODB.Connection, работать с ним с ADO.
А, вот тот сайт, о котором я говорил: http: //www.connectionstrings.com /