blob: fa776c66eeadb817dbed56f7fa502061e6b7600f [file] [log] [blame]
/**********************************************************************
// @@@ START COPYRIGHT @@@
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
//
// @@@ END COPYRIGHT @@@
********************************************************************/
/**************************************************************************
**************************************************************************/
//
//
#ifndef CDATASOURCE_H
#define CDATASOURCE_H
#include "DrvrGlobal.h"
#include "charsetconv.h"
#define DS_NOT_FOUND 1
#define DS_AS_KEY_NOT_FOUND 2
#define DS_TRANSLATION_ERROR 3
class CConnect;
class CDataSource {
public:
CDataSource();
short readDSValues(char *DSName, char* TransError);
void CDataSource::updateDSValues(short DSNType, CONNECT_FIELD_ITEMS *connectFieldItems,
CONNECT_KEYWORD_TREE *keywordTree);
private:
short m_DSLocation;
char m_DSName[MAX_SQL_IDENTIFIER_LEN + 1];
char m_DSServer[MAX_SQL_IDENTIFIER_LEN + 1];
char m_DSCatalog[MAX_SQL_IDENTIFIER_LEN + 1];
BOOL m_DSCtrlInferNCHAR;
DWORD m_DSDataLang;
DWORD m_DSCharSet;
DWORD m_DSErrorMsgLang;
long m_DSFetchBufferSize; // in Bytes
char m_DSSchema[MAX_SQL_IDENTIFIER_LEN + 1];
SQLUINTEGER m_DSConnectionTimeout;
SQLUINTEGER m_DSLoginTimeout;
SQLUINTEGER m_DSQueryTimeout;
char m_DSTranslationDLL[128];
DWORD m_DSTranslationOption;
char m_DSReplacementChar[5];
BOOL m_DSSelectRowsets;
SQLUINTEGER m_DSIOCompression;
int m_DSIOCompressionThreshold;
BOOL m_DSRowsetErrorRecovery;
char m_DSServerDSName[MAX_SQL_IDENTIFIER_LEN + 1];
char m_DSServiceName[SQL_MAX_SERVICENAME_LEN + 1];
char m_DSSession[SQL_MAX_SESSIONNAME_LEN*4+1];
char m_DSApplication[SQL_MAX_APPLNAME_LEN*4+1];
char m_DSRoleName[SQL_MAX_ROLENAME_LEN+1];
char m_DSCertificateDir[MAX_SQL_IDENTIFIER_LEN + 1];
char m_DSCertificateFile[MAX_SQL_IDENTIFIER_LEN + 1];
char m_DSCertificateFileActive[MAX_SQL_IDENTIFIER_LEN + 1];
BOOL m_DSFlushFetchData;
friend class CConnect;
};
#endif