Вы можете определить DRDA-ссылку на ссылку на базу данных OCDB, которая должна позволить вам подключаться практически к любой стандартной базе данных SQL на другом сервере. Но вы, вероятно, не получите его от системных администраторов мэйнфреймов, поскольку это нестандартно и трудно поддается управлению.
Репликация, вероятно, будет вашим лучшим выбором - есть несколько инструментов от обоих поставщиков: https://docs.microsoft.com/en-us/sql/relational-databases/replication/non-sql/ibm -db2-абоненты? view = sql-server-2017 описывает предложение Microsoft.
Вы могли всегда делать это в своем конструкторе:
memset(&bflag, 0, sizeof bflag);
Объединение структура битового поля с чем-то более легким для инициализации к 0.
Вы могли использовать объединение, хотя это добавит дополнительный уровень абстракции при доступе к полям:
class Big {
union {
struct {
unsigned int field1 : 1;
...
} fields;
unsigned int all_fields;
};
...
};
Big::Big()
: all_fields(0),
...
{
...
}
MSVC позволяет анонимные структуры в объединениях (см., например, определение D3DMATRIX
в <d3d9.h>
), но это - нестандартное расширение C++, которого необходимо избегать использования, если Вы можете.
Как в стороне, если Вам не нужно битовое поле для взаимодействия через интерфейс к некоторому унаследованному коду, Вы не должны использовать их. Они, являются по сути непортативными и неэффективными.
Ваше использование подобного функции инициализатора (отмеченный "Я могу обнулить bflag здесь?"), на 100% достаточно для инициализации структуры POD с 0 значениями.
Если Вы не знаете, что Ваш компилятор повреждается в этом отношении, делание любой дополнительной инициализации тех участников инициализирует его дважды ни для какого преимущества.
Править: Только для 'забавы' я просто проверил это с VS2005, VS2008, GCC 3.4.4, GCC 4.2 и Borland C++ 5.5.1... только Borland C++ 5.5.1 понимает его превратно.
И я говорю 'неправильно', потому что мне кажется, что 8.5 и 8.5.1 из стандарта подразумевают, что подобный функции инициализатор должен обнулить-init структуру POD.
Вы могли Обнулить использование памяти ZeroMemory или memset в конструкторе таким образом это инструмент для очистки взгляда.