首页 > 解决方案 > 将 WSO2 IS 连接到 SQL Server

问题描述

我正在尝试更改我的 wso2 的默认数据库正在使用此https://renukahosamani.wordpress.com/2017/02/23/setting-up-microsoft-sql-as-default-database-for-wso2-ei- 6-0/

我已按照此处和 wso2 文档中提供的所有步骤进行操作,但由于某种原因,我仍然无法使其正常工作 - 有人可以帮忙吗?

我是 WSO2 的新手,并在 ubuntu 服务器上运行它。

这是错误

[致命错误] master-datasources.xml:17:44:元素的内容必须由格式良好的字符数据或标记组成。
[2019-08-26 12:18:03,974] 错误 {org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent} - 初始化系统数据源时出错:初始化系统数据源时出错:初始化系统数据时出错“/us r/lib/wso2/wso2is/5.7.0/repository/conf/datasources/master-datasources.xml”中的来源 - 从文件创建 XML 文档时出错:元素的内容必须由格式良好的字符数据或标记组成。

org.wso2.carbon.ndatasource.common.DataSourceException:初始化系统数据源时出错:在'/usr/lib/wso2/w so2is/5.7.0/repository/conf/datasources/master-初始化系统数据源时出错datasources.xml' - 从文件创建 XML 文档时出错:元素的内容必须由格式良好的字符数据或标记组成。

我不知道为什么会这样

下面是 user-mgmt.xml

<UserManager>
    <Realm>
        <Configuration>
                <AddAdmin>true</AddAdmin>
            <AdminRole>admin</AdminRole>
            <AdminUser>
                <UserName>admin</UserName>
                <Password>admin</Password>
            </AdminUser>
            <EveryOneRoleName>everyone</EveryOneRoleName> <!-- By default users in this role sees the registry root -->
            <Property name="isCascadeDeleteEnabled">true</Property>
 <Property name="initializeNewClaimManager">true</Property>
            <Property name="dataSource">jdbc/WSO2CarbonDB</Property>
        </Configuration>

和 master-datsource.xml

数据源配置 xmlns:svns="http://org.wso2.securevault/configuration">

<providers>
    <provider>org.wso2.carbon.ndatasource.rdbms.RDBMSDataSourceReader</provider>
</providers>

<datasources>

    <datasource>
        <name>WSO2_CARBON_DB</name>
        <description>The datasource used for registry and user manager</description>
        <jndiConfig>
            <name>jdbc/wso2</name>
        </jndiConfig>
        <definition type="RDBMS">
            <configuration>
                <url>jdbc:sqlserver://<192.168.3.63>:<1433>;databaseName=<wso2>;SendStringParametersAsUnicode=false</url>
                <username>wso2</username>
                <password>Innov@tive</password>
                <driverClassName>com.microsoft.sqlserver.jdbc.SQLServerDriver</driverClassName>
                <maxActive>50</maxActive>
                <maxWait>60000</maxWait>
                <testOnBorrow>true</testOnBorrow>
                <validationQuery>SELECT 1</validationQuery>
                <validationInterval>30000</validationInterval>
                <defaultAutoCommit>false</defaultAutoCommit>
            </configuration>
        </definition>
    </datasource>

所以现在这就是我得到的我已经尝试更改 jdbc 驱动程序但仍然是同样的事情

[2019-08-27 11:30:54,493] ERROR {org.wso2.carbon.user.core.common.DefaultRealm} -  nullType class java.lang.reflect.InvocationTargetException
org.wso2.carbon.user.core.UserStoreException: nullType class java.lang.reflect.InvocationTargetException


Caused by: java.lang.UnsupportedClassVersionError: com/microsoft/sqlserver/jdbc/SQLServerDriver has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

标签: wso2is

解决方案


将master-datasources.xml中的url修改为如下配置,试一试。

jdbc:sqlserver://192.168.3.63:1433;databaseName=wso2;SendStringParametersAsUnicode=false

推荐阅读