したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

■■■20レス以内で済むF-BASICの質問はこちらへ■■■

556名無しさん:2012/09/26(水) 08:50:52
>>555

SQLCONNECT に渡すパラメータの定義は次のようになっています。
HDBC& 接続ハンドル
SZDSN$ データソース名 <-- DATANAME$
CBDSN% データソース名の文字数 またはSQL_NTS指定
SZUID$ 接続するデータベースのユーザーIDの文字列
CBUID% ユーザーIDの文字数 またはSQL_NTS指定
SZAUTHSTR$ パスワード(認証用文字列)
CBAUTHSTR% パスワードの文字数 またはSQL_NTS指定


まず、DATANAME$ 文字列変数の内容がODBCの設定をされたデータソース名かどうか
確認してみてください。
(サンプルのフォームにデータソース名とODBCドライバ名が表示されているはず)

if SQL_SUCCESS<>SQLCONNECT( HDBC, DATANAME$, SQL_NTS, "", ・・・

サンプル(ODBC.MAK)での接続先データベースはMS-Access (*.MDB)なので、
ユーザーIDとパスワードの文字列はなし("")でよいのですが、
MS-SQL ServerではユーザーIDの指定が必要だと思いますのでサンプルを修正します。

<例> if SQL_SUCCESS<>SQLCONNECT( HDBC, DATANAME$, SQL_NTS, "UserID", ・・・

サンプルではSQLCONNECT に渡す値の最後が「SQLNTS」となっていますが、
これはサンプルの誤りで、SQL_NTSだと思います。
※SQL_NTSは、渡した文字列がNULL文字で終了する文字列であると意味するそうです。

SQLCONNECTが返す値がエラー(SQL_SUCCESS_WITH_INFOまたはSQL_ERROR)の場合
SQLERRORで(ODBC Ver3以降はSQLGetDiagRecを使います)エラーの詳細情報が
取得できます。
FBASICのサンプルはODBC Ver2.0のときのもので、
SQLGetDiagRecの関数宣言はサンプル中のODBC.BIにはありません。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板