Первые два вопроса хорошо охвачены другими ответами. Что касается Sybase, то вот что вы должны знать:
Независимо от того, планируете ли вы использовать прямой уровень данных ADO.NET или ORM, необходимые библиотеки DLL и настройки применимы к обоим. Если вы планируете использовать NHibernate 3.0 с Sybase, то вам следует просмотреть информацию здесь , поскольку она должна использовать предоставленный диалект NHibernate 2.1.2. NHibernate 2.1.2 прекрасно работает из коробки с Sybase ASE версии 12. Для этой версии настройте NHibernate с этим диалектом и драйвером:
NHibernate.Dialect.SybaseAdoNet12Dialect
NHibernate.Driver.SybaseAdoNet12ClientDriver
Я считаю, что драйверы SqlAnywhere отличаются, но для ASE библиотеки DLL, на которые вам нужно будет ссылаться, перечислены ниже. Вы можете получить их от Sybase только через программу поддержки, чтобы они соответствовали их лицензии.
Наконец, драйвер Sybase ADO.NET кажется тонким слоем над неуправляемой DLL, и его использование и стабильность показывают это. Это, конечно, более хитро настроить, чем другие драйверы ADO.NET, с которыми я работал. Например, поскольку Sybase обычно не настроен на поддержку набора символов Unicode, вам необходимо установить / отобразить строковые параметры .NET для использования AnsiString или AnsiStringFixedLength (или AseDbType.VarChar) в зависимости от ситуации. Еще более странным является то, что если вы забудете это сделать, драйвер молча выйдет из строя и просто напишет нулевое значение в столбце таблицы.
sbgse2.dll
Sybase.AdoNet2.AseClient.dll
sybcsi_certicom_fips26.dll
sybcsi_core26.dll
sybcsi_profiler26.dll
sybdrvado20.dll