Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / SQLDriverConnect, как убрать выбор источника? / 4 сообщений из 4, страница 1 из 1
22.03.2017, 05:57
    #39424513
l-evgene
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLDriverConnect, как убрать выбор источника?
Здравствуйте.
Срисовал скрипт с этого форума:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
#include "stdafx.h"

#include <windows.h>
#include <sqltypes.h>
#include <sql.h>
#include <sqlext.h>
#include <stdio.h>

#define COMMAND_MAX_SIZE 500

int main(int argc, char *argv[])
{
	SQLHSTMT stmt;
	SQLHENV env;
	SQLHDBC dbc;
	RETCODE retcode;
	SQLWCHAR command[COMMAND_MAX_SIZE];
	// Allocate an environment handle 
	SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &env);
	// We want ODBC 3 support 
	SQLSetEnvAttr(env, SQL_ATTR_ODBC_VERSION, (void *)SQL_OV_ODBC3, 0);
	// Allocate a connection handle 
	SQLAllocHandle(SQL_HANDLE_DBC, env, &dbc);
	SQLDriverConnect(dbc,
		GetDesktopWindow(),
                //(SQLWCHAR*)"DSN=C:\\C_p_p\\test.dsn",
		(SQLWCHAR*)"DRIVER={ODBC Driver 11 for SQL Server};SERVER=ЕВГЕНИЙ\\sql_server; DATABASE=testSQL;Trusted_Connection=Yes;", 
		SQL_NTS,
		NULL,
		0,
		NULL,
		SQL_DRIVER_PROMPT);
	// Check for success 
	printf("Check sql connection:\n");
	// проверяем подключением
	if (SQL_SUCCESS != SQLAllocHandle(SQL_HANDLE_STMT, dbc, &stmt)) {
		printf("SQL connection failed!\n");
	}
	else {																		
		printf("SQL connection Success!\n");
		wsprintf(command, L"INSERT INTO [dbo].[_вспомогательная] ([Число1],[Число2],[Текст1]) VALUES (1,2,'текст');");
		retcode = SQLExecDirect(stmt, command, SQL_NTS);
	}
		system("pause"); 
}

Работает, но на команду SQLDriverConnect требует "Выбор источника данных" После выбора DSN завершается без ошибок.
В DSN-файле написано то же, что и в строке:
Код: plaintext
1.
(SQLWCHAR*)"DRIVER={ODBC Driver 11 for SQL Server};SERVER=ЕВГЕНИЙ\\sql_server; DATABASE=testSQL;Trusted_Connection=Yes;",

Как вариант, пробовал строку:
Код: plaintext
1.
(SQLWCHAR*)"DSN=C:\\C_p_p\\test.dsn",

тот же результат.
Подскажите, пожалуйста, как убрать приглашение "Выбор источника данных".
...
Рейтинг: 0 / 0
22.03.2017, 07:30
    #39424522
SQLDriverConnect, как убрать выбор источника?
l-evgene,
как-то так:

When the SQLDriverConnectDriverCompletion parameter value is SQL_DRIVER_PROMPT, SQL_DRIVER_COMPLETE, or SQL_DRIVER_COMPLETE_REQUIRED, the SQL Server Native Client ODBC driver retrieves keyword values from the displayed dialog box. If the keyword value is passed in the connection string and the user does not alter the value for the keyword in the dialog box, the SQL Server Native Client ODBC driver uses the value from the connection string. If the value is not set in the connection string and the user makes no assignment in the dialog box, the driver uses the default.

When SQL_DRIVER_NOPROMPT is specified, user authentication keywords must be present with values. The driver ensures that either the string "Trusted_Connection=yes" or both the UID and PWD keywords are present.
...
Рейтинг: 0 / 0
22.03.2017, 07:39
    #39424527
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLDriverConnect, как убрать выбор источника?
l-evgeneПодскажите, пожалуйста, как убрать приглашение "Выбор источника данных".

указать его в строке соединения.
...
Рейтинг: 0 / 0
22.03.2017, 13:00
    #39424776
l-evgene
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLDriverConnect, как убрать выбор источника?
Станислав С...кий,

Спасибо!
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / SQLDriverConnect, как убрать выбор источника? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]