| Bug #12019 | Unable to create DSN Files | ||
|---|---|---|---|
| Submitted: | 18 Jul 2005 19:42 | Modified: | 14 Feb 2006 2:42 |
| Reporter: | Stuart Paulsen | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | Connector / ODBC | Severity: | S3 (Non-critical) |
| Version: | 3.5(11) | OS: | Windows (XP) |
| Assigned to: | Sergey Vlasenko | CPU Architecture: | Any |
[18 Jul 2005 19:42]
Stuart Paulsen
[19 Jul 2005 6:50]
Vasily Kishkin
Tested on Win 2003
[25 Oct 2005 17:44]
Peter Harvey
c/odbc support for file based DSN's is being reworked into our cross-platform layer and will be available in a future release.
[22 Dec 2005 11:48]
Sergey Vlasenko
Index: myodbc3/connect.c
===================================================================
--- myodbc3/connect.c (revision 29)
+++ myodbc3/connect.c (working copy)
@@ -602,15 +602,23 @@
if ( !pFunc( hdbc, hwnd, pDataSource ) )
{
set_dbc_error( hdbc, "HY000", "User cancelled.", 0 );
- nReturn = SQL_ERROR;
+ nReturn = pDataSource->bSaveFileDSN ? SQL_NO_DATA : SQL_ERROR;
goto exitDriverConnect0;
}
}
if ( my_SQLDriverConnectTry( dbc, pDataSource ) != SQL_SUCCESS )
{
- nReturn = SQL_ERROR;
- goto exitDriverConnect0;
+ if (!pDataSource->bSaveFileDSN)
+ {
+ nReturn = SQL_ERROR;
+ goto exitDriverConnect0;
+ }
+ else
+ {
+ set_dbc_error( hdbc, "08001", "Client unable to establish connection.", 0 );
+ nReturn = SQL_SUCCESS_WITH_INFO;
+ }
}
exitDriverConnect1:
Index: myodbc3u/MYODBCUtil.h
===================================================================
--- myodbc3u/MYODBCUtil.h (revision 29)
+++ myodbc3u/MYODBCUtil.h (working copy)
@@ -184,6 +184,8 @@
MYODBCUTIL_DATASOURCE_MODE nMode; /* ConfigDSN mode or SQLDriverConnect mode. */
MYODBCUTIL_DATASOURCE_CONNECT nConnect; /* SQLDriverConnect() using a DSN or a DRIVER to connect. */
MYODBCUTIL_DATASOURCE_PROMPT nPrompt; /* SQLDriverConnect() kind of prompting (if any). */
+
+ BOOL bSaveFileDSN; /* Flag specifying that SQLConnect was invoked as part of creation of a file DSN */
} MYODBCUTIL_DATASOURCE;
Index: myodbc3u/MYODBCUtilReadConnectStr.c
===================================================================
--- myodbc3u/MYODBCUtilReadConnectStr.c (revision 29)
+++ myodbc3u/MYODBCUtilReadConnectStr.c (working copy)
@@ -173,6 +173,10 @@
if ( !pDataSource->pszUSER )
pDataSource->pszUSER = (char *)strndup( pAnchorChar, pScanChar - pAnchorChar );
}
+ else if ( strcasecmp( pszName, "SAVEFILE" ) == 0 )
+ {
+ pDataSource->bSaveFileDSN = TRUE;
+ }
else
{
/* What the ? */
[13 Feb 2006 15:05]
Sergey Vlasenko
Fix is available in 3.51.12
[14 Feb 2006 2:42]
Paul DuBois
Noted in MyODBC 3.51.12 changelog.
<para>
File DSNs could not be saved. (Bug #12019)
</para>
[20 Jul 2006 15:32]
Alex Mauer
This still doesn't work for me in 3.51.12 under Windows XP (or 2000)
