編集私の目標はこれです。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/ソフトウェア管理者から提供された修復インストール セットを使用してこの開発ボックスを構築したため、すべてのマシンにインストールされていると想定しています。