データベースを使ったシステムは配布していいのか?
データベースを使ったシステムは配布していいのか?
オラクルのデータベースを使って(補助として)ゲームを作ったとき、
ゲーム内でデータベースを利用するゲームができたとします。
このとき、このゲームは配布していいのでしょうか?
配布できるのでしょうか?
プログラム内にデータベースの記述をして、
例えば、100フレームにテーブルの1番目の敵を出現させる
という処理を組み込んでいた時、できあがった実行ファイルを
配布してもいいのでしょうか?
また、配布するファイルをインストールする手間が増えたり
しないでしょうか?
ゲーム内でデータベースを利用するゲームができたとします。
このとき、このゲームは配布していいのでしょうか?
配布できるのでしょうか?
プログラム内にデータベースの記述をして、
例えば、100フレームにテーブルの1番目の敵を出現させる
という処理を組み込んでいた時、できあがった実行ファイルを
配布してもいいのでしょうか?
また、配布するファイルをインストールする手間が増えたり
しないでしょうか?
Re: データベースを使ったシステムは配布していいのか?
補足です。
具体的な例として
オラクルを使ったサーバー/クライアントソフトとします。
<サーバー側>
オラクルのライセンス::必須(接続クライアント数などに対応したライセンスであること)
<クライアント側>
オラクルデータベース接続ツール群+配布プログラム
接続ツール群配布に関してはEULA、およびサーバー本体のライセンスに抵触しない限り配布可能。
Re: データベースを使ったシステムは配布していいのか?
データも含めて配布となるとオラクルデータベースよりか
SQLite、FireBirdなど別データベースも視野に入れたほうがいいかもしれません。
配布可能かについてですが使用するデータベースや付属ツールのライセンスによって
対応が変わります。
まず大きく対応が変わるのがGPLか否かですかね。
LGPL、MIT、MsPL、appacheライセンスといったライセンスだとソース公開せずとも済むかもです。
Re: データベースを使ったシステムは配布していいのか?
>>よもやまさん
オラクルの配布はダメですね。
>データも含めて配布となるとオラクルデータベースよりか
>SQLite、FireBirdなど別データベースも視野に入れたほうがいいかもしれません。
SQLiteを試してみようかと思います。
ライセンスはpublic doman と書いてあったので、
SQLiteの説明
//=========================================================
ライセンス情報
SQLiteのライセンスは「Public Domain」です。このライセンスに従う
ことを条件として、ソースコードの改変と公開が許可されています。
//=========================================================
プログラムに組み込んで、配布してもいいですよね?(確認)
オラクルの配布はダメですね。
>データも含めて配布となるとオラクルデータベースよりか
>SQLite、FireBirdなど別データベースも視野に入れたほうがいいかもしれません。
SQLiteを試してみようかと思います。
ライセンスはpublic doman と書いてあったので、
SQLiteの説明
//=========================================================
ライセンス情報
SQLiteのライセンスは「Public Domain」です。このライセンスに従う
ことを条件として、ソースコードの改変と公開が許可されています。
//=========================================================
プログラムに組み込んで、配布してもいいですよね?(確認)
Re: データベースを使ったシステムは配布していいのか?
SQLiteライブラリを作るんですが、難しい・・・
やっぱりあきらめます。
敵のデータをcsvで作ってなんとかします。
やっぱりあきらめます。
敵のデータをcsvで作ってなんとかします。
Re: データベースを使ったシステムは配布していいのか?
ライブラリを作る?
C(C++)、C#でSQLiteのライブラリはあったと思いますが
どういったライブラリを作ろうとしていたのでしょう・・
C(C++)、C#でSQLiteのライブラリはあったと思いますが
どういったライブラリを作ろうとしていたのでしょう・・
Re: データベースを使ったシステムは配布していいのか?
https://sqlite.org/download.html ここのページの
Precompiled Binaries for Windows にある
sqlite-dll-win64-x64-3240000.zip をダウンロードしてきて
ソースコードから lib ファイルを作ろうとしているのですが、
マクロが再定義されていますと300個近くでて、原因がわかりません。
dll があっても libファイルがないと、作成する実行ファイルが作成できません。
リンクできません。
なので、libファイルが作れないと。
Precompiled Binaries for Windows にある
sqlite-dll-win64-x64-3240000.zip をダウンロードしてきて
ソースコードから lib ファイルを作ろうとしているのですが、
マクロが再定義されていますと300個近くでて、原因がわかりません。
dll があっても libファイルがないと、作成する実行ファイルが作成できません。
リンクできません。
なので、libファイルが作れないと。
Re: データベースを使ったシステムは配布していいのか?
https://qiita.com/akabei/items/3e719d07bdddd6fe56b8 ここを参考にしたらできました。
が、またしてもわからないことが、でてきました。
まではできたのですが、
重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー C2440 '初期化中': 'const char [11]' から 'char *' に変換できません。 DxLi b_test c:\users\user\documents\visual studio 2017\source\dxli b_test_03_sqliteの導入\dxli b_test\drawpixel.cpp 153
とでてコンパイルが通りません。
visual stdio 2017にしてからこのエラーがでてきて、解決方法がわかりません。
どうしたらコンパイルが通るのでしょうか?
が、またしてもわからないことが、でてきました。
#include "sqlite3.h"
//=============================================================
void hoge()
{
char *fileName = "mySQLiteDB";
sqlite3 *pDB = NULL;
}
重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー C2440 '初期化中': 'const char [11]' から 'char *' に変換できません。 DxLi b_test c:\users\user\documents\visual studio 2017\source\dxli b_test_03_sqliteの導入\dxli b_test\drawpixel.cpp 153
とでてコンパイルが通りません。
visual stdio 2017にしてからこのエラーがでてきて、解決方法がわかりません。
どうしたらコンパイルが通るのでしょうか?
Re: データベースを使ったシステムは配布していいのか?
ちまちま書き込んですいません。
char *filename の部分はヘルプで解決しました。
const char* filename = "mySQLiteDB"; にしたらコンパイルが通りました。
で、できたのが以下のコードですが、またしても、コンパイルエラーがでました。
コンパイルエラーは
識別子 sqlite3_api が定義されていません。
で、エラー行はsqlite3_openのところをさしています。
ディレクトリ設定もし、shell.c sqlite3.c をプロジェクトに
追加しました、が、コンパイルエラーがでます。
どこが悪いのでしょうか?
char *filename の部分はヘルプで解決しました。
const char* filename = "mySQLiteDB"; にしたらコンパイルが通りました。
で、できたのが以下のコードですが、またしても、コンパイルエラーがでました。
//=============================================================
void hoge()
{
const char* fileName = "mySQLiteDB";
sqlite3 *pDB = NULL;
// DBのオープン
int err;
err = sqlite3_open(fileName, &pDB);
if (err != SQLITE_OK) {
OutputDebugString("ERROR");
// エラー処理
return;
}
OutputDebugString("OPEN SUCCESS.\n");
// DBのクローズ
err = sqlite3_close(pDB);
if (err != SQLITE_OK) {
OutputDebugString("CLOSE ERR!\n");
// エラー処理
return;
}
OutputDebugString("CLOSE SUCCESS.\n");
}
識別子 sqlite3_api が定義されていません。
で、エラー行はsqlite3_openのところをさしています。
ディレクトリ設定もし、shell.c sqlite3.c をプロジェクトに
追加しました、が、コンパイルエラーがでます。
どこが悪いのでしょうか?
Re: データベースを使ったシステムは配布していいのか?
ん?Libファイルは作れた?
参考にしているのはnugetでの導入方法とC#でのサンプル例でコンソール用には見えなかったのですが、、
dllからlibを作る作り方は
http://seraphy.hatenablog.com/entry/20061031/p1
を参考にしましょう。
あと
エラーメッセージは省略しないでください。
参考にしているのはnugetでの導入方法とC#でのサンプル例でコンソール用には見えなかったのですが、、
dllからlibを作る作り方は
http://seraphy.hatenablog.com/entry/20061031/p1
を参考にしましょう。
あと
エラーメッセージは省略しないでください。
Re: データベースを使ったシステムは配布していいのか?
すいません。エラーコードはひとつとれたら、他もとれそうだったので省きました。
libファイルはできました。
やっぱり同じところで同じエラーがでます。
ソースコードは
エラー (アクティブ) E0020 識別子 "sqlite3_api" が定義されていません DxLi b_test c:\Users\DrawPixel.cpp 16
エラー C2065 'sqlite3_api': 定義されていない識別子です。 DxLi b_test c:\users\drawpixel.cpp 16
エラー C2227 '->open' : 左側がクラス、構造体、共用体、ジェネリック型へのポインターではありません。 DxLi b_test c:\users\drawpixel.cpp 16
エラー C2065 'sqlite3_api': 定義されていない識別子です。 DxLi b_test c:\users\drawpixel.cpp 25
エラー C2227 '->close' : 左側がクラス、構造体、共用体、ジェネリック型へのポインターではありません。 DxLi b_test c:\users\drawpixel.cpp 25
libファイルはできました。
やっぱり同じところで同じエラーがでます。
ソースコードは
#include "DxLib.h"
#include <vector>
using namespace std;
#include "c:\\SQLite\\\sqlite3.h"
#include "c:\\SQLite\\\sqlite3ext.h"
#pragma comment( lib, "c:\\SQLite\\SQLiteの導入.lib" )
void hoge()
{
const char* fileName = "mySQLiteDB";
sqlite3 *pDB = NULL;
// DBのオープン
int err;
err = sqlite3_open(fileName, &pDB);
if (err != SQLITE_OK) {
OutputDebugString("ERROR");
// エラー処理
return;
}
OutputDebugString("OPEN SUCCESS.\n");
// DBのクローズ
err = sqlite3_close(pDB);
if (err != SQLITE_OK) {
OutputDebugString("CLOSE ERR!\n");
// エラー処理
return;
}
OutputDebugString("CLOSE SUCCESS.\n");
}
エラー C2065 'sqlite3_api': 定義されていない識別子です。 DxLi b_test c:\users\drawpixel.cpp 16
エラー C2227 '->open' : 左側がクラス、構造体、共用体、ジェネリック型へのポインターではありません。 DxLi b_test c:\users\drawpixel.cpp 16
エラー C2065 'sqlite3_api': 定義されていない識別子です。 DxLi b_test c:\users\drawpixel.cpp 25
エラー C2227 '->close' : 左側がクラス、構造体、共用体、ジェネリック型へのポインターではありません。 DxLi b_test c:\users\drawpixel.cpp 25
Re: データベースを使ったシステムは配布していいのか?
>>>
エラー (アクティブ) E0020 識別子 "sqlite3_api" が定義されていません DxLi b_test c:\Users\DrawPixel.cpp 16
エラー C2065 'sqlite3_api': 定義されていない識別子です。 DxLi b_test c:\users\drawpixel.cpp 16
エラー C2227 '->open' : 左側がクラス、構造体、共用体、ジェネリック型へのポインターではありません。 DxLi b_test c:\users\drawpixel.cpp 16
エラー C2065 'sqlite3_api': 定義されていない識別子です。 DxLi b_test c:\users\drawpixel.cpp 25
エラー C2227 '->close' : 左側がクラス、構造体、共用体、ジェネリック型へのポインターではありません。 DxLi b_test c:\users\drawpixel.cpp 25
>>>
#9 の
c:\users\user\documents\visual studio 2017\source\dxli b_test_03_sqliteの導入\dxli b_test\drawpixel.cpp
このフォルダーはvs2017の標準的な場所ですが エラーのc:\users\drawpixel.cpp は普通ありえない場所です。
おかしいですね?。
(それに SQL データベースをゲームで使うというのもの大げさですし csv もみやぶられそうだしこのサイトで書いてあるようにバイナリー ファイルでいいのでは。---しかも補助として?---とは?)
エラー (アクティブ) E0020 識別子 "sqlite3_api" が定義されていません DxLi b_test c:\Users\DrawPixel.cpp 16
エラー C2065 'sqlite3_api': 定義されていない識別子です。 DxLi b_test c:\users\drawpixel.cpp 16
エラー C2227 '->open' : 左側がクラス、構造体、共用体、ジェネリック型へのポインターではありません。 DxLi b_test c:\users\drawpixel.cpp 16
エラー C2065 'sqlite3_api': 定義されていない識別子です。 DxLi b_test c:\users\drawpixel.cpp 25
エラー C2227 '->close' : 左側がクラス、構造体、共用体、ジェネリック型へのポインターではありません。 DxLi b_test c:\users\drawpixel.cpp 25
>>>
#9 の
c:\users\user\documents\visual studio 2017\source\dxli b_test_03_sqliteの導入\dxli b_test\drawpixel.cpp
このフォルダーはvs2017の標準的な場所ですが エラーのc:\users\drawpixel.cpp は普通ありえない場所です。
おかしいですね?。
(それに SQL データベースをゲームで使うというのもの大げさですし csv もみやぶられそうだしこのサイトで書いてあるようにバイナリー ファイルでいいのでは。---しかも補助として?---とは?)
Re: データベースを使ったシステムは配布していいのか?
Run-Time Loadable Extensions
で解説されているように、sqlite3ext.hはSQLiteの拡張ライブラリを作る時にincludeするもののようであり、
APIの呼び出しを拡張ライブラリ用に置き換えるコードが含まれているので、
普通のアプリケーションを作るには害になるようです。 を削除してみてください。
で解説されているように、sqlite3ext.hはSQLiteの拡張ライブラリを作る時にincludeするもののようであり、
APIの呼び出しを拡張ライブラリ用に置き換えるコードが含まれているので、
普通のアプリケーションを作るには害になるようです。 を削除してみてください。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: データベースを使ったシステムは配布していいのか?
>>みけCATさん
アドバイス通り、上のソースコードでコメントアウトしたらコンパイルエラーがなくなりました。
実行もできて、
デバックウィンドウにもOPEN SUCCESS. CLOSE SUCCESS が表示されました。
>>よもやまさん、みけCATさん
土台はできました。ありがとうございました。
アドバイス通り、上のソースコードでコメントアウトしたらコンパイルエラーがなくなりました。
実行もできて、
デバックウィンドウにもOPEN SUCCESS. CLOSE SUCCESS が表示されました。
>>よもやまさん、みけCATさん
土台はできました。ありがとうございました。