标签: multi-database

使用Spring + Hibernate + JPA的多个数据库

我正在尝试配置Spring + Hibernate + JPA来处理两个数据库(MySQL和MSSQL).

我的datasource-context.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
 xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
  http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
  http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
  http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd"
 xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx"
 xmlns:util="http://www.springframework.org/schema/util">

 <!--
 Data Source config 
  -->
 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
  destroy-method="close" p:driverClassName="${local.jdbc.driver}" p:url="${local.jdbc.url}"
  p:username="${local.jdbc.username}" p:password="${local.jdbc.password}">
 </bean>

 <bean id="dataSourceRemote" class="org.apache.commons.dbcp.BasicDataSource"
  destroy-method="close" p:driverClassName="${remote.jdbc.driver}"
  p:url="${remote.jdbc.url}" p:username="${remote.jdbc.username}"
  p:password="${remote.jdbc.password}" />

 <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"
  p:entity-manager-factory-ref="entityManagerFactory" />

 <!-- 
    JPA config   
    -->
 <tx:annotation-driven transaction-manager="transactionManager" />

 <bean id="persistenceUnitManager"
  class="org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager">
        <property name="persistenceXmlLocations">
   <list value-type="java.lang.String">
    <value>classpath*:config/persistence.local.xml</value>
    <value>classpath*:config/persistence.remote.xml</value>
   </list>
  </property>

  <property name="dataSources">
   <map>
    <entry key="localDataSource" value-ref="dataSource" />
    <entry key="remoteDataSource" value-ref="dataSourceRemote" …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa multi-database

30
推荐指数
3
解决办法
5万
查看次数

CodeIgniter MultiDatabse连接错误

我看到很多方法/教程在CodeIgniter中连接多个数据库?离我很远.有人提供我在CI中连接多个数据库.这是我的使用方式,我在博客中找到它.对不起,我不承认博客地址.

    $active_group = 'default';
    $active_record = TRUE;
    $db['default']['hostname'] = 'localhost';
    $db['default']['username'] = 'root';
    $db['default']['password'] = 'root';
    $db['default']['database'] = 'vk_global';
    $db['default']['dbdriver'] = 'mysql';
    $db['default']['dbprefix'] = '';
    $db['default']['pconnect'] = TRUE;
    $db['default']['db_debug'] = TRUE;
    $db['default']['cache_on'] = FALSE;
    $db['default']['cachedir'] = '';
    $db['default']['char_set'] = 'utf8';
    $db['default']['dbcollat'] = 'utf8_general_ci';
    $db['default']['swap_pre'] = '';
    $db['default']['autoinit'] = TRUE;
    $db['default']['stricton'] = FALSE;

    //add alternate database settings
    $db['wow']['hostname'] = 'localhost';
    $db['wow']['username'] = 'root';
    $db['wow']['password'] = 'root';
    $db['wow']['database'] = 'auth';
    $db['wow']['dbdriver'] = 'mysql';
    $db['wow']['dbprefix'] = '';
    $db['wow']['pconnect'] = TRUE;
    $db['wow']['db_debug'] = TRUE; …
Run Code Online (Sandbox Code Playgroud)

codeigniter multi-database

4
推荐指数
1
解决办法
1万
查看次数

Django 无法在“默认”以外的其他数据库中创建超级用户

这是一个错误还是我错了?我正在创建一个超级用户,但 django 想要在错误的数据库中创建一个表,尽管我的路由器似乎可以工作:

设置.py

DATABASES = {
      'intern_db': {
        'ENGINE': 'mysql.connector.django',
        'NAME': 'django_cartons',
            'USER': 'root',
            'PASSWORD' : '',
      },
    'default': {
        'ENGINE': 'mysql.connector.django',
        'NAME': 'cartons',
            'USER': 'root',
            'PASSWORD' : '',
    }
}

DATABASE_ROUTERS = ['web.routers.AuthRouter']
Run Code Online (Sandbox Code Playgroud)

路由器.py

class AuthRouter(object):
      """
      A router to control all database operations on models in the
      auth application.
      """
      def db_for_read(self, model, **hints):
            """
            Attempts to read auth models go to auth.
            """
            print("READ ",model._meta.app_label)
            if model._meta.app_label in ['auth', 'contenttypes', 'admin', 'sessions']:
               print(True)
               return 'intern_db'
            return …
Run Code Online (Sandbox Code Playgroud)

python django multi-database

4
推荐指数
1
解决办法
5982
查看次数

适用于多数据库Grails应用程序的Spring或Hibernate多租户

Grails有一个用于单个数据库的多租户插件和一个用于多个数据库的多租户插件,但不再支持/维护多个数据库的插件.有没有什么方法可以将Spring或Hibernate本身用于多租户多数据库Grails应用程序?

grails spring hibernate multi-tenant multi-database

4
推荐指数
1
解决办法
2451
查看次数

如何创建支持多个数据库的应用程序

我遇到需要创建一个支持多个数据库的应用程序的情况。多个数据库意味着客户端可以首先使用Oracle,SQL Server,MySQL,PostgreSQL等任何数据库。

我正在尝试使用NHibernate或MyBatis之类的ORM。但是它们有局限性,需要专业知识才能使用。

因此,我决定使用Microsoft提供的数据提供程序,例如ADO.NET,OLEDB,ODP.NET等。

有什么办法可以使我的数据库逻辑对于所有数据库保持相同?我已经尝试过了IDbConeectionIDbCommand等等,但是在Oracle(Ref Cursor)的情况下它们有问题。

我有什么办法可以做到这一点?一些链接或指南,将不胜感激。

编辑:
DBType存在问题,因为它们的枚举对不同的数据提供程序进行了不同的定义。

c# asp.net orm ado.net multi-database

3
推荐指数
1
解决办法
1495
查看次数

在日志中包含 Active Record 查询的作用

Rails 现在支持多个数据库角色(默认情况下writing对于主数据库和reading副本数据库角色):

ActiveRecord::Base.connected_to(role: :reading) do
  # all code in this block will be connected to the reading role
end
Run Code Online (Sandbox Code Playgroud)

在开发中,默认情况下会记录 Active Record 查询,例如:

> User.last
  User Load (0.1ms)  SELECT "users".* FROM "users" ORDER BY "users"."id" DESC LIMIT ?  [["LIMIT", 1]]
Run Code Online (Sandbox Code Playgroud)

如何在日志记录中包含用于查询的角色?例如:

> ActiveRecord::Base.connnected_to(role: :reading) { User.last }
  [role: reading] User Load (0.1ms)  SELECT "users".* FROM "users" ORDER BY "users"."id" DESC LIMIT ?  [["LIMIT", 1]]
Run Code Online (Sandbox Code Playgroud)

logging activerecord ruby-on-rails multi-database

3
推荐指数
2
解决办法
1032
查看次数

Linq to Sql:仅选择DB2-table2上不存在的DB1-table1中的项目

我一直在研究如何在ac#project中正确实现bellow任务.

它被预先考虑到......

获取特定数据库表(db1)中存在但在其他特定数据库表(db2)上不存在的所有数据

两个表都有共同的ID

我已经面临很多关于此的帖子,但似乎没有解决我的问题.有帮助吗?

编辑:

Select all data 
on table_x from database_x 
Where item_id from table_x are not found inside table_y from database_y
Run Code Online (Sandbox Code Playgroud)

=>以列表格式返回数据

c# multi-database linq-to-sql

1
推荐指数
1
解决办法
2235
查看次数

大型 WordPress 数据库

我的数据库大小超过 10GB,这会降低网站速度。我想将其拆分并将这些数据库分离到专用服务器。我正在使用 MariaDB。

如何拆分 WordPress 数据库?

database wordpress multi-database mariadb

1
推荐指数
1
解决办法
3534
查看次数