• 締切済み

■SybaseASE for Linux(無償提供版) にODBC接続

はじめまして、FJHISといいます。 このたび、フリーのSybaseASE11.0.3 for Linuxを使用して、 ちょっとしたシステムを作ることになりました。 (ポリシーとして、なるべく無償アプリで構築) ■実現したい機能 Linux上にEUCで(訳あって、sjisでなく)DBを構築しまして、 それに対し、WindowsクライアントからMS-Accessを使用して ODBC経由でメンテナンスします。 ■現状 実現に向けてSybaseASE用ODBCドライバを探したのですが見つからず、 もしやと思い、MS-SQL-Serverを使用したところつながりました。 ところがDBをEUCで構築してるため文字化けします(当然)。 どなたか、これらについて詳しい方からなにかしらアドバイスを いただければ幸いです。 よろしくお願いします。

  • fjhis
  • お礼率50% (1/2)

みんなの回答

  • arata
  • ベストアンサー率49% (139/279)
回答No.2

解決できるかどうかわかりませんが、 Windowsクライアント用のODBCドライバはSybase ASE for Linux SDKに付属しているようです。 詳細は、下記のURLへ

参考URL:
http://linux.sybase.co.jp/ase/1192/sdk/index.html,http://www.geocities.co.jp/SiliconValley-PaloAlto/5349/
  • maro
  • ベストアンサー率47% (95/199)
回答No.1

回答にはなりませんが、PostgreSQLでしたらWeb上での動作も、ODBCを介してMS-Accessでの動作も全く問題ありません。 PostgreSQLも内部はEUCで処理されていますが、ODBCのドライバを日本語対応のものにすると文字化けすることなく日本語を処理できます。 PostgreSQLのページ http://www.postgresql.org/index.html

参考URL:
http://www.interwiz.koganei.tokyo.jp/software/PsqlODBC/index.html
fjhis
質問者

お礼

はじめまして、maroさん。回答ありがとうございます。 PostgresSQLの日本語ODBCドライバは、おそらく内部でEUCからSJISに文字コード変換をしているものと思われます。(違うかも) ところが、MS-SQL-ServerのODBCドライバはその文字コードを変換する機能がないようです。(Winodwsのみで使用される前提ですから‥) また、いろいろと調査してみます。ありがとうございました。

関連するQ&A

  • ODBC接続で全角文字が文字化け

    MySQL⇒MS-ACCESSのODBC接続で文字化けが発生してます。 ■MySQL 5.0.27 ■MyODBC 3.51.19 ■MS-ACCESS 2000 (Windows2000) ○my.cnfの設定 [mysqld] skip-character-set-client-handshake [mysqld_safe] skip-character-set-client-handshake [ODBC] default-character-set=sjis [client] default-character-set=sjis ○status Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 ▽試したこと ・Initial Statement に set names 'sjis' を設定 ・Character Set sjis、ujis、latin1 それぞれを指定 半角文字は大丈夫ですが、全角文字になると「??????????」と表示されています。 MySQL+PHPでは問題なく使えます。 解決方法分かる方アドバイスお願い致します。

    • ベストアンサー
    • MySQL
  • MYSQLへODBC接続すると文字化けになります。

    ODBCを介してMS-ACCESS2003からMYSQLへ接続はできるのですが、文字化けしてしまいます。 ですのでinitial statementに、 『set names sjis』或いは、『set character set sjis』と入力するのですが、今度は接続ができなくなります・・・。 エラー内容は『Request returned with SQL_ERROR.』です。 そしてinitial statementを空にすると文字化けに・・・。 自分のPC:windowsXP ODBCドライバ:MYSQL ODBC 3.51.12 MYSQLのバージョン:3.23.58 サーバー文字コード:utf8 ポート:3306 my.cnfファイルはいじれる状況なので必要があれば修正します。 ちなみに[musqld]に set-character-set-sjis、defalt-set-sjis等追加し、リブートしても何も変化無しです。サーバー側の設定らしいのでとりあえずやってみた程度ですが。 どなたかアドバイス頂けたら幸いです。 よろしくお願いします。

  • MySQL/DBサーバって、MySQL/DBクライアントみたいなものりますか?

    Linux+Apache+MySQLでサイト構築を検討しています。 MySQL/DBって、ORACLE8で言うところの、 いわゆる「Net8クライアント」のようなものってあります? 実は、今まで、NT+MS-SQLServer7でサイト構築してたのですが、 Linuxで再構築することとなっちゃいました。 で、MS-SQLServer7だったら、クライアントPCから、 GUIを使って、データベースのデータを簡単に変更することができます。 しかし、LinuxではMS-SQLServerは使えないので、じゃぁ、ORACLEって手もありますね。 そこで、ORACLEだったら、Net8があるので、多分、 上記のような使い方もできると思うのですが、 ORACLEは、導入コストが高すぎるので、却下されてしまいました。 で、Linux+MySQLにしようかと・・・。 しかし、サーバ機にLinux+MySQL/DBを構築するのはいいのですが、 Windowsなどのクライアントから、ORACLEでいうNet8でODBCのような接続で、 Microsoft-Accessなどを使って、データベースのデータを編集させたいんです。 よろしくお願いします!

  • PHPに組み込まずにiconvを使用する方法はありませんか?

    PHPに組み込まずにiconvを使用する方法はありませんか? 製品版のカスタマイズで、Linux上のPHPからWindows上のSQL-Server2005にデータを登録するシステムを作成しています。 ・環境   RHEL4.7   PHP4.4.7(文字コードは全てUTF-8)   Windows2003Server   SQL-Server2005 mbstringを使用して、文字コードをUTF-8からSJIS-winに変換してDBに登録し、DBから取得した値をSJIS-winからUTF-8に変換して画面に表示しているのですが、画面表示で文字化けします。 (mssqlを使用してDB接続しています) DBから取得した値の文字コードをmb_detect_encodingで確認すると、SJIS-winと出るのですが、mb_convert_encodingでSJIS-winからUTF-8へ変換しても文字化けします。 (チェック順は「UTF-8,SJIS-win,EUC-JP」です) mbstringではなくiconvを使用するサンプルを作成したら、文字化けしなかったので、iconvを使用したいのですが、iconvは製品版のPHPに組み込まれていない(Configureで指定していない)ので、使用できません。 製品版のPHPはリビルドできないので、PHPに組み込まない状態でiconvを使用する方法を探しています。 FreeTDSにiconvを組み込み、FreeTDS+unixODBC+pearでODBC接続する方法は、PHPにODBCが組み込まれていないので、できませんでした。。 他に何か思いつく方法がありましたら教えてください。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • デフォルトのCLIENT_ENCODINGを変更したい

    データベース、またはPostgresql本体の CLIENT_ENCODING のデフォルトを設定するにはどうしたらよいでしょうか。 ご存知の方いらっしゃいましたら教えてください。 【現状】 Linux機にインストールしたPostgresqlのCLIENT_ENCODINGをSJISにしたいのですが、DBにconnectする毎に SET CLIENT_ENCODING 'SJIS'; することで対処していますが、出来ればソフト側ではなくDB側の設定で対処したいと考えています。 ■ デフォルト設定のWindowsとLinuxの差異 Windows:  サーバ:euc  CLIENT_ENCODING:sjis ※ Linux[centos4]:  サーバ:euc  CLIENT_ENCODING:euc ※ Windowsと同じ設定になるようにしたいです。   またはCREATEDBのオプションとかでそういうのがあると良いのですが。 PostgreSQLのversion:8.1.5

  • ODBC接続ができない

    初めて質問する初級者です。 現在、DBにPostgreSQLを使って、クライアント側を Windowsアプリケーションにしようと思って、VB.NET (2003)でつくり始めたところです。PostgreSQLの接 続については、既に日本語ODBCドライバを使って Accessとの接続は確認済みで、安心していたのです が、今日VB.NETでODBCのクラスを作ろうと思い、 やってみているのですが、うまくいきません。 具体的に説明すると、「サーバーエクスプローラー」から「データ接続」の「接続の追加」を行い、 「Microsoft OLE DB Provider for ODBC Driver」を 選択して、既にAccessで確認済みのデータソースを 選んで接続してみました。ダイアログの中にある 「接続のテスト」ボタンをクリックすると、 「接続しました」と出てくるのですが、その「データ リンクプロパティ」を登録しようとすると、サーバー エクスプローラーに追加できません。エラーメッセージには、SQLサーバーかAccessしか登録できないような 文面でした。どなたかご指導下さい。よろしくお願いします。

  • Microsoft ODBC Driver for Oracle について

    MS-AccessをクライアントとしてOracleとODBC接続(DAO使用)を行っています。 1)パススルークエリを使用してレコードセットを取得 2)レコードセット内の値をローカルテーブル(AccessMDB)へ登録 という動作をさせているのですが、Microsoft ODBC Driver for Oracle(2.575.1117.00)を使用した場合、1)で取得したレコード(208レコード)のうち、10レコードしか2)の動作で登録してくれません。 これはどうしてなのでしょうか? ちなみに、ODBCドライバをOracle ODBC Driver(10.1.0.1.0)にすると正常に動作します。ODBC接続を使用したときのロックの動作でOracle製のものは正常に動作しませんでしたので、MS製のものを使用しようと検討しています。 解決策、現象について、ご教授お願いいたします。

  • LINUXからMS SQL Serverに接続する方法は?

     仕事上でLinux RedHat73からPHPを使い、別サーバのMS SQL(Windows)に接続したいのですが、方法が分かりません。  最初はODBCを介して接続しようとしていたのですが、その為のODBCが見つからない為難航しています。

  • VBからのODBC接続でSQLエラー

    DBバージョン:MySQL5 ODBCバージョン:ODBC3.51 言語:VB2003 を利用し VBからSQLを発行した際、1バイト文字の場合は問題はなく SQL文内に日本語を含むとハンドルされていない旨のシステムエラーが出てしまいます SQLAdminからStatusコマンドDBのキャラクタセット情報を確認してもSJISとして設定されており またコンソールから直接SQL文を打ち込んでも正常に動作いたします My.iniファイルも文字コードはSJISに置き換えてあり 何が原因かつかめません *VBコード Dim MyConString As String Dim MyConnection As OdbcConnection Dim strSQL As String Dim myOdbcCommand As OdbcCommand Dim iRet As String MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" + _ "SERVER=localhost;" + _ "PORT=3306;" + _ "DATABASE=kanri_db;" + _ "UID=xxxx;" + _ "PASSWORD=xxxx;" + _ "OPTION=3;" + _ "CHARSETENCODING=sjis" 'Connection MyConnection = New OdbcConnection(MyConString) 'myConn.Open() MyConnection.Open() Console.WriteLine("Connection State::" & MyConnection.State.ToString) 'SQL strSQL = "select csv_subitem from tbl_readtempcsv where csv_subitem='ワークグループ';" myOdbcCommand = MyConnection.CreateCommand myOdbcCommand = New OdbcCommand myOdbcCommand.Connection = MyConnection myOdbcCommand.CommandType = CommandType.Text myOdbcCommand.CommandText = strSQL iRet = myOdbcCommand.ExecuteNonQuery どなたかご教示いただけないでしょうか 宜しくお願いいたします

    • ベストアンサー
    • MySQL
  • IBM UDB2をMS-ACCESS97で利用するには?

    IBMのUDB2をDBMSとしたC/Sシステムを構築しようとしていますが、クライアントPCのACCESS97から利用する場合、ODBC接続すればよいと思うのですが、その場合、クライアントPCにDB2のクライアントソフトのようなものが必要になるのでしょうか? SQL-SERVERの場合、ODBCの設定のみで特別なソフトは必要無いと思いますが、DB2の場合はどうなのでしょうか?