gpt4 book ai didi

使用 ODBC 连接到 MSSQL 服务器

转载 作者:行者123 更新时间:2023-11-30 17:14:21 24 4
gpt4 key购买 nike

直到今天我才使用过 ODBC,也没有使用过 MSSQL。我有一个在 89.12.12.12 上运行的 MSSQL 服务器(示例)。我想使用 C 连接到它。

现在我设法输入以下代码:

SQLRETURN ret;
SQLHENV henv;
SQLHDBC hdbc;

ret = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
if (ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO) {

ret = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER *)SQL_OV_ODBC3, 0);
if (ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO) {
ret = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);

if (ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO) {
SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (SQLPOINTER)5, 0);

ret = SQLConnect(hdbc, (SQLCHAR*) "89.12.12.12", SQL_NTS, (SQLCHAR*) "root", 5, (SQLCHAR*) "t00r", 9);
if (ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO) {

MessageBoxA(0, "Connect ok", NULL, 0);
}
else MessageBoxA(0, "Connect failed!", NULL, 0);


}
}

但是没有建立连接,我可以在其中指定 IP 地址。谢谢!

最佳答案

我想帮助你。但我不知道在哪里指定远程IP地址。我在本地主机服务器中设置了 ODBC DSN。我只是像这样指定了 DSN 名称。

ret = SQLConnect(hdbc, (SQLCHAR*) "ODBC DSN name", SQL_NTS, (SQLCHAR*) "root", 5, (SQLCHAR*) "t00r", 9);
if (ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO) {

MessageBoxA(0, "Connect ok", NULL, 0);
}
else MessageBoxA(0, "Connect failed!", NULL, 0);

所以,我建议你像这样保护IP。 (我没有测试过!)

ret = SQLConnect(hdbc, (SQLCHAR*) "ipaddress/ODBC DSN name", SQL_NTS, (SQLCHAR*) "root", 5, (SQLCHAR*) "t00r", 9);
if (ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO) {

MessageBoxA(0, "Connect ok", NULL, 0);
}
else MessageBoxA(0, "Connect failed!", NULL, 0);

关于使用 ODBC 连接到 MSSQL 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30377738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com