過去の桐井戸端BBS (桐ver.8)
20916 桐のテーブルを他のソフトから直接参照したい sintaryota 2003/06/17-13:01
桐のテーブルをMSアクセス、エクセルなどに取り込むことは可能でしょうか?

当然書き出し作業をすれば問題ないのですが、明示的に作業をせずに、
エクセルしか使えない上司に私のデータをリアルタイムで見せたいのですがどうでしょうか?
20920 Re:桐のテーブルを他のソフトから直接参照したい otake 2003/06/17-19:26
記事番号20916へのコメント
sintaryotaさん

ODBC接続が利用できる環境にデーターを置き、ともに参照して更新していれば利用する事ができると思います
例えば フリーのデーターベースMysqlとかPgsqlなどが使える環境にデーターを置いて
データーをodbc接続で利用して桐(外部接続)などで利用すればこの環境に居る人たちが利用できると思うのですが、
企業だとこんな事できませんね
システム管理者に聞かないとダメですねm(__)m

20922 Re:桐のテーブルを他のソフトから直接参照したい うにん 2003/06/17-19:43
記事番号20920へのコメント
以前Pgsqlに接続する実験したことあるんですが、ODBCだとすごく遅いんですよね…

桐がODBCサーバになれればいいんですがねえ。
特定の表だけでいいなら、データをEXCEL側に置くようにして桐から外部接続でなんとかできるのかな?

20929 Re:桐のテーブルを他のソフトから直接参照したい hidetake 2003/06/18-00:37
記事番号20922へのコメント
>以前Pgsqlに接続する実験したことあるんですが、ODBCだとすごく遅いんですよね…

確かに以前は遅かったです。 (^^;

今はどうかとやってみると,桐で全件抽出するともちろん遅いし
(桐は最初に全てのデータを全て自分自身で取り込む),Access でやってみても遅いようです。
(Access は表示する部分のみを抽出して表示する! 表示部分を変えれば再抽出が行われ新しいデータを取ってくる)

ちゃんと条件を指定して必要部分のみを取り出せば,それ程でも無いようではあります。 (^^;


あと,その昔に桐7で InterBase と PostgreSQL を試した時の印象です。 NIFTY にアップしたものですが・・・ 

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

47/347 QGB03466 hidetake 桐7と外部DB
(12) 98/12/08 11:24

桐7の外部DBは皆さん使われておりますでしょうか?

桐7の機能はともかく、外部DB接続を使って ACCESS や他のDBに対し、
桐の柔軟な機能を使ってデータの一括置換など使い道はあるのかなと思っておりましたが、
桐の外部DBってあまり使いやすいものでは無いようです。

第1、UNIQUE なプライマリキーや外部キーが外部DB側に作成してなければ参照のみで更新できないし、
開いた時点のデータが全てで、その後、最新のデータに更新したり、最新のデータで置換することもできない。
だからデータを共有している状態では使えない...
UNIQUE なキーに関しても ACCESS では自分で項目を指定できるし、桐はまだまだですね。

さて、そんな状況で桐の外部DBで、最近流行りの Linux 上の DB に接続してみました。

Oracle : Linux にはインストールしてあるけど Windows の client
(R8.0.5) ソフトを持っていないので接続できず.

Sybase : CD はあるが未だインストールしてない.
(11.0.3.3)

PostgreSQL : 接続可能.
(6.3.1) ただし、11万件程度の郵便番号データを全件一覧で出力しようとすると、
桐は全データを外部DBオープン時に全て読み込むので、開くだけで大変時間がかかる.
ACCESS でも開く時は桐ほどでは無くても遅いし、スクロールなど大変遅い.
やはり SQL サーバーに関しては条件抽出して作業しなければ実用的でない?

Interbase : VARCHAR(128) CHARACTER SET EUCJ_0208 の項目で何故か
(4.0G) 桐は「項目のデータ長が制限を越えています」のエラーを
吐きだし、この項目の読みだしは出来ないけれど、
これ以内の項目長であれば問題なし???
(同じ VARCHAR(128) でも PostgreSQL では問題なし)
あと、桐は PostgreSQL と同様に外部DBを開く時に時間がかかるので
PostgreSQL との違いはあまり感じられないが、
ACCESS では開く時も、11万件程度の郵便番号データの全件一覧出力でも何のストレスも無し.

実際に接続して試しているのはは、PostgreSQL と Interbase ですが、
この何れのDBに対しても、11万件の郵便データに対して置換をかけると、
桐内部での置換を終え、外部DBに対し更新をかけている最中、
約60%まで進んだところで「不正な処理」が発生し桐は死んでくれます。

しかし、Linux の繁栄のおかげで、バックエンド DB もいろいろな物が
簡単に試せたり選択することも可能になりました。
桐がモタモタしている間に DB の世界って、全く新しい環境や手法に進んで行くのかも知れませんね...

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

# MySQL も試してみた方が良いのかな? (^^;
# どうせインストールはしてあるので,
# 起動して少し設定すれば良い事ではある
# が!



20931 Re:桐のテーブルを他のソフトから直接参照したい hidetake 2003/06/18-00:56
記事番号20929へのコメント
>桐の外部DB & PostgreSQL


あと,桐の外部DB で気にくわないのは,

と言うか外部DB は気にくわない事だらけですが (;_;)

桐のデータを Web に公開するために,外部DB 経由で
PostgreSQL に桐からデータを書き出すのに,外部DB
経由で書き出すと,追加ができない事です。

まず,第1に桐側で主キーを設定していても,外部DBに書き出すテーブルには主キーが設定されないので
そのままではそのテーブルに桐で接続しても,桐からは更新する事ができません。
本来なら,バックエンド側の DB でテーブルを作成し
そのテーブルに対して,追加書き出しができれば良いのですが,
書き出す前に全件削除して,桐のテーブルを開いて外部DB で追加を指定して書き出しても,
全く新規にテーブルが作り直されてしまうのですよね・・・ (-_-;

これは相手が PostgreSQL だけでなく Access の MDBに対しても一緒だったと思いますが,
どう言う条件だと追加で書き出せるのか,私には理解できておりません。 (;_;)

それで,仕方なく,桐からもそのテーブルに接続して
更新がかけられるように,桐からデータを書き出したら
VBS 経由で,そのテーブルに Index をつけるようにしています。 (;_;)

--------------------------------------------------
Dim obj,rs
Set obj = Wscript.CreateObject("ADODB.Connection")
obj.Open "DSN=PostgreSQL"
SQLQuery = "create unique index reikai_pkey on reikai(""id"")"
rs = obj.Execute(SQLQuery)
SQLQuery = "VACUUM FULL"
rs = obj.Execute(SQLQuery)
Set obj = Nothing
WScript.Quit
--------------------------------------------------

まぁ〜,外部DB は実際に使おうとするといろいろあります。 ヽ(;´o`)丿


20932 Re:桐ワークシートクエリーでは駄目ですか 山田 2003/06/18-01:39
記事番号20916へのコメント
あのーー
 v9では桐ワークシートクエリーという ユーテリテイがあり、
これをインストールするとエクセルから直接桐の表を読み込めますが、
これでは駄目なのlでしょうか。
はずしていたらごめんなさい。

20935 Re:桐のテーブルを他のソフトから直接参照したい うにん 2003/06/18-14:28
記事番号20931へのコメント
>本来なら,バックエンド側の DB でテーブルを作成し
>そのテーブルに対して,追加書き出しができれば良い
>のですが,書き出す前に全件削除して,桐のテーブル
>を開いて外部DB で追加を指定して書き出しても,全く
>新規にテーブルが作り直されてしまうのですよね・・・ (-_-;

桐9SP1でも変わってないみたいですね。DBの定義が変わってしまいとても困ります。

文字列型のカラム長をSJISのバイト数で計算してるので、
以前はPGSQLのDBがEUCだと半角カタカナのある文字列が尻切れになったりしてましたが、
PGSQLの方がバイト数でなく文字数に解釈するようになったのでこの問題は解決したようです。

あ〜、追加書き出しすると入りきらない文字列が出てくる可能性があるので、
できなくしてるのかな???
追加を指定できないなら納得しますけどねえ。
20936 Re:桐のテーブルを他のソフトから直接参照したい hidetake 2003/06/18-15:25
記事番号20935へのコメント
>桐9SP1でも変わってないみたいですね。DBの定義が変わってしまい
>とても困ります。

そうなのです。

明らかに桐用に作ったテーブルならともかく
他のシステムで使っているテーブルに間違って
追加できると思って書き出してしまうと・・・

とても怖いです。 (;_;)


それと,桐と外部DB の関係では,桐は Null と
長さ 0 の文字列を区別できないし,Null を扱う事ができないので,
これまた思うようにならない事も多くあります。 (;_;)

せめて外部DB では #u (#未定義) と "" は区別して処理して(SQL文を書いて)欲しいです。


あと,いろいろあるけど,桐自身で面倒な事に対処(手をかけられない?なら)できないなら,
せめて,桐からパススルークエリ(SQL実行コマンド)で,
自由にクエリを投げかけられるようにして欲しいです。



20937 Re:桐のテーブルを他のソフトから直接参照したい hidetake 2003/06/18-16:07
記事番号20936へのコメント
>それと,桐と外部DB の関係では,桐は Null と
>長さ 0 の文字列を区別できないし,Null を
>扱う事ができないので,これまた思うように
>ならない事も多くあります。 (;_;)

ついでに桐9になって(SP1も)発生したバグも書いておきます。 (^^;

バックエンドのサーバ側で Null値を許容しない
テーブルの項目に対し,桐側で "" もしくは
#u で置換をかけた場合,桐8 では直ぐにエラーが発生して動いてくれませんが,
桐9 は1度は何も無く通ってしまいます。 (@_@;

もちろんデータそのものに変更があるわけではなく,
データの表示もそのままなのですが,
エラーの表示も何もなく,カーソルは終端行に行ってしまいます。
これを再度やろうとすると,今度は正常に?
エラーが発生してくれます。 :-)


20955 Re:桐ワークシートクエリーでは駄目ですか sintaryota 2003/06/19-16:59
記事番号20932へのコメント
私が、webを頻繁にみれない環境なのに、
皆さんからメッセージいただきありがとうございました。

まず
> v9では桐ワークシートクエリーという ユーテリテイがあり、
>これをインストールするとエクセルから直接桐の表を読み込めますが、
>これでは駄目なのlでしょうか。
>はずしていたらごめんなさい。
最終的にはaccessでやりたいのですが、エクセルでもできれば、いいなと思います。
しかし、残念なことにver8なのでした。
いつか、お金が貯まったら購入して、試したいと思います。
ありがとうございました。
でも、accessのODBCドライバみたいなのがありますよ、
なんてのを厚かましくも考えていたのですが、どうもなさそうですね。
今でもそんなドライバがあってよさそう、とも思うのですが、ない方が不思議ですね。
OLEみたいに、必須になればいいのになあと思います。



20957 Re:桐のテーブルを他のソフトから直接参照したい sintaryota 2003/06/19-17:14
記事番号20920へのコメント
私が質問したのに、なかなかお礼を言う機会もなくて大変気の毒に思います。
接続がなかなかできない状況にあるものですから、ご容赦願いたいと思います。
>ODBC接続が利用できる環境にデーターを置き、ともに参照して更新していれば
>利用する事ができると思います
>例えば フリーのデーターベースMysqlとかPgsqlなどが使える環境にデーターを置いて
>データーをodbc接続で利用して桐(外部接続)などで利用すればこの環境に居る人たち
>が利用できると思うのですが、企業だとこんな事できませんね
>システム管理者に聞かないとダメですねm(__)m
linuxも少し使うのですが、データーベースソフトとなるとさっぱり仕組みもよくわからなくなります。
インターフェイスがないので、というのが理由なのですが・・・・
ちょっと僕のレベルでは難しいようです。
accessデーターはodbc経由で確かに僕の技術でもなんとか可能です。貴殿やほかの皆様のご指摘のとおり、
使いやすさには、かなり無理のあるものではありますが・・・・
 ただ、今回、既にできあがっているデーターをaccessのフォームなどで動かしたいものですから、
どうしても、桐のODBCドライバ(と呼んでいいものか?)があればなあ、と思ってしまうのです。
 ただ、ないものねだりのようですね。
 変な質問で申し訳ありませんでした。
 
最後に、
 MYSQL、postgleはwin版もあるんですね。今回初めてしりました。

戻る