Date: Thu, 8 Jun 2000 15:13:14 +0900
From: "Madoka Takai" <who@sub.example.jp>
木下さん、こんにちは。
> MS SQL Server7.0(SP1)を用いてテストを行う準備をしていますが、
> SQL文を使って(select文)、レコードセットのオープン(テーブルの取得)した、
> ところ、SQL文の長さは56文字程度になると以下のようなメッセージが
> 出て、アプリケーションを実行できません。
> 実行時エラー 2147217900(8004e14)
> [Micrisoft][ODBC SQL Server Driver][SQL Server]行***の近くに
> 不正な構文があります。
> SQL文の文字数はこれほど短いものでしょうか?
Oracleは64KバイトまでOK、F社ホストRDB時代(10年前)でさえ4096バイトでした
から
MSDE/SQLServerは私の経験から3000バイトはいけますよ。
ただし、ストアドプロシージャなどから
EXECUTE sp_executesql @SQLString
のようにする場合は型がNVARCHARになり文字数に制限があったような気がするけど
...
また、master..xp_cmdshell を使用する場合は500文字まで
また、BCPに渡す場合のSQL文なども長いとうまくいかない場合がありました。
クエリアナライザやoSQLで実行してみましたか?
SQL文が悪いのかすぐわかります。
また、接続に使用するプロバイダは、SQLOLEDBではダメですか?
Microsoft OLE DB Provider for ODBC (MSDASQL)
Microsoft OLE DB Provider for SQL Server (SQLOLEDB)
多くの場合ODBCよりSQL Serverを使用した方が良いと思います。
以下 MS Visual Basic HELPより抜粋
Dim cnn1 As ADODB.Connection
Dim rstEmployees As ADODB.Recordset
Dim strCnn As String
Dim varDate As Variant
' Open connection.
strCnn = "Provider=sqloledb;" & _
"Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
Set cnn1 = New ADODB.Connection
cnn1.Open strCnn
-----------------------------------------
高井 円 Madoka Takai (PB-100)
E-Mail: who@example.co.jp
URL: www.trueheart.co.jp (ほとんど工事中)
-----------------------------------------
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|