ORDAってバージョン違いだと接続できないんですね
2 posters
Re: ORDAってバージョン違いだと接続できないんですね
Open datastoreコマンドでしょうか。
https://doc.4d.com/4Dv18/4D/18.4/Open-datastore.301-5234036.ja.html
差し支えなければ
をお知らせいただけないでしょうか。
https://doc.4d.com/4Dv18/4D/18.4/Open-datastore.301-5234036.ja.html
差し支えなければ
- 使用したバージョン(サーバーおよびクライアント)
- 使用したコマンドとパラメーター
をお知らせいただけないでしょうか。
miyako- 投稿数 : 469
登録日 : 2016/07/05
Re: ORDAってバージョン違いだと接続できないんですね
そうです。本来はつながるんでしょうか。miyako wrote:Open datastoreコマンドでしょうか。
https://doc.4d.com/4Dv18/4D/18.4/Open-datastore.301-5234036.ja.html
差し支えなければ
- 使用したバージョン(サーバーおよびクライアント)
- 使用したコマンドとパラメーター
をお知らせいただけないでしょうか。
4Dフォーマットのインポート/エクスポート機能を使って移行しようとしたのですがオブジェクトフィールドが含まれるテーブルの場合いろいろ怪しいのでORDAで取り込むことにしたのですが
状況としてはv18のサーバーに対して、v19で接続しました。エラーが出たのでダメなんだと思ってv18で接続し直したら素直に繋がったのでできないんだとばかり思ってました。
ストラクチャは全て同じものです。違いがあるとすればv18はバイナリーモードでv19はプロジェクトモードです。
処理コードは一切手をつけていないので同じメソッドです。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: ORDAってバージョン違いだと接続できないんですね
返答いただきありがとうございました。
v19がリリースされ,Open datastoreをサポートするLTSバージョンが複数になった今,SQL・SOAP・4D Openがそうだったように,ORDAもバージョンを超えた通信にORDAを使用したいというのは,もっともな話だと思います。開発部に問い合わせていますので,少々,お待ちください。
データストアについていえば,.startRequestLog()でログが記録できるので,何かの手がかりが得られるかもしれません(v18とv19では違うAPIが呼ばれているなど)。
あるいは,このページで言及されている.makeSelectionsAlterable()で18 R4以前の振る舞い(デフォルトで共有エンティティセレクションを返さない)にすれば良いのでしょうか・・・接続ができれば,ですが。
ちなみにこのコマンドは一方通行(昔に戻す)のもので,原則的に一度しか使用できないものですが,値「43(53という資料もあり)」で強引にリセットできる,という資料がありました。ドキュメントサイトに公開されていないメンバー関数なので,この点についても確認中です。
v19がリリースされ,Open datastoreをサポートするLTSバージョンが複数になった今,SQL・SOAP・4D Openがそうだったように,ORDAもバージョンを超えた通信にORDAを使用したいというのは,もっともな話だと思います。開発部に問い合わせていますので,少々,お待ちください。
データストアについていえば,.startRequestLog()でログが記録できるので,何かの手がかりが得られるかもしれません(v18とv19では違うAPIが呼ばれているなど)。
あるいは,このページで言及されている.makeSelectionsAlterable()で18 R4以前の振る舞い(デフォルトで共有エンティティセレクションを返さない)にすれば良いのでしょうか・・・接続ができれば,ですが。
ちなみにこのコマンドは一方通行(昔に戻す)のもので,原則的に一度しか使用できないものですが,値「43(53という資料もあり)」で強引にリセットできる,という資料がありました。ドキュメントサイトに公開されていないメンバー関数なので,この点についても確認中です。
miyako- 投稿数 : 469
登録日 : 2016/07/05
Re: ORDAってバージョン違いだと接続できないんですね
https://doc.4d.com/4Dv19/4D/19/dataStoremakeSelectionsAlterable.305-5392032.ja.html
v19のORDAにおいて「以前の振る舞いを即座に取り戻す」コマンドは,ドキュメントのリンクが間違っていただけでした。
別バージョン同士のORDA接続についてですが「クライアント/サーバーに準じるものなので,原則的にサポートされていない」という回答でした。
v19のORDAにおいて「以前の振る舞いを即座に取り戻す」コマンドは,ドキュメントのリンクが間違っていただけでした。
別バージョン同士のORDA接続についてですが「クライアント/サーバーに準じるものなので,原則的にサポートされていない」という回答でした。
miyako- 投稿数 : 469
登録日 : 2016/07/05
Re: ORDAってバージョン違いだと接続できないんですね
4D Openは出来ていたのにしかたないですね。技術的な問題ではなくライセンス的な問題という事ですね。miyako wrote:https://doc.4d.com/4Dv19/4D/19/dataStoremakeSelectionsAlterable.305-5392032.ja.html
v19のORDAにおいて「以前の振る舞いを即座に取り戻す」コマンドは,ドキュメントのリンクが間違っていただけでした。
別バージョン同士のORDA接続についてですが「クライアント/サーバーに準じるものなので,原則的にサポートされていない」という回答でした。
SQLでするしかない様ですがSQLは日本語のテーブル名・フィールド名が使えないんですよね〜
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: ORDAってバージョン違いだと接続できないんですね
Begin SQL
CREATE VIEW event AS SELECT * FROM [イベント];
End SQL
はいかがでしょうか
CREATE VIEW event AS SELECT * FROM [イベント];
End SQL
はいかがでしょうか
miyako- 投稿数 : 469
登録日 : 2016/07/05
Re: ORDAってバージョン違いだと接続できないんですね
普通にエラーがでます。もしかして宮古さんのところではエラーが出ていない。のでしょうか。miyako wrote:Begin SQL
CREATE VIEW event AS SELECT * FROM [イベント];
End SQL
はいかがでしょうか
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: ORDAってバージョン違いだと接続できないんですね
すみません。エラーの原因は別でしたフィールドにオブジェクト型があったのでそちらでエラーになっていたみたいです。
と言うことは日本語名はエスケープするとビューを作成しなくてもアクセス可能なのでしょうか。
もう少しテストしてみます。
と言うことは日本語名はエスケープするとビューを作成しなくてもアクセス可能なのでしょうか。
もう少しテストしてみます。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: ORDAってバージョン違いだと接続できないんですね
フィールドのオブジェクト型でエラーになった件なのですが、
確か新しいバージョンではオブジェクト型に対応していたと思うのですが
この記述でオブジェクト型でエラーになるのは正しくないのではないでしょうか。
確か新しいバージョンではオブジェクト型に対応していたと思うのですが
この記述でオブジェクト型でエラーになるのは正しくないのではないでしょうか。
- Code:
Begin SQL
CREATE VIEW event AS SELECT * FROM [イベント];
End SQL
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: ORDAってバージョン違いだと接続できないんですね
4D SQLでテーブルをエスケープすると,通常と同じ[テーブル]になりますが,気をつけないといけないのはフィールドで
[フィールド]
または
[テーブル].[フィールド]
となります。
[フィールド]
または
[テーブル].[フィールド]
となります。
miyako- 投稿数 : 469
登録日 : 2016/07/05
Re: ORDAってバージョン違いだと接続できないんですね
なるほど。参考になります。miyako wrote:4D SQLでテーブルをエスケープすると,通常と同じ[テーブル]になりますが,気をつけないといけないのはフィールドで
[フィールド]
または
[テーブル].[フィールド]
となります。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: ORDAってバージョン違いだと接続できないんですね
SQLのオブジェクト型フィールド対応ですが,以下のように計画があります。
第一段階
値を読む(v17 R5)
CASTはJSON文字列を返す
オブジェクト内のピクチャは[object Picture]という文字列
再帰的な参照は[circular]という文字列
例:
クエリができるわけではない
第二段階
バージョン未定
第三段階
バージョン未定
第一段階
値を読む(v17 R5)
- Code:
SELECT * FROM Table
- オブジェクト型フィールドの存在で上記が阻止されないように
- ODBC Driver経由でオブジェクト型フィールドを読む場合,VARCHARにCASTできるように
- 内部SQLでオブジェクト型フィールドを読む場合,C_OBJECT/ARRAY OBJECT/オブジェクト型フィールドで受け取れるように
- システムテーブルでオブジェクト型フィールドが参照できるように
CASTはJSON文字列を返す
オブジェクト内のピクチャは[object Picture]という文字列
再帰的な参照は[circular]という文字列
例:
- Code:
C_OBJECT($object)
C_TEXT($objectAsText)
ARRAY OBJECT($arrayObj;0)
ARRAY OBJECT($arrayObj2;0)
Begin SQL
SELECT objField FROM TableWithObject WHERE ID = 2 into :$object;
select objField, objField2 FROM TableWithObject INTO :$arrayObj, :$arrayObj2;
SELECT CAST (objField as VARCHAR) FROM TableWithObject WHERE ID = 2 into :$objectAsText;
End SQL
クエリができるわけではない
- 無理な例
- Code:
SELECT objField.textProperty FROM Table WHERE ID = 2 into :vText
第二段階
バージョン未定
- SQLでオブジェクト型フィールドを作成できるように
第三段階
バージョン未定
- SQLでオブジェクト型フィールドを更新できるように
miyako- 投稿数 : 469
登録日 : 2016/07/05
Re: ORDAってバージョン違いだと接続できないんですね
日本語の4Dのテーブル/フィールドがアクセスできる事がわかったので
ODBC経由でExcelから参照しようとしたのですが、テーブルは見えているのですがフィールドが見えません。
エラーになります。なにか設定が必要でしょうか。
ODBC経由でExcelから参照しようとしたのですが、テーブルは見えているのですがフィールドが見えません。
エラーになります。なにか設定が必要でしょうか。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: ORDAってバージョン違いだと接続できないんですね
テーブル/フィールドが英語でもアクセスできないですね。ODBCのおCompatibiltyのMSAccessにチェックをいれてもダメみたいです。hosaka wrote:日本語の4Dのテーブル/フィールドがアクセスできる事がわかったので
ODBC経由でExcelから参照しようとしたのですが、テーブルは見えているのですがフィールドが見えません。
エラーになります。なにか設定が必要でしょうか。
これはODBCドライバ側の問題でしょうか。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: ORDAってバージョン違いだと接続できないんですね
ODBCドライバーのバージョンはv19またはv18でしょうか(v19でv18に接続することができます)。
オブジェクト型フィールドはバイナリデータとしてドライバーに渡されます。


オブジェクト型フィールドはバイナリデータとしてドライバーに渡されます。
miyako- 投稿数 : 469
登録日 : 2016/07/05
Re: ORDAってバージョン違いだと接続できないんですね
計画は計画ですからね〜。バージョンも決まっていないので生温かく見守ってます。miyako wrote:SQLのオブジェクト型フィールド対応ですが,以下のように計画があります。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Permissions in this forum:
返信投稿: 不可
|
|