5 votos

¿Cómo determinar que propiedad de dbclient de conexión para una conexión de Oracle SQLWorkspace?

Tengo una base de datos Oracle11g que me conecto a través de un SQL área de trabajo; sin embargo, la actual dbclient valor de cadena que funciona difiere dependiendo de la máquina (y me imagino que el cliente de oracle de configuración). En algunas máquinas, su Oracle11g(como en el ejemplo en resources.arcgis.com):

// Create the connection properties.
IPropertySet connectionProps = new PropertySetClass();
connectionProps.SetProperty("dbclient", "Oracle11g");
connectionProps.SetProperty("serverinstance", "Riverside");
connectionProps.SetProperty("authentication_mode", "DBMS");
connectionProps.SetProperty("user", "BlackDog");
connectionProps.SetProperty("password", "123456");

A veces es Oracle.

// Create the connection properties.
IPropertySet connectionProps = new PropertySetClass();
connectionProps.SetProperty("dbclient", "Oracle");
connectionProps.SetProperty("serverinstance", "Riverside");
connectionProps.SetProperty("authentication_mode", "DBMS");
connectionProps.SetProperty("user", "BlackDog");
connectionProps.SetProperty("password", "123456");

Cómo es que dbclient valor utilizado por ArcGIS? Hay una forma de detectar que se necesita en tiempo de ejecución?

1voto

lepole Puntos 1588

Con 10.0 y Oracle 11g puedo abrir un esriDataSourcesGDB.SqlWorkspaceFactory el uso de un conjunto de propiedades como se describe anteriormente. Sin embargo a partir de 10.1 adelante, me he tenido que cambiar mis programas a utilizar esriDataSourcesGDB.SdeWorkspaceFactory y el siguiente conjunto de propiedades:

        IPropertySet propertySet = new PropertySetClass();
        propertySet.SetProperty("SERVER", "<servername>");
        propertySet.SetProperty("INSTANCE", "sde:oracle11g:<instancename>");
        propertySet.SetProperty("DATABASE", "");
        propertySet.SetProperty("USER", "<username>");
        propertySet.SetProperty("PASSWORD", "<password>");
        propertySet.SetProperty("VERSION", "sde.DEFAULT");

Yo no era capaz de encontrar la documentación que han dejado de SqlWorkspaceFactory pero las aplicaciones que he usado en trabajado en 10.0 y no en el apartado 10.2. En Esri ayuda es esta observación en el SqlWorkspaceFactoryClass página:

El SDEWorkspaceFactory.Método abierto debe ser utilizado para hacer las conexiones a todas las bases de datos y geodatabases corporativas.

También hay una Base de Conocimiento de tecnología artículo sobre esto: Lo que ha cambiado en las Capas de Consulta entre ArcGIS 10.0 y 10.1

No sé cómo lo haría para "detectar" que las propiedades de las necesidades de su aplicación a otros, en lugar de tratar/de la captura en el código. Usted puede ver si el uso de la SdeWorkspaceFactory funciona en todos los 10.x versiones de que el apoyo y la gota de uso de SqlWorkspaceFactory si es así.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X