問題タブ [sqlanywhere]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wcf-ria-services - ASEサーバーから読み取るためのSQLAnywhereの設定
ASEiSqlで完全に接続できるSybaseASEサーバーがあります。私のsql.iniファイルのデータベース定義は次のようになります。
iSqlに接続するには、次のコマンドライン呼び出しを行うことができます。これは機能します。
私の最終的な目標は、SQLAnywhereのADO.NetEntityFramework接続を作成中のRIAサービスに使用することです。VisualStudioではなくSybaseCentralを介してSQLAnywhereを使用して接続しようとしていますが、動作させることができません。[ID]タブで、クレデンシャルにとを使用し、下半分を[なし]のままにします。[データベース]タブでサーバー名を指定し、[ネットワーク]で[TCP / IP]をオンにして、ホストとして指定します。そして港として。次のエラーが発生します。
重要な詳細を省略してしまった場合は、事前に申し訳ありません。私はSybaseを初めて使用し、厳密にOracleのバックグラウンドを持っています。知っておくべきことを忘れてしまった場合は、コメントを投稿してください。質問を更新します。Sybasenewbを支援していただきありがとうございます。
sql - データベースから最後の子を取得します
私の状況:
ルートにはParent_Idnullがあり、子にはその父親のIdがあります。
私は単純に、すべての表Aの最後のすべての子を取得したいと思っています。私が望まない父と子。(最後のものを除く)。
これを取得するためのSQLを構築することは可能ですか?
PS:私はどこでもSQLを使用しています。11。おそらく、ansi sqlでこれを解決できるかもしれませんが、よくわかりません。
編集:(追加の詳細を提供するために編集)要素の最後の子は必要ありません。
例:
Id1親NULL
Id2親1
Id 3(最後の子)親1
ID4親NULL
Id 5(最後の子)親4
取得したい:Id 3 Id 5
synchronization - 本番 Oracle DB オプションへの同期での Mobile Link エラー
これがシナリオです。Mobilink の開発者版を使用して、SqlAnywhere を使用して統合された Oracle データベースに同期する 2 人の開発者がいます。モービルリンクのバージョンは、バージョン 11.0.1.2331 です。
2 つの開発環境ですべてが正常に動作します。
1 つの開発環境は、Windows 7 x64 と Oracle 11g r1 です。もう 1 つは xp x86 と Oracle 10gr2 です。どちらも正常に動作し、運用データベースのレプリカと同期しています (運用サーバーからダンプ ファイルを取得しました)。現在ベータ版の状態で、同期を設定しようとしていますが、失敗し続けています。ベータ環境は「SQL Anywhere Mobile Link サーバー バージョン 11.0.1.2044」を使用しており、Windows 2003 x64 で実行されています。PDA とサーバーのエラー ログを確認すると、ユーザーが認証され、同期が開始されていることが確認されますが、毎回同じ時点で中断されます。以下は、ログからの追加の詳細です。
I. 2009-12-04 13:30:38。<1> end_download_rows G_INV_LOCATION_DESC (スクリプトなし)
I. 2009-12-04 13:30:38。<1> begin_download_deletes G_COMMENT_INFO (スクリプトなし)
I. 2009-12-04 13:30:38。<1> download_delete_cursor G_COMMENT_INFO
I. 2009-12-04 13:30:38。<1> 翻訳された SQL:
E. 2009-12-04 13:30:38。<1> [-10002] 統合データベース サーバーまたは
ODBC エラー: ODBC: [Sybase][iAnywhere ソリューション - Oracle][Oracle]
ORA-00900: SQL文が無効です
I. 2009-12-04 13:30:38。<1> エラー コンテキスト:
I. 2009-12-04 13:30:38。<1> リモート ID: 62e3d800-e09d-11de-8000- fb73ff3a8e87
I. 2009-12-04 13:30:38。<1> ユーザー名: bogus_user I. 2009-12-04 13:30:38. <1> 変更されたユーザー名: bogus_user I. 2009-12-04 13:30:38. <1> トランザクション: I. 2009-12-04 13:30:38 をダウンロードします。<1> テーブル名: G_COMMENT_INFO I. 2009-12-04 13:30:38. <1> スクリプト バージョン: bogus_user_scan
I. 2009-12-04 13:30:38。<1> スクリプト:
I. 2009-12-04 13:30:38。<1> エラーコンテキストの終わり
I. 2009-12-04 13:30:38。<1> report_error (スクリプトなし) I. 2009-12-04 13:30:38. <1> report_odbc_error (スクリプトなし)
この質問もここに投稿しました
sqlanywhere - SyBase SQL どこでも同期が必要かどうかを確認しますか?
Oracle Consolidated Database との同期に使用している Sybase SQL Anywhere 11.0.1 データベースがあります。
SQL Anywhere データベースは、統合データベースと同期する対象を認識できるように、加えられたすべての変更を追跡していることを知っています。私の質問は、データベースに同期する変更があるかどうかを知らせる SQL コマンドがあるかどうかです。
私はモバイル アプリケーションを持っており、同期が必要なハンドヘルドに変更を加えるたびに、ユーザーに小さなフラグを表示したいと考えています。自分でその内容を追跡するために別のテーブルを作成することもできますが、データベースに ping を実行して、同期する必要がある変更があるかどうかを確認する方がはるかに簡単です。
sqlite - SQLite ドライバーによって作成された DSN への接続
C++ コードから SQL どこでも API を使用して SQlite ドライバーによって作成された DSN に接続する方法は? db_string_connect() を使用して、sybase Adaptive Server にどこからでも接続しています。同じ関数を使用して、SQLite ドライバーによって作成された DSN にも接続したいのですが、db_string_connect() API が sqlcode -103 [「無効なユーザー ID または間違ったパスワードを指定しました。」] を返します。ODBC レイヤーでさまざまなデータベースへの接続を抽象化したいので、このやや奇妙な要件があります。また、sybase に接続するためのコードは既に作成されており、コードの変更を最小限に抑えたいと考えています。私が何らかの意味を成していることを願っています。
ありがとう。
sql - どこでも sybase sql で ISNULL を使用すると、予期しない丸めが行われる
SQL Anywhere 5 に基づくレガシー システムを使用する必要があります。db アクセス レイヤーは埋め込み SQL を使用する C++ にあります。私が抱えている問題は実際には C++ の問題ではありませんが、埋め込み SQL により、動的に生成できない SQL ステートメントが強制されます。datatype を持つ多くの列を含む多くのテーブルがありますdouble
。主なアプリケーションはこれらの列が ではないことを想定していますが、この列のほとんどに制約NULL
はありません。NOT NULL
アプリケーションのクラッシュを避けるためISNULL
に、SQL で多くのを使用します。たとえば、ただ書くのではなく
私達は書く
これまでのところ、問題は解決しました。すべて問題ないようです。たとえばd1
、1 行に 1.2345678987654321 が含まれている場合、
結果は
しかし
結果は
この理由は、ダブルと 0 のような数値で ISNULL を呼び出すと、ISNULL の両方の引数がNUMBER(30,6)
最初に型変換されるため、d1 が 6 桁に切り捨てられるためと思われます。簡単な修正はこちら
これにより、期待どおりの1.2345678987654321
結果が得られますが、SQL ステートメントが非常に長くなります。
そこで、SQL で文字どおり DOUBLE ゼロを記述するためのより短い方法を見つけようとしました。
SELECT ISNULL(d1,0e0)...
またSELECT ISNULL(d1,0.0)...
動作せず、再び 1.234567 が返されます。
SELECT ISNULL(d1,SIN(0))...
またSELECT ISNULL(d1,1e-307)...
両方とも動作し、正しい 1.2345678987654321 が得られますが、0 を書き込むだけではどちらも非常に見苦しく見えます。
ここに質問があります。これを短く/読みやすく/問題を完全に回避する方法についてのアイデアはありますか? 私たちの制約の下では、SQL ステートメントを生成することも、DB スキーマを変更することもできません。
sql - 「ツリー」でその下に5つすべてがある行を選択します
私は2つのテーブルを持っています。1 つは記事で、もう 1 つは構造です。また、記事は子ノードなどを持つツリーとして表示できます。Windows フォーム コントロールの TreeView と同様です。
構造テーブルは基本的に次のようになります。
- article_id
- article_above_id
論文:
- article_id
- 記事番号
最大 5つの article_number から選択し、その中からこれらの記事がツリーの下にある記事を表示します。
article_number-data は、少なくとも 1 つが必要な GUI から取得され、何も入力されていない場合は null になります。
sql - SQL 小数点区切り文字を変更する
を使用してテーブルにデータをインポートしようとしています
問題は、小数が,
区切り記号として使用されていることです.
。だからうまくいかない!
どうすればこれを変更できますか? 入力ファイルの検索と置換はオプションではありません!
SQL Anywhere 10 を使用しています
sql - SQLで時間/分を検索する方法は?
特定の時間と分を含むフィルターを使用してすべての行を検索する必要があります。
例:
時間/分が「17:00」と「18:00」のすべての行が必要です。また、日付はオプションのフィールドです。
これを行う方法がわかりません。「sqlanywhere11」を使用しています。
sqlanywhere - IDENTITY 列のイントロスペクト
次のようなテーブルの場合:
id
システム テーブルにクエリを実行して、それが実際にIDENTITY
列であるかどうかを判断したいと思います。
私が見つけた最も近いものは次のとおりです。
残念ながら、ID でmax_identity
は0
ない列に対しても、0
まだ使用されていない ID に対してもです。NULL
それが非アイデンティティ用だったらよかったのに。
この関数を使用してGET_IDENTITY
、テーブルにIDENTITY
列があるかどうかを確認できますが、ID 値が失われ、それがどの列であるかはまだわかりません。
これは、 0.05002 の DBIx::Class::Schema::Loader での基本的な SQL Anywhere サポートに必要な最後のものです。