Подключение к файлу формы ESRI (файл DBase * .dbf) из NHibernate - PullRequest
1 голос
/ 18 июля 2009

Я пытался выяснить, как подключиться к файлу формы ESRI (который я считаю файлом таблицы DBase) через NHibernate, но мне не повезло ни с чем, что я пробовал.

В настоящее время мой конфиг выглядит так:

<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>

<!--<property name="dialect">NHibernate.Dialect.GenericDialect</property>
<property name="connection.driver_class">NHibernate.Driver.OdbcDriver</property>
<property name="connection.connection_string">Database=A303.dbf;protocol=TCPIP</property>-->

<property name="connection.driver_class">NHibernate.Driver.OdbcDriver</property>
<!--<property name="connection.connection_string">driver={IBM DB2 ODBC DRIVER};Database=a303.dbf;protocol=TCPIP</property>-->
<property name="connection.connection_string">Provider=VFPOLEDB.1; Data Source=C:\projects\rm4\Sandbox\bin\Debug\A303.dbf;Extended Properties=dBase III</property>
<property name="dialect">NHibernate.Dialect.DB2Dialect</property>
<property name="use_outer_join">true</property>

<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
<property name="show_sql">true</property>

Я оставил закомментированные биты, чтобы вы могли видеть, какие значения я пробовал. Что бы я ни пытался, я получаю сообщение об ошибке:

ОШИБКА [IM002] [Microsoft] [Диспетчер драйверов ODBC] Не найдено имя источника данных и не указан драйвер по умолчанию

Я просмотрел большую часть строки подключения, которую нашел в Интернете, и в некоторых ответах на вопросы здесь переходил к фазе «схватывания за соломинку», когда я просто что-то вставлял, так что мне лучше обратиться за помощью.

Я даже не уверен, возможно ли подключиться к файлу такого типа из NHibernate, но, если это так, кто-нибудь знает, что должно быть в конфигурации?

Ответы [ 2 ]

1 голос
/ 12 февраля 2011

Шейп-файл (.shp) сам по себе не является dbf. На самом деле это набор файлов, одним из которых является DBF, но сам шейп-файл, в котором хранится геометрия, является совершенно другим форматом.

На сайте ESRI (www.esri.com) есть технический документ

0 голосов
/ 13 августа 2009

Я бы попробовал другой драйвер NHibernate. Вот список драйверов NHibernate из документации.

Судя по имени провайдера в строке подключения, я бы попробовал NHibernate.Driver.OleDbDriver.

Если это не удастся, я исключу NHibernate из микса и посмотрю, можно ли подключиться с помощью стандартных классов данных .NET, таких как System.Data.Odbc.OdbcConnection и System.Data.OleDb.OleDbConnection. Если вы не можете подключиться на этом уровне, проблема не в NHibernate.

...