0

編集私の目標はこれです。VB .Netアプリを使用してRemedyデータベースからデータを読み取る必要があります。/編集 VS 2010 VB Windows フォームで AR System ODBC ドライバーからデータを読み込もうとしています。システム dsn を介したデータ接続に接続を追加し、動作中の Excel データ プルからプルされた接続文字列を追加し、ウィザードを使用して接続文字列を構築しました。接続をテストできますが、「テスト接続に成功しました」と表示されます。[OK] をクリックすると、データ接続がサーバー エクスプローラーに移動し、テーブル、ビュー、およびプロシージャに展開され、それらを表示または更新すると、次のようなエラーが発生します: 列 'Table_Cat' はテーブル テーブルに属していません。エラー [im00][ar システム odbc ドライバー] はサポートされていません

そこにAPIがあることは承知していますが、APIがクライアントからのログインセッションのように機能し、ログインセッションが1つに制限されるという問題があります。ユーザーはレメディにログインしたままにしておく必要があり、私が書いているアプリはデータの読み取り専用になるため、これは当面のタスクには適していません。

目標は、株価表示器のような特定のチケットを表示するビルボード アプリです。Remedy からチケット データを編集する必要はありません。チケットを読み取り、ヘルプデスクに集計とアラートを提供するだけで済みます。

座ったときはとても簡単に思えましたが、4 時間後、関連性のない Google の検索結果が気の遠くなるような量になりました。より多くの救済アカウント。追加の救済アカウントを作成する必要がないことは、私に寄せられた要求の一部でした. タグ: Visual Studio 2010 BMC AR System Remedy ODBC VB.NET

更新 だから私は手作業でコードを作成しましたが、今では数歩進んでいるように見えますが、まだ盲目です。

OK、Excel クエリをエクスポートすると、dqy ファイル export.dqy から次のようになります。

DRIVER={AR System ODBC Driver};ARServer=xxxxxx;ARServerPort=xxxxx;UID=xxxx;PWD=xxxx;ARAuthentication=;SERVER=NotTheServer
SELECT "EN:HelpDesk"."Company Name", "EN:HelpDesk"."Call Status", "EN:HelpDesk"."Caller Region", "EN:HelpDesk"."Next Action", "EN:HelpDesk"."Detailed Description(FTS)", "EN:HelpDesk".Device, "EN:HelpDesk"."Submitted-by", "EN:HelpDesk".Impact, "EN:HelpDesk"."Arrival Time", "EN:HelpDesk"."Call Id", "EN:HelpDesk".Market  FROM "EN:HelpDesk" "EN:HelpDesk"  WHERE ("EN:HelpDesk"."Call Status"<>'Closed') AND ("EN:HelpDesk"."Submitted-by"<>'nis') AND ("EN:HelpDesk".Impact='High') AND ("EN:HelpDesk".Market='DCIN') AND ("EN:HelpDesk"."Caller Region"<>'UK')

まず、これらの引用符は私には間違っているように見えますが、それらを残してもコマンドの実行は失敗しないため、動作しているように見えますが、vb のデータ グリッド ビューにデータが返されません。次に、EN:Helpdesk は私には奇妙に見えますが、引用と同じ結果になります。引用符を角かっこ [ ] に変更しようとしましたが、変更するとエラーが発生します。

これが私のコードです:

VB コード

Imports SystemM My goal 
Imports System.Data
Imports System.Data.Odbc
Imports System.Data.SqlClient

Sub Main()

    Dim sql As String

    Dim connectionString As String = "DRIVER={AR System ODBC Driver};ARServer=xxx;ARServerPort=xxx;UID=xxx;PWD=xxx;ARAuthentication=;SERVER=NotTheServer"

    sql = "SELECT ""EN:HelpDesk"".""Company Name"", ""EN:HelpDesk"".""Call Status"", ""EN:HelpDesk"".""Caller Region"", ""EN:HelpDesk"".""Next Action"", ""EN:HelpDesk"".""Detailed Description(FTS)"", ""EN:HelpDesk"".Device, ""EN:HelpDesk"".""Submitted-by"", ""EN:HelpDesk"".Impact, ""EN:HelpDesk"".""Arrival Time"", ""EN:HelpDesk"".""Call Id"", ""EN:HelpDesk"".Market  FROM EN:HelpDesk WHERE (""EN:HelpDesk"".""Call Status""<>'Closed') AND (""EN:HelpDesk"".""Submitted-by""<>'nis') AND (""EN:HelpDesk"".Impact='High') AND (""EN:HelpDesk"".Market='DCIN') AND (""EN:HelpDesk"".""Caller Region""<>'UK')"

    Dim bindingSource1 As New BindingSource()

    Me.SQLDS_reportresults.DataSource = bindingSource1

    Dim myAdapter = New OdbcDataAdapter(sql, connectionString)

    Dim commandBuilder As New OdbcCommandBuilder(myAdapter)

    Dim table As New DataTable()

    table.Locale = System.Globalization.CultureInfo.InvariantCulture

    myAdapter.Fill(table)

    bindingSource1.DataSource = table

    Me.SQLDS_reportresults.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader)

End Sub

プロジェクトは、main()、テキスト ボックス (textbox1)、および datagridview (SQLDS_reportresults) をアクティブにするためのボタンを備えた Windows フォームです。

コードが立っているので、これはエラーを引き起こしませんが、私のデータグリッドビューにはデータが取り込まれません。エラーがないので、接続が機能しており、コマンドが実行されていると考えがちですが、SQL コマンドで引用符と en:helpdesk がファンキーに使用されていることを考えると、問題はコードにありました。 m はまた、不正な形式であり、where 部分が結果を返さないことも懸念しています。

誰にも提案/アイデアはありますか?

これらの結果をアプリに表示する方法が必要ですが、今のところ、データを表示できる限り、どの程度かは気にしません。

私はグーグルでAPI zipのvbの例を見てきましたが、それはodbc接続を開くこととは関係がなく、私の研究ではほとんど役に立たないことがわかりました.

単純なものや明白なものが欠けているように感じます。

odbcad32.exe を実行すると、ar システムの odbc ドライバーが 7.00.01.02 を表示します。これは、IT/ソフトウェア管理者から提供された修復インストール セットを使用してこの開発ボックスを構築したため、すべてのマシンにインストールされていると想定しています。

4

0 に答える 0