一般的なC言語のソケット通信関数のみを使用して、SQL Serverに接続する方法を探しています。
今回使用するハードウェアは、Windows PCではなく、Ethernetの付いた小型の組み込み用CPUボード(CPUはARM7)なので、ODBCなど立派なデータベースサポート環境など全くありません。
この為、C言語を使ってソケット通信にて自力でSQLサーバーに接続しなければなりません。
しかし、私はC言語でのソケット通信プログラム作成能力はあっても、SQLサーバとのやり取りにつきましては、何一つ分からない状態です。
ネットでいろいろと検索しましても、1433ポートを使用するなど極めて断片的な情報は得られた物の、具体的に何をするのかが分かりませんでした。
そこで、Socket通信関数群だけを使用してSQLサーバーにアクセスする方法についてご存じの事がございましたら、是非ともご教示頂けませんでしょうか。
情報が書かれているWEBページとか、あるいは書物とか、あるいは具体的なソースコードなどなど...
何でも構いませんので、宜しくお願い致します。
※具体的にどの様なSQL Serverを使用するのかは、現在客先にて調整中でまだ分かりません。
各種SQLサーバーに共通的な方法が存在するのでしょうか? それとも、SQLサーバーによって全て方法が異なるのでしょうか?
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
SQLServerはオープンソースではないので、どのような要求と応答が
あるのかについて、開かれた資料が無いのでは?
答えてくれないと思いますがメーカに直接問い合わせるしかない
ような気がします。それと、組み込みでデータベースアクセスと
いうのは荷が重過ぎると思いますけどね。
私が担当するとしたら、DBサーバにODBCを組み込み、こちらに独自の
サーバプログラムを置いて対処するくらいしか思いつきません。
例えば、SQLを発行して、結果を受け取ることを考えるとします。
(1)クライアント→独自サーバプログラム:SQLの要求
ここは自作プログラムなので、仕様は自由に決められます。
(2)独自サーバプログラム→SQLServerのサーバプログラム:SQLの要求
ここはODBCを使う方法で処理します。
(3)SQLServer→独自サーバプログラム:結果応答
ここもODBCを使う方法で処理します。
(4)クライアント→独自サーバプログラム:結果応答
ここも自作プログラムなので、仕様は自由に決められます。
こういうのもダメなら、オープンソースのDBシステムにしてみては?
nda23様
早速のご回答に感謝申し上げます!!
全くおっしゃる通りで、私も客先と上司に組み込み機器のやる仕事じゃないと言ったのですが、
「そんな泣き言言わないで、まず調べてみろ」と言われて調べているところです。
私が客先に最初に提案した方法は、超小型のPCを中間に立てて、それを介してアクセスする方法でした。
そのPCはWindowsベースのODBCドライバーも完備された環境で、こちらからのアクセスを解釈してSQLサーバーへ問い合わせるという仕組みです。
nda23様の方法も簡便で良さそうですね!ただ、相手のサーバー内にこちらのプログラムを置けないように思うので、中間PC方式しかないかな...
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
インテル マネジメント エンジ...
-
brotherのマシニングセンタとP...
-
マルチTIFを一枚のTIFに...
-
GPIB制御
-
acrotray.exe エラー
-
ExcelVBAとVisual Basic
-
Bluestacks内でダウンロードし...
-
65536は2の何乗なのでしょうか?
-
VBAで仕様書は書きますか?
-
0除算して、落ちるプログラムと...
-
正しい五十音順について
-
VBAの再計算が反映されない件に...
-
未使用の変数を一括検索する方法
-
VBAでユーザーフォームが自動的...
-
PICマイコンのコピー(クローン...
-
graph.hがincludeできない
-
VBAにてメール作成した際、一部...
-
XnViewにwebpを「いつも開く」...
-
Excelで4096点以上のFFTの方法
-
初心者はIDE使わないほうが良く...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Bluestacks内でダウンロードし...
-
バッチファイルでUSB挿入時に実行
-
アプリのプログラムを見るには...
-
GPIB制御
-
インテル マネジメント エンジ...
-
iTunesがノートンにブロックさ...
-
brotherのマシニングセンタとP...
-
例外アプリケーションエラーを...
-
自分の声が遅れて聞こえてくる...
-
マルチTIFを一枚のTIFに...
-
BIOSとドライバの違い。
-
Socket通信だけでSQL Serverに...
-
InstallShield ってプログラム...
-
マルチコアCPUをシングル化
-
MpcStarのアンインストール
-
みつも郎でエラーが出るのですが…
-
「フラグをたてる」とは?
-
BIOS.binをバイナリエディタで...
-
PVを稼ぐための自動リロードの...
-
cgiをひらくアプリケーション
おすすめ情報