C言語からMicrosoft SQL Server 2005にアクセスしてデータを保存したいのですが、どのようにすれば良いのでしょうか?

参考URL・書籍などの情報でも結構ですので教えてください。
<環境>
Cコンパイラ:Borland C++Compiler 5.5

回答の条件
  • 1人5回まで
  • 登録:2008/11/27 20:32:25
  • 終了:2008/12/02 08:26:59

ベストアンサー

id:freemann No.1

freemann回答回数305ベストアンサー獲得回数482008/11/27 21:42:16

ポイント35pt

ORACLEであれば、Pro*cなどあると思いますが、SQL Serverでは、昔読んだ本でODBCでの接続があったのでそれを使えばいけるのではないのでしょうか。

参考URLを載せておきます。

http://sato-si.at.webry.info/200503/article_11.html

http://sato-si.at.webry.info/200505/article_1.html

id:kazzzzz

URLを参考に、

TCHAR *ucConnectStr = "Driver={Microsoft Excel Driver (*.xls)};dbq=G:\\test.xls";

TCHAR *ucConnectStr = "DSN=localdb";

と変更してSQL Serverに接続できました。

(localdbはコントロールパネル⇒管理ツール⇒データソース(ODBC)でシステムDNSに登録した名前です)

ですが、今度はSQLのテーブル名でエラーが出ます。どうもデータベースの指定がうまくいっていないようです。

2008/11/28 18:15:30

その他の回答(1件)

id:freemann No.1

freemann回答回数305ベストアンサー獲得回数482008/11/27 21:42:16ここでベストアンサー

ポイント35pt

ORACLEであれば、Pro*cなどあると思いますが、SQL Serverでは、昔読んだ本でODBCでの接続があったのでそれを使えばいけるのではないのでしょうか。

参考URLを載せておきます。

http://sato-si.at.webry.info/200503/article_11.html

http://sato-si.at.webry.info/200505/article_1.html

id:kazzzzz

URLを参考に、

TCHAR *ucConnectStr = "Driver={Microsoft Excel Driver (*.xls)};dbq=G:\\test.xls";

TCHAR *ucConnectStr = "DSN=localdb";

と変更してSQL Serverに接続できました。

(localdbはコントロールパネル⇒管理ツール⇒データソース(ODBC)でシステムDNSに登録した名前です)

ですが、今度はSQLのテーブル名でエラーが出ます。どうもデータベースの指定がうまくいっていないようです。

2008/11/28 18:15:30
id:freemann No.2

freemann回答回数305ベストアンサー獲得回数482008/11/28 20:16:31

ポイント35pt

試してみたところ、SQLでのテーブルの指定は、DSNで規定のデータベースを使用するテーブルがあるときはテーブル名でいいようですが、

そうでない場合は、次のようにしているとよいようです。

UCHAR select[] = "SELECT emp_no,job FROM [sample].[dbo].[works_on]";

一応参考までに。

http://technet.microsoft.com/ja-jp/library/ms131421.aspx

id:kazzzzz

試して見ましたところ、問題なくSQLの操作をすることができました。

freemannさん、ありがとうございました。

2008/11/28 21:33:04

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません