JMP 17からJMP 18にアップグレードした後、ODBC接続が機能しないJMP 17からJMP 18にアップグレードした後、ODBC接続が機能しなくなりました。JMP 17では、Open Database()関数やNew SQL Query()関数に埋め込まれた様々なSQLクエリでODBC接続が使用され、Google BigQueryからデータが取得されていました。接続方法によって、表示されるエラーメッセージが若干異なります。
Open Database()、ログからのエラー メッセージ:

新しいSQLクエリ():
このウィンドウでは Windows ユーザー ID とパスワードは機能しません。

データベース接続を作成するには、> ファイル > データベースを開く > 新しい接続 > サインイン:

新しいDSNを一から作成してみましたが、これもうまくいきませんでした。ODBCは最新バージョンではありません。IT部門がバグの可能性を考慮して使用できるバージョンを制限しているからです。JMP 17でODBC接続が機能していたのであれば、JMP 18でも機能するはずだと考えるのは間違いでしょうか?
データアクセスRe: JMP 17からJMP 18にアップグレード後、ODBC接続が機能しないあなたは間違っていません。
具体的には、JMP 17 と JMP 18 のどのバージョンを使用していますか?
これはバグです。テクニカルサポートにご連絡いただければ、問題を追跡することができます。
libcurl update をソースからコンパイルした経験から、ビルド時のコマンドに変更は加えられていないと確信しています。デフォルトのビルドオプションに変更があったかどうかを確認するには、curl の変更リストを確認する必要があります。
Re: JMP 17からJMP 18にアップグレード後、ODBC接続が機能しないWindows ODBC マネージャーに接続できますか?
スクリーンショットに表示されているのは、ドライバーが提供する認証ダイアログです。
Re: JMP 17からJMP 18にアップグレード後、ODBC接続が機能しない@Paul_Nelson さん、ありがとうございます。JMPのバージョンは17.2.0と18.2.0で、Windows 11 Enterpriseで実行しています。テクニカルサポートに連絡し、ケース番号TS-00201379を付けてこの質問を更新しました。
@bryan_boone さん、はい、ODBCマネージャーで接続できます(下のスクリーンショット)。おっしゃる通り、JMP 17では期待通りに接続できましたが、JMP 18では接続できませんでした。
接続のテスト:

サインイン後のトークンの更新:

Re: JMP 17からJMP 18にアップグレード後、ODBC接続が機能しない@Paul_Nelsonこれは JMP の libcurl ではなく、ODBC ドライバー内のものです。
エラー メッセージは JMP ではなくドライバーから出力されます。
JMP 17 の接続は JMP 18 でも機能するはずです。
JMP 18 では JMP 17 では行われず、最初の接続からの接続文字列を使用して追加の接続を作成する(または必要に応じて切断して再接続する)という機能があります。ドライバーが(仕様に従って)完全な接続文字列を返さない場合、後続の接続は失敗します。これが、お客様が目にしている現象かもしれません。
Re: JMP 17からJMP 18にアップグレード後、ODBC接続が機能しないブライアン・ブーン 、よく分かりません。
- JMP 17 の接続が JMP 18 でも機能するはずなのに、なぜ表示が変わるのでしょうか?
- 新しいDSNを一から作成して設定し、 「ファイル」>「データベースを開く」>「新しい接続」>「サインイン」からデータベース接続を作成してJMPをGoogle BigQueryに接続しようとしましたが、うまくいきませんでした。JMP 14以降、この方法を何度も試しましたが、JMP 18になってから初めてこの方法がうまくいかなくなりました。なぜでしょうか?
次のステップとして、どのような手順をお勧めしますか? たとえば、ODBC ドライバーのバージョンを強制的に上げるなどでしょうか?
Re: JMP 17からJMP 18にアップグレード後、ODBC接続が機能しないブライアン・ブーン @Paul_Nelson @Dahlia_Watkins 、最新の Google BigQuery ドライバー3.1.2.1004にアップグレードしました。変化はありません。
以下にドキュメント用のスクリーンショットをいくつか示します。
- JMP 17 左 vs JMP 18 右
- どちらも、JSL の「New SQL Query()」を介して Google BigQuery からデータを取得するのに役立つ、社内の「ビュー オープナー」アドインを使用してテストされました。
- 中央はODBCドライバの更新の証拠
JMP 18でデータベースにログインするのに何が必要なのか分かりません。社内ユーザー認証情報だけでは明らかに不十分です。他に何が必要なのでしょうか?

「データ ソースの変更... > 新しい接続 > マシン データ ソース > ユーザー DSN を選択 > OK で確認」の順にクリックすると、以下の JMP アラートが表示されます。

Re: JMP 17からJMP 18にアップグレード後、ODBC接続が機能しないここでそのセットアップを実行しました。
ドライバーは、ODBC 仕様の SQLDriverConnect 関数に準拠していません。
具体的には、接続が成功しても完了した接続文字列が返されません。
私はテクニカルサポートと協力し、データコネクタ(ドライバーの非準拠部分を通過するため)とドライバーの以前のバージョン(ドライバーのlibcurlエラーを通過するため)を使用した18の解決策があります。
すべての詳細を知りたい場合は、彼らに連絡してください。
Re: JMP 17からJMP 18にアップグレード後、ODBC接続が機能しない@bryan_boone さん、ありがとうございます。Google BigQuery用のSimba ODBCドライバーを下位バージョン(3.0.2.1005、 ドライバーアーカイブへのリンク)にダウングレードしたところ、JMP 18を使ってGoogle BigQueryデータウェアハウスに接続できるようになりました。 @Dahlia_Watkinsさんのご支援と解決策の特定に大変感謝しています。
この回答を解決策として受け入れてこの問題を閉じる前に、ここですでに言及されているもの以外に、Simba / Google 側のサポート ケースを通じて通知する必要がある、または通知できるものはありますか?
Re: JMP 17からJMP 18にアップグレード後、ODBC接続が機能しないドライバーをダウングレードすると、発生した libcurl の問題に影響が出る可能性があります。
SQLDriverConnect の場合、完了した接続文字列には DSN=MyBigQuery (MyBigQuery は ODBC マネージャーで定義されています)のように DSN のみが含まれていました。ODBC 仕様では、これは完了した接続文字列である必要があると規定されています。つまり、返された接続文字列にはすべての情報が含まれているため、その文字列のみを使用して別の接続を作成できます。
最後に、完成した接続文字列では、接続に使用したカタログ(CATALOG=)が省略されています。これは、ドライバの接続設定が構成時に保存されるWindowsレジストリなどで確認できます。
Re: JMP 17からJMP 18にアップグレード後、ODBC接続が機能しないこのJMP Note 872545 を経験しているユーザーに役立つ JMP Note を作成しました。
Cc: @レッセル