Hello, I am using SmartGWT EE and its version is SmartClient Version: v8.3p_2013-04-04/Enterprise Deployment (built 2013-04-04).
Used browser is FireFox 20.0.
I used Admin Console to create server.properties file and used Batch DataSource Generator to create datasource like attached file AmkorCIMUser.ds.xml. The reason why I did it is to retrieve some records from MS SQL server.
I used below code to open Admin Console & Batch DataSource Generator.
But, it showed alarm message that "Data fetch failed. Note that this is normal and expected for non-SQL, non-Hibernate DataSources if you have not yet done the server-side work to connect to your data provider" as attached screen when I click refresh button in import DataSources tab of Admin Console.
I'd been read Quick Start Guide serveral times but I was unable to find root cause.
Please, refer to below and kindly advise me.
server.properties
AmkorCIMUser.ds.xml
Used browser is FireFox 20.0.
I used Admin Console to create server.properties file and used Batch DataSource Generator to create datasource like attached file AmkorCIMUser.ds.xml. The reason why I did it is to retrieve some records from MS SQL server.
I used below code to open Admin Console & Batch DataSource Generator.
Code:
SCEE.openDataSourceConsole(); SCEE.openDataSourceGenerator();
I'd been read Quick Start Guide serveral times but I was unable to find root cause.
Please, refer to below and kindly advise me.
server.properties
Code:
# The webRoot directory:
# the directory that the servlet engine regards as the place where applications
# that use the servlet engine should be installed. Generally, it is safe to leave
# this at the default setting of __AUTODETECT__. When the SmartClient server is
# started, it logs a message to stdout telling you the autodetected path to your
# webRoot. If this path is not your actual webRoot, then you'll want to override
# this config parameter here.
#
# Valid values:
#
# 1. Absolute path to the webRoot directory
#
# 2. Special token: __AUTODETECT__
# When this token is used, SmartClient attempts to auto-detect the webRoot using
# standard servlet APIs. This may or may not work - depending on your
# container type and deployment type. For example, WAR/EAR deployments
# on some containers never make it to disk, and so the container refuses
# to provide the webRoot path.
#
# If SmartClient cannnot detect the webRoot, it sets the webRoot to
# __USE_CONTAINER__ (see below).
#
# 3. Special token: __USE_CONTAINER__
# When this token is used, SmartClient uses standard servet APIs for accessing
# filesystem resources. This is slower than direct file access and, since
# the servlet APIs provide no mechanism for writing to disk, means that some
# development tools like the FileAssembler will not work.
#
webRoot: __AUTODETECT__
RPCManager.enabledBuiltinMethods=RPCManager.enabledBuiltinMethods
# Set this to the GWT module name.
gwtModuleName: amkorcimweb
# if you've moved the isomorphic directory from its default location in webRoot,
# set the root-relative path to it here
#
# For example, if in your deployment the 'isomorphic' dir is in /foo/bar, then set
# then you'll need to set this to foo/bar/isomorphic
isomorphicPathRootRelative: $gwtModuleName/sc
# -------------- PICK DATABASE TO USE --------------------
#
# The SmartClient SDK ships with examples that use a database as the persistence
# layer. By default, the SDK uses a built-in version of HSQLDB, but you can
# specify a different database to use here.
# which database do you want to use? HSQLDB is enabled by default.
#sql.defaultDatabase: HSQLDB
# If you want to use Mysql instead, uncomment the following line
# and comment all other sql.defaultDatabase definitions
#sql.defaultDatabase: Mysql
# If you want to use Oracle instead, uncomment the following line
# and comment all other sql.defaultDatabase definitions
#sql.defaultDatabase: Oracle
# If you want to use Postgres instead, uncomment the following line
# and comment all other sql.defaultDatabase definitions
#sql.defaultDatabase: PostgreSQL
# If you want to use DB2 instead, uncomment the following line
# and comment all other sql.defaultDatabase definitions
#sql.defaultDatabase: DB2
# -------------- SETTINGS FOR HSQLDB --------------------
#sql.HSQLDB.database.type: hsqldb
#sql.HSQLDB.interface.type: driverManager
#sql.HSQLDB.driver: org.hsqldb.jdbcDriver
#sql.HSQLDB.driver.url: jdbc:hsqldb:hsql://localhost/isomorphic
# SQLServer
#----------
#sql.SQLServer.database.type: sqlserver
#sql.SQLServer.interface.type: driverManager
#sql.SQLServer.driver: com.microsoft.jdbc.sqlserver.SQLServerDriver
#sql.SQLServer.driver.url: jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=Northwind;User=sa;Password=
# DB2
#----
#sql.DB2.database.type: db2
#sql.DB2.interface.type: dataSource
# DataSource
#sql.DB2.driver: COM.ibm.db2.jdbc.DB2DataSource
#sql.DB2.driver.serverName: localhost
#sql.DB2.driver.databaseName: SAMPLE
#sql.DB2.driver.portNumber: 6789
#sql.DB2.driver.user: db2admin
#sql.DB2.driver.password: db2admin
# -------------- SETTINGS FOR MYSQL --------------------
# These are the settings for use with the Mysql database. If you have
# just done a fresh install of MySQL on the same machine where you are
# running your servlet engine, the values provided below will probably
# just work on most platforms.
# Configuration for Mysql Connector/J
#sql.Mysql.database.type: mysql
#sql.Mysql.database.ansiMode: false
#sql.Mysql.interface.type: dataSource
#sql.Mysql.driver: com.mysql.jdbc.jdbc2.optional.MysqlDataSource
# name of the database to use
#sql.Mysql.driver.databaseName: isomorphic
# hostname and port where the database server is installed
#sql.Mysql.driver.serverName: localhost
#sql.Mysql.driver.portNumber: 3306
# username and password that can create and modify tables in that database
# this user must have the following privileges for the system to function
# properly: create/alter/drop table; insert/update/replace/delete rows.
#sql.Mysql.driver.user: root
#sql.Mysql.driver.password:
# -------------- SETTINGS FOR ORACLE --------------------
# These are the settings for use with the Oracle database.
# hostname and port where the database server is installed
#sql.Oracle.driver.serverName: localhost
#sql.Oracle.driver.portNumber: 1521
# SID of Oracle Database
#sql.Oracle.driver.databaseName: isomorphic
# username and password that can create and modify tables in that database
# this user must have the following privileges for the system to function
# properly: create/alter/drop table; create/drop sequences;
# insert/update/replace/delete rows.
#sql.Oracle.driver.user: system
#sql.Oracle.driver.password: manager
# -------------- SETTINGS FOR PostgreSQL --------------------
# These are the settings for use with the PostgreSQL database.
# hostname and port where the database server is installed
#sql.PostgreSQL.driver.serverName: localhost
#sql.PostgreSQL.driver.portNumber: 5432
# name of the database to use
#sql.PostgreSQL.driver.databaseName: isomorphic
# username and password that can create and modify tables in that database
# this user must have the following privileges for the system to function
# properly: create/alter/drop table; create/drop sequences;
# insert/update/replace/delete rows.
#sql.PostgreSQL.driver.user: postgres
#sql.PostgreSQL.driver.password: test
# -------------- SETTINGS FOR Informix --------------------
# These are example settings for use with the Informix database
# hostname and port where the database server is installed
#sql.Informix.driver.serverName: localhost
#sql.Informix.driver.portNumber: 1526
# name of the database to use. Note that Informix requires the
# databaseName property to be specified so as to include the serverName,
# like so:
# {databaseName}:INFORMIXSERVER={serverName}
#sql.Informix.driver.databaseName: isomorphic:INFORMIXSERVER=isomorphic
# name of the JDBC driver class to use
#sql.Informix.driver: com.informix.jdbc.IfxDriver
#sql.Informix.interface.type: driverManager
#sql.Informix.database.type: informix
#sql.Informix.driver.driverName: informix
# username and password that can create and modify tables in that database
# this user must have the following privileges for the system to function
# properly: create/alter/drop table; create/drop sequences;
#sql.Informix.driver.user: informix
#sql.Informix.interface.credentialsInURL: true
#sql.Informix.driver.password: password
# -------------- LOADING APP AND DATASOURCE DEFINITIONS --------------------
# Where the system looks for DataSource definition files ([dataSourceId].ds.xml or
# [dataSourceID].ds.js). It's useful to put all your DataSources in one
# directory since DataSources are frequently shared between applications.
# "project.datasources" is also where the DataSource Importer tool looks
# for available DataSources.
project.datasources: $webRoot/ds, $webRoot/shared/ds
project.ui: $webRoot/shared/ui
project.apps: $webRoot/shared/app
# -------------- Other settings --------------------
# The setting RPCManager.enabledBuiltinMethods enables or disables the BuiltInRPCs - RPC calls
# that are built into the SmartClient Server. The setting below reflects the framework default
# of enabling only those RPCs that are typically needed in an application.
#
# See the JavaDoc for com.isomorphic.rpc.BuiltinRPC and com.isomorphic.tools.BuiltinRPC for all
# available builtinRPCs and their behavior.
#
# Note that many of the BuiltinRPCs are designed for use by tools such as Visual Builder, and
# provide services such as direct access to the file system (for load and save of screens) that
# would be unsafe to expose to untrusted users.
#
RPCManager.enabledBuiltinMethods: getPdfObject, xmlToJS, uploadProgressCheck, exportClientData, downloadClientExport, setAttributes, getLogNames, getLogThresholds, setLogThreshold
#===============================================================================
# JPA subsystem
#===============================================================================
# According to JPA specifications only simple class name can be used in queries.
# Some providers follows these specs strictly (for example EclipseLink).
# Some providers allows using fully-qualified class name usage (for example Hibernate, Datanucleus).
# Setting defaluts to false - simple class name usage.
# To resolve class name collisions this setting can be set to true
# (should be used with provider supporting fully-qualified class name usage).
#jpa.useQualifiedClassName: true
# Default EMF provider implementation (implements EMFProviderInterface).
# Fully qualified class name.
# Existing implementations:
# com.isomorphic.jpa.EMFProviderLMT - for Locally Managed Transactions (LMT)
# com.isomorphic.jpa.EMFProviderNoTransactions - no transactions support
# com.isomorphic.jpa.EMFProviderBMT - for Bean Managed Transactions (BMT)
# com.isomorphic.jpa.EMFProviderCMT - for Container Managed Transactions (CMT)
# com.isomorphic.jpa.EMFProviderSpring - for Spring Framework Managed Transactions (CMT)
jpa.emfProvider: com.isomorphic.jpa.EMFProviderLMT
# Settings for LMT type
# Name of the datasource
jpa.persistenceUnitName: ds
# Resource references for BMT type
# EntityManager resource reference name declared in /WEB-INF/web.xml.
# Example declaration:
# <persistence-context-ref>
# <persistence-context-ref-name>persistence/em</persistence-context-ref-name>
# <persistence-unit-name>PERSISTENCE_UNIT_NAME</persistence-unit-name>
# </persistence-context-ref>
# EntityManagerFactory resource reference name declared in /WEB-INF/web.xml.
# Example declaration:
# <persistence-unit-ref>
# <persistence-unit-ref-name>persistence/emf</persistence-unit-ref-name>
# <persistence-unit-name>PERSISTENCE_UNIT_NAME</persistence-unit-name>
# </persistence-unit-ref>
#jpa.entityManager: persistence/em
#jpa.entityManagerFactory: persistence/emf
# Resource references for CMT type
# EntityManager and EntityManagerFactory resource references names declared in /META-INF/ejb-jar.xml.
# Example declaration:
# <?xml version="1.0" encoding="UTF-8"?>
# <ejb-jar
# version = "3.0"
# xmlns = "http://java.sun.com/xml/ns/javaee"
# xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
# xsi:schemaLocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd">
# <enterprise-beans>
# <session>
# <ejb-name>TestEJB</ejb-name>
# <persistence-context-ref>
# <persistence-context-ref-name>persistence/em</persistence-context-ref-name>
# <persistence-unit-name>PERSISTENCE_UNIT_NAME</persistence-unit-name>
# </persistence-context-ref>
# <persistence-unit-ref>
# <persistence-unit-ref-name>persistence/emf</persistence-unit-ref-name>
# <persistence-unit-name>PERSISTENCE_UNIT_NAME</persistence-unit-name>
# </persistence-unit-ref>
# </session>
# </enterprise-beans>
# </ejb-jar>
#jpa.entityManager: persistence/em
#jpa.entityManagerFactory: persistence/emf
# Resource references for Spring type
# EntityManagerFactory and transaction manager beans declared in Spring Application Context.
# Example declaration:
# <!-- SpringApplicationContextProvider bean definition required to get access to application context. -->
# <bean id="springApplicationContextProvider" class="com.isomorphic.spring.SpringApplicationContextProvider" />
#
# <!-- Connection to data base -->
# <bean id="dataSource"
# class="org.springframework.jdbc.datasource.DriverManagerDataSource"
# p:driverClassName="DRIVER_CLASS"
# p:url="CONNECTION_URL"
# p:username="DB_USER_NAME"
# p:password="DB_USER_PASSWORD" />
#
# <!-- Reference to JPA EntityManagerFactory -->
# <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
# <property name="dataSource" ref="dataSource" />
# <property name="jpaVendorAdapter">
# <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
# <property name="database" value="DB_TYPE" />
# </bean>
# </property>
# <property name="persistenceUnitName" value="PERSISTENCE_UNIT_NAME" />
# </bean>
#
# <!-- Reference to JpaTransactionManager -->
# <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
# <property name="entityManagerFactory" ref="entityManagerFactory" />
# </bean>
#jpa.entityManagerFactory: entityManagerFactory
#jpa.transaction: transactionManager
# Note: modulesDir is only used with the loadISC and loadModules JSP tags; if
# you intend to use those tags, do not change this setting
modulesDir: modules/
sql.SQLServer.driver.networkProtocol: tcp
sql.SQLServer.driver.url: jdbc:sqlserver://XX.XXX.X.XX:1433;databaseName=CIM;User=K1STSQSVC;Password=9uaJmsGz;
sql.SQLServer.driver.serverName:
sql.SQLServer.interface.credentialsInURL: true
sql.SQLServer.driver.context:
sql.SQLServer.interface.type: driverManager
sql.SQLServer.autoJoinTransactions: true
sql.SQLServer.driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
sql.SQLServer.database.type: sqlserver
sql.defaultDatabase: SQLServer
RPCManager.enabledBuiltinMethods: *
sql.SQLServer.driver.portNumber: 1433
sql.SQLServer.driver.driverName: sqlserver
Code:
<!-- Auto-generated from database table AmkorCIMUser --> <DataSource schema="dbo" dbName="SQLServer" tableName="AmkorCIMUser" ID="AmkorCIMUser" dataSourceVersion="1" generatedBy="v8.3p_2013-04-04/Enterprise Deployment 2013-04-04" serverType="sqlserver" > <fields> <field sqlType="char" sqlLength="10" name="FactoryID" length="10" type="text"></field> <field sqlType="varchar" primaryKey="true" sqlLength="50" name="UserID" length="50" type="text"></field> <field sqlType="bit" sqlLength="1" name="IsActive" type="integer"></field> <field sqlType="bit" sqlLength="1" name="ATK_eCIM" type="integer"></field> <field sqlType="varchar" sqlLength="50" name="ATK_eCIM_Plant" length="50" type="text"></field> <field sqlType="bit" sqlLength="1" name="ATP_eCIM" type="integer"></field> <field sqlType="varchar" sqlLength="50" name="ATP_eCIM_Plant" length="50" type="text"></field> <field sqlType="bit" sqlLength="1" name="ATC_eCIM" type="integer"></field> <field sqlType="varchar" sqlLength="50" name="ATC_eCIM_Plant" length="50" type="text"></field> <field sqlType="bit" sqlLength="1" name="ATT_eCIM" type="integer"></field> <field sqlType="varchar" sqlLength="50" name="ATT_eCIM_Plant" length="50" type="text"></field> <field sqlType="longvarchar" sqlLength="2147483647" name="eCIM_Report_Menu" length="2147483647" type="text"></field> <field sqlType="bit" sqlLength="1" name="IsCIMitarUser" type="integer"></field> <field sqlType="timestamp" sqlLength="23" name="CreatedTimestamp" type="datetime"></field> <field sqlType="timestamp" sqlLength="23" name="ModifiedTimestamp" type="datetime"></field> <field sqlType="timestamp" sqlLength="23" name="LastLogInTimestamp" type="datetime"></field> <field sqlType="varchar" sqlLength="50" name="UserEMail" length="50" type="text"></field> </fields> </DataSource>
Comment