@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

C#db接続でエラー

1
投稿者投稿内容
cane
常連さん
会議室デビュー日: 2004/10/06
投稿数: 37
投稿日時: 2004-10-22 15:49
お世話になっております。

C#でデータベース接続を行うと
"ハンドルされていない例外 : System.Data.Odbc.OdbcException: ERROR [42S22] [Micros
oft][ODBC SQL Server Driver][SQL Server]列名 '処理番号1' は無効です。
ERROR [42S22] [Microsoft][ODBC SQL Server Driver][SQL Server]列名 '処理番号2FROM
' は無効です。"
というエラーが吐き出されます。
odbcに使うテーブルの名前と場所は登録してあり、他の言語では簡単に接続できます。
いまいち原因が分からないので、ヒントを頂きたいと思います。宜しくお願い致します。
OS windoes2000
言語 C#
SQLServer 5.0
ソース
string connectionString =
"DSN=登録名;" +
"UID=aa;" +
"PWD=hogahoga;";
IDbConnection dbcon;
dbcon = new OdbcConnection(connectionString);
dbcon.Open();
IDbCommand dbcmd = dbcon.CreateCommand();

string sql =
"SELECT 処理番号1,処理番号2" +
"FROM 履歴1";
dbcmd.CommandText = sql;
ここで落ちます → IDataReader reader = dbcmd.ExecuteReader();
while(reader.Read())
{
string 処理番号1 = (string) reader["処理番号1"];
string 処理番号2 = (string) reader["処理番号2"];
Console.WriteLine("Name: " +
処理番号1 + " " + 処理番号2);
}
// clean up
reader.Close();
reader = null;
dbcmd.Dispose();
dbcmd = null;
dbcon.Close();
dbcon = null;

NYRL
ベテラン
会議室デビュー日: 2003/07/14
投稿数: 90
投稿日時: 2004-10-22 15:53
string sql =
"SELECT 処理番号1,処理番号2" +
"FROM 履歴1";
だと「SELECT 処理番号1,処理番号2FROM 履歴1」となるので
string sql =
"SELECT 処理番号1,処理番号2 " +
"FROM 履歴1";
ではないでしょうか?
cane
常連さん
会議室デビュー日: 2004/10/06
投稿数: 37
投稿日時: 2004-10-22 16:03
やはりエラーが出てしまいます。落ちている場所も変わらないのですがエラーログが

"データ ソース名および指定された既定のドライバが見つかりません。"
'System.Data.Odbc.OdbcException' のハンドルされていない例外が system.data.dll で発生しました。"

となります。odbcのバージョンによって対応されずエラーが発生することはありますか?
cane
常連さん
会議室デビュー日: 2004/10/06
投稿数: 37
投稿日時: 2004-10-22 16:23
お世話になっております。
すみません、ただ単に指定したDSNが悪かったようでした。
ご迷惑おかけしました。
1

スキルアップ/キャリアアップ(JOB@IT)