| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java tools & IDE's > hibernate + mssql linked server |
| Автор: zhz 5.3.2012, 09:16 | ||||||
| Мне необходимо используя hibernate работать с dBase 4 файлами. Я подключил всю базу к SQL server в качестве Linked Server. Тем самым, запросы в Query Analizer выгялядят так: select * from LINKEDSERVER...TableName Подскажите , как правильно сделать маппинг. Если я делаю так
То получаю : org.hibernate.exception.SQLGrammarException: could not execute query at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:65) ............................................. Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: OLE DB provider 'MYDBFs' does not contain table 'TableName'. The table either does not exist or the current user does not have permissions on that table. at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:197) ........................ ... 8 more Если делаю так :
То получаю : Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'TableName'. При этом, как понимаю, в строке запроса :
я должен указывать не таблицу, а класс, который мапится на таблицу. |
| Автор: zhz 6.3.2012, 00:13 |
| Разобрался. Тему можно закрывать. Вообщем кому интересно: не готов сказать, может ли работать Hibernate c такими атавизмами как FoxPro, MS access, Dbase и т.п(а ), но если у вас появилась необходимость реализовать данную связку, то можно вставить посредника в качестве MS SQL Server создав там Linked Server к базе на диске(или в сети), а с ним уже работать через Hibernate. Только в mapping file нужно указывать таблицу например так: <class name="package.TableObject" table="LinkedServerName...TableName"> |
| Автор: LSD 6.3.2012, 10:10 |
| А не проще было в MS SQL Server создать алиасы на эти таблицы? |