firebirdsql / firebird-odbc-driver Goto Github PK
View Code? Open in Web Editor NEWFirebird ODBC driver
Home Page: https://www.firebirdsql.org/en/odbc-driver/
Firebird ODBC driver
Home Page: https://www.firebirdsql.org/en/odbc-driver/
Submitted by: incotec (incotec)
Assigned to: Vladimir Tsvigun (praktik)
Attachments:
ADOSample.zip
idb_SourceForge_bugODBC.zip
Hello,
Thanks a lot for correcting this problem. The problem I mentioned (ODBC11) is corrected!
But, there is a new bug introduced in this v2.0 beta that was not in v1.3 :
In C++, using ADO, when the Microsoft function "Save" for saving a recordset as XML file is called, then Microsoft ado15 dll is called for the SAVE method below
inline HRESULT _Recordset::Save ( const _variant_t & Destination, enum PersistFormatEnum PersistFormat ) {
HRESULT _hr = raw_Save(Destination, PersistFormat);
if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
return _hr;
}
The new bug that appears (in v2.0 beta) is that the raw_Save method generates an error when the recordset is empty (no data)!!
Strange...this raises error in v2.0, as the v1.3 was saving an empty recordset as expected...
Thanx a lot
Regards
Bertrand LITTEL
Software engineer
-----Message d'origine-----
Objet : [FB-Tracker] Updated: (ODBC11) Problem with microsoft ADO
\[ [ODBC11](https://github.com/FirebirdSQL/firebird-odbc-driver/issues?q=ODBC11+in%3Atitle)?page=all \]
Vladimir Tsvigun updated ODBC11:
---------------------------------
SF\_ID: \(was: 1469902\)
Fix Version/s: 2\.0 Beta
Affects Version/s: 2\.0 Beta
fixed version
> Problem with microsoft ADO
> --------------------------
>
> Key: ODBC11
> URL: ODBC11
> Project: ODBC Driver
> Issue Type: New Feature
> Affects Versions: 2.0 Beta
> Reporter: incotec
> Assigned To: Vladimir Tsvigun
> Fix For: 2.0 Beta
>
>
> SFID: 1469902#
> Submitted By: incotec
> Hello,
> First of all, thanks for all, because everything you do is really
> good!
> I use Firebird but for the moment I was using an old ODBC DRIVER that
> was made for Interbase 5. Everything was working fine.
> Now I thought that I should use your ODBC Driver instead. So I
> installed your driver and update to v2.0 last updated april 2006 (this
> week)...because I was expecting my problem/enhancement to be done.
> In fact the problem is that if you use Microsoft ADO to generated an
> XML file based on a SQL Query, the result for NUMERIC field is not the
> one expected.
> You'll find below a sample of VBScript : simply paste it in a TEST.VBS
> file if you want The problem is that in the resulting file I have for
> instance RUNTIME='.0010' as the real value in the database is 10 and
> the field defined as NUMERIC(15,4) The "old" ODBC driver gives the
> good result (gemini and easysoft too...), anq SQL Query tool working
> on ODBC too...only problem comes from Microsoft ADO that makes bad
> interpretation of the precision of the numeric field I think...
> I don't know why, but I hope you can find why!
> Thanks a lot
> SAMPLE:
> Dim connection
> On Error Resume Next
> Set connection = CreateObject("ADODB.Connection")
> If Not connection Is Nothing Then
> With connection
> .CursorLocation = 2
> .ConnectionTimeout = 33
> .ConnectionString
> = "Dsn=ODBC_SCHED_FIREsourceforge;UID=SYSDBA;PWD=master
> key;"
> .Open
> End With
> If Err Then
> MsgBOx Err.Description & vbCrLf & _
> "Reason(s) may be: " & vbCrLf & _
> "* Database Server not started. Check
> server status." & vbCrLf & _
> "* Wrong UserName or Password entered
> in the variables strUid & strPwd." & vbCrLf & _
> "* Invalid DSN found in C_CNNSTR
> CONSTANT." & vbCrLf & _
> "(Note: If the problem persists. Contact your database
> vendor.)"
> ConnectInp = False
> Else
> ExtractXML "C:\SMWT.xml","SMWT"
> End If
> End if
> Sub ExtractXML(filePath, tableName)
> On Error Resume Next
> Set rsTable = CreateObject("ADODB.RecordSet")
>
> Call rsTable.Open("SELECT * FROM " & tableName,
> connection)
> If Err Then MsgBox Err.Description
> Call rsTable.Save(filePath, 1)
> If Err Then MsgBox Err.Description
> Call rsTable.Close
> If Err Then MsgBox Err.Description
> End Sub
Submitted by: Boris Savelev (boris)
Votes: 1
g++ -g -w -D_REENTRANT -D_PTHREADS -DEXTERNAL -DunixODBC -I/opt/firebird/include -I/usr/include/odbc -Id:/Firebird/include -DNDEBUG -c ../../IscDbc/EnvShare.cpp -o Release/obj/EnvShare.o
../../IscDbc/EnvShare.cpp: In member function 'void IscDbcLibrary::EnvShare::startTransaction()':
../../IscDbc/EnvShare.cpp:105: error: invalid conversion from 'isc_db_handle' to 'void*'
../../IscDbc/EnvShare.cpp:119: error: cannot convert 'void**' to 'isc_tr_handle*' in argument passing
../../IscDbc/EnvShare.cpp: In member function 'void IscDbcLibrary::EnvShare::commit()':
../../IscDbc/EnvShare.cpp:147: error: cannot convert 'void**' to 'isc_tr_handle*' in argument passing
../../IscDbc/EnvShare.cpp: In member function 'void IscDbcLibrary::EnvShare::rollback()':
../../IscDbc/EnvShare.cpp:163: error: cannot convert 'void**' to 'isc_tr_handle*' in argument passing
make: *** [Release/obj/EnvShare.o] Error 1
I think this error because
in ibase.h of firebird:
#if defined(_LP64) || defined(__LP64__) || defined(__arch64__) || defined(_WIN64).
typedef unsigned int<-->FB_API_HANDLE;
#else
typedef void*<-><------>FB_API_HANDLE;
#endif
Submitted by: faridz (faridz)
My application gets dependency of Firebird database tables info by executing SQLForeignKeys to build dependency graph. SQLForeignKeys returns schema info for imported foreign key table as 'SYSDBA'. It should returns schema for referenced foreign key table as NULL since SQLTables returns schema as NULL for the same table.
rc = ::SQLForeignKeys\( pSQL\-\>Gethstmt\(\),
NULL, 0,
NULL, 0,
NULL, 0,
\( SQLCHAR \* \) \( dbo\.sCat\.IsEmpty\(\) ? NULL : \(LPCTSTR\) dbo\.sCat \),
\( SQLSMALLINT \) cbTableCat,
\( SQLCHAR \* \) \( dbo\.sSchem\.IsEmpty\(\) ? NULL : \(LPCTSTR\) dbo\.sSchem \),
\( SQLSMALLINT \) cbTableSchem,
\( SQLCHAR \* \) \(LPCTSTR\) dbo\.sName,
\( SQLSMALLINT \) cbTableName \);
resultset excerpt :
...
PKTABLE_CAT -> NULL
PKTABLE_SCHEM -> NULL
FKTABLE_CAT -> NULL
FKTABLE_SCHEM -> SYSDBA ** should return NULL **
Submitted by: faridz (faridz)
Assigned to: Vladimir Tsvigun (praktik)
SFID: 1418693#
Submitted By: faridz
SQLColAttribute SQL_DESC_OCTET_LENGTH and
SQL_DESC_NUM_PREC_RADIX for a resultset column returns
an error:
SQL Error, SQLState: HY091, Return Code: -1
[ODBC Firebird Driver]field id (<x>) out of range
for example,
SQLUSMALLINT nCol = 1;
SQLPOINTER nBufferLength = 0;
// describe buffer length
rc = SQLColAttribute\( hstmt,
nCol,
SQL\_DESC\_OCTET\_LENGTH,
NULL,
0,
NULL,
&nBufferLength \);
Driver:
Firebird/InterBase(r) driver 2.00.00.126
See attached MSVC project for reproducing this error.
Submitted by: Jorge Andres Brugger (jbrugger)
Assigned to: Vladimir Tsvigun (praktik)
Now there are 2 driver versions: "Firebird ODBC driver" and ""Firebird ODBC driver MT". First is single thread and second is multi thread. They share (as I can deduce) 99% of code, and only a part defines the threading model.
I think will be better if both drivers/files were unified into single file, adding a new parameter to DSN dialog and connection string, instead of maintaining separate drivers.
Submitted by: Clinton L. Warren (justdoro)
Votes: 1
The current ODBC driver {fn IFNULL} function implementation maps to a function named "IFNULL". By default, there is no such function in a Firebird database. Therefore, code that depends on the {fn IFNULL} function will fail.
Firebird 1.5 and above implements the function COALESCE, which could be used to implement the {fn IFNULL} function.
Submitted by: mdahmke (mdahmke)
Assigned to: Vladimir Tsvigun (praktik)
SFID: 1161092#
Submitted By: mdahmke
I'm running FB1.5.2 on Redhat ES3 and the ibphoenix
odbc driver (I've tried 1.2, 1.3 and 2.0) on Win2003.
After conn.execute, if I try to do a recordset.move it will
only let me move forward a small number of records...
this varies with the record size. For example, if I have a
table with one integer field and one varchar(100) I can
move to about record 330 but if I move to 331 I get an IIS
exception that requires a restart of the application pool.
On another table with:
ID INTEGER Nullable
NUM VARCHAR(50) Nullable
COMPANYNAME VARCHAR(255) Nullable
ADDRESS1 VARCHAR(255) Nullable
ADDRESS2 VARCHAR(255) Nullable
CITY VARCHAR(255) Nullable
STATE VARCHAR(255) Nullable
ZIP VARCHAR(255) Nullable
PHONE VARCHAR(255) Nullable
FAX VARCHAR(255) Nullable
EMAIL VARCHAR(255) Nullable
URL VARCHAR(255) Nullable
OFFICE VARCHAR(50) Nullable
I can move to record 22, but a move to 23 generates an
exception. Both tables have several thousand records.
thanks
Submitted by: Karsten Hauser (khauser)
The statement:
SELECT http://pe.NR, us.USER_LOGIN
FROM IBKPVS_SYS_USER us
LEFT JOIN PERSONAL@formica pe ON us.USER_PERS_ID_FK = http://pe.NR
where us.USER_LOGIN = 'ADMIN'
placed in Oracle delivers following error msg:
ORA-28500: Verbindung von ORACLE zu Fremdsystem gab diese Nachricht zurück:
[ODBC Firebird Driver]Data truncated[ODBC Firebird Driver][Firebird]Dynamic SQL Error
SQL error code = -303
conversion error from string " "
ORA-02063: vorherige 4 lines von FORMICA
for help the statement:
SELECT http://pe.NR, us.USER_LOGIN
FROM IBKPVS_SYS_USER us
LEFT JOIN PERSONAL@formica pe ON us.USER_PERS_ID_FK = http://pe.NR
where TRIM(us.USER_LOGIN) = 'ADMIN'
delivers the right result set (1->Number,'ADMIN'->String)
Submitted by: Vladimir Kozlov (vkozlov)
Attachments:
Program.cs
Under http://ADO.NET OdbcCommand, if we make subsequent calls of a stored procedure via ODBC driver (each call in a new transaction), the output parameters returns correctly only at first call. Once the first call was executed, the output parameters in next transaction returns empty.
Same calls using native .NET provider works correctly.
Submitted by: Andrew Webb (andyuk)
To reproduce:
Install latest version of Firebird 1.0
Install latest Firebird OBDC driver 3.51.12
I have not changed the default username/password from sysdba/masterkey
In Control Panel -> Administrative Tools -> Data Sources (ODBC) select "File DSN" tab
Select Add and select Firebird/Interbase(r) driver
Give it a name and try to finish.
For the Account and Password fields I tried sysdba and masterkey respectively, and left role blank.
The message received is
A connection could not be made using the file data source parameters entered. Save the non-verified file DSN?
The problem is in trying to create a new File DSN in ODBC setup.
I think this may be related to problems I've encountered with setting up a
database connection. I get very simular problem when using MySQL too.
This code (specifically the SQLDriverConnect() ) works fine with Access and SQL server:
SQLHENV hEnv = SetupSiteDbApp::GetApp\(\)\-\>GetOdbcSession\(\)\.GetEnvHandle\(\);
//
// Create a connection
//
SQLHDBC hConn = NULL;
SQLRETURN nStatus = SQLAllocHandle\( SQL\_HANDLE\_DBC, hEnv, &hConn \);
if \( \!SQL\_SUCCEEDED\( nStatus \) \)
\{
AfxMessageBox\( IDS\_ERROR\_CREATEDBCONN, MB\_ICONEXCLAMATION \);
return false;
\}
//
// Create the DSN with user prompting
//
strFile = AUDIT\_LOG\_DSN\_FILE;
std::wstring strDsnPath = FileUtil::JoinPath\(
m\_pSetupInfo\-\>m\_strLocation,
strFile
\);
std::wstring strConn = StringPrintf\(
L"DRIVER=\{%s\}; SAVEFILE=%s",
m\_pSetupInfo\-\>m\_strOdbcDriver\.c\_str\(\),
strDsnPath\.c\_str\(\)
\);
SQLWCHAR szConnOut\[ MAX\_CONNECT\_STRING \];
SQLSMALLINT nCount;
nStatus = SQLDriverConnect\(
hConn,
m\_hWnd,
\(SQLWCHAR \*\) strConn\.c\_str\(\),
\(SQLSMALLINT\) strConn\.length\(\),
szConnOut,
sizeof\( szConnOut \) / sizeof\( szConnOut\[ 0 \] \),
&nCount,
SQL\_DRIVER\_PROMPT
\);
if \( \!SQL\_SUCCEEDED\( nStatus \) \)
\{
/\* while \( SQLError\( hEnv, hConn, hHstmt, sqlstate, &sqlcode, buffer,
SQL\_MAX\_MESSAGE\_LENGTH \+ 1, &length\) == SQL\_SUCCESS \)
\{
printf\("\\n \*\*\*\* ERROR \*\*\*\*\*\\n"\);
printf\(" SQLSTATE: %s\\n", sqlstate\);
printf\("Native Error Code: %ld\\n", sqlcode\);
printf\("%s \\n", buffer\);
\}; \*/
AfxMessageBox\( IDS\_ERROR\_CREATEDBCONN, MB\_ICONEXCLAMATION \);
SQLFreeHandle\( SQL\_HANDLE\_DBC, hConn \);
return false;
\}
The third parameter passed to SQLDriverConnect() is "DRIVER={Firebird/Interbase(r) driver}; SAVEFILE=C:\IndigoAudit\audit.dsn"
Error info captured:
error code: 08001
error string: "unavailable database"
The drive is definitely there as its listed as one of the ODBC drivers...
Hope this information is understandable. Please ask if you need any other
information or clarification.
Andy
Submitted by: faridz (faridz)
SQLGetTypeInfo does not return a row for any of the following supported Firebird data types:
SQL_WCHAR -> CHAR(x) CHARACTER SET UNICODE_FSS
SQL_WVARCHAR -> VARCHAR(x) CHARACTER SET UNICODE_FSS
SQL_WLONGVARCHAR -> BLOB SUB_TYPE TEXT
SQL_TINYINT -> SMALLINT
Submitted by: daoud (daoud_atta)
i make and a database in firebird and change the sysdba password.
I then copy it to other pc and i try to open the database by the using default user ('sysdba' and password 'masterkey') and it opened and i can access the data
how can i solve this problen and not let the user access the database
thank
daoud atta
senior software developer
Submitted by: Treeve Jelbert (treeve)
Assigned to: @dmitry-starodubov
Attachments:
odbcfb-RC1-2.0.0148.bz2
several build problems. I fixed most of them with the following edit script
# gcc-4.3.2 fixes
sed -i "s/g++/g++ $CXXFLAGS -std=c++0x/" Builds/Gcc.lin/makefile.linux &&
sed -i '/stdlib/ a\
#include <cstdint>
' IscDbc/IscBlob.cpp IscDbc/IscArray.cpp IscDbc/IscProceduresResultSet.cpp \
IscDbc/Sqlda.cpp IscDbc/TypesResultSet.cpp
However, there is remaining error which I cannot fix
g++ -march=k8 -fPIC -DPIC -pipe -O3 -std=c++0x -fPIC -DNDEBUG -c ../../MainUnicode.cpp -o
Release/obj/MainUnicode.o
../../Main.cpp: In function 'SQLRETURN SQLError(void*, void*, void*, SQLCHAR*, SQLINTEGER*,
SQLCHAR*, SQLSMALLINT, SQLSMALLINT*)':
../../Main.cpp:300: error: no matching function for call to
'OdbcJdbcLibrary::OdbcStatement::sqlError(SQLCHAR*&, SQLINTEGER*&, SQLCHAR*&, SQLSMALLINT&, SQLSMALLINT*&)'
../../OdbcObject.h:64: note: candidates are: virtual SQLRETURN
OdbcJdbcLibrary::OdbcObject::sqlError
(UCHAR*, SDWORD*, UCHAR*, int, SWORD*)
../../Main.cpp:306: error: no matching function for call to
'OdbcJdbcLibrary::OdbcConnection::sqlError(SQLCHAR*&, SQLINTEGER*&, SQLCHAR*&, SQLSMALLINT&, SQLSMALLINT*&)'
../../OdbcObject.h:64: note: candidates are: virtual SQLRETURN
OdbcJdbcLibrary::OdbcObject::sqlError
(UCHAR*, SDWORD*, UCHAR*, int, SWORD*)
../../Main.cpp:310: error: no matching function for call to
'OdbcJdbcLibrary::OdbcEnv::sqlError(SQLCHAR*&, SQLINTEGER*&, SQLCHAR*&, SQLSMALLINT&, SQLSMALLINT*&)'
../../OdbcObject.h:64: note: candidates are: virtual SQLRETURN
OdbcJdbcLibrary::OdbcObject::sqlError
(UCHAR*, SDWORD*, UCHAR*, int, SWORD*)
make: *** [Release/obj/Main.o] Error 1
Submitted by: faridz (faridz)
Assigned to: Vladimir Tsvigun (praktik)
SFID: 1442697#
Submitted By: faridz
::SQLTables does not return a valid TABLE_SCHEM value
in the resultset ( returns just a single quote ). Using
row bind offsets. You can download application from
http://www.zidsoft.com
Driver:
Firebird/InterBase(r) 2.00.00.126
Embedded database version is 1.5.3
I can provide a sample MSVC project to duplicate this
bug if needed.
Submitted by: Eugenk Konkov (kes)
Need GOOD implementation of DBD::InterBase perl module to connect to InterBase/FireBird server from perl scripts
Submitted by: Raymond Dijkstra (raymond)
The odbc driver can connect with a udl to a firebird database. The test connection works fine.
When a application like office-word wil connect to the database then appears the message "odbc driver can not get the list of tabels from the datasource".
Also the combination with a firebird server 32 bit on a 64 bits windows 2003 server has the same problem.
When i connection the client to a windows 2003 server (32bits) with firebird server 2.1 (32bits) then the connection is working fine.
Is the problem in the odbc driver of in the Firebird server?
-mydatabase.udl
[oledb]
; Everything after this line is an OLE DB initstring
Provider=MSDASQL.1;Password=OFFICE;Persist Security Info=True;User ID=OFFICE;Extended Properties="DSN=ArbisFb_odbc;Driver=Firebird/InterBase(r) driver;Dbname=sr014:d:\IBDATABASE\SBCBASISDB.GDB;CHARSET=NONE;PWD=OFFICE;UID=OFFICE;Client=C:\Arbis\gds32.dll;"
Submitted by: Jorge Andres Brugger (jbrugger)
Assigned to: Vladimir Tsvigun (praktik)
Attachments:
SQL_LOG.7Z
There is some kind of error in conversion of datatypes with new 143 build. Build 142 works fine. Attached is log.
Submitted by: faridz (faridz)
Assigned to: Vladimir Tsvigun (praktik)
SFID: 1418710#
Submitted By: faridz
Executing SQLTables with SQL_ALL_TABLE_TYPES resultset
has 34 duplicate entries for SYSTEM TABLE and TABLE.
Also missing VIEW table type
Driver:
Firebird/InterBase(r) 2.00.00.126
See attached MSVC project for reproducing this issue
Commits: ae5e378
Submitted by: Milan Babuskov (babuskov)
I have Delphi code like this:
storedProc: TADOStoredProc;
storedProc := TADOStoredProc.Create(nil);
try
with storedProc do
begin
ProcedureName := 'SetMyTime';
with Parameters\.AddParameter do
begin
Name := '@Id';
DataType := ftInteger;
Value := 1;
end;
with Parameters\.AddParameter do
begin
Name := '@MyTime';
DataType := ftDateTime;
Value := now;
end;
ExecProc;
end;
The call succeeds, but only date part is written into database. Here's how the stored procedure looks like:
create table t1 ( x integer, tm timestamp );
insert into t1 (x, tm) values (1, current_timestamp);
create procedure SetMyTime ( id integer, mytime timestamp )
as
begin
update t1 set tm = :mytime where x = :id;
end
Submitted by: Jorge Andres Brugger (jbrugger)
Votes: 1
Only way to get Embedded server work with ODBC is setting "none" as charset in DSN dialog. If you choose some other charset, you get "Open Database 123.fdb failed"
Submitted by: Harish Mekwana (harishmekwana)
hi,
we have a problem, when we are accessing data thorugh oracle db link the varchar rows of FireBird are truncating.
Kindly Let us know what is the problem .
Also when we access data through ODBC Driver then the data is displayed correctly. But not through DB LINK. Is it a problem with Fire Bird or its ODBC Driver.
Kindly tell us the solution ASAP.
regards
Harish
Submitted by: Vaclav Slavik (vslavik)
Assigned to: Vladimir Tsvigun (praktik)
Attachments:
IscStatement.cpp.HEAD.patch
When using ODBC driver against embedded Firebird server, my application would throw and catch status_exception during every ODBC query. The exception was caught, so this was only annoying because it polluted debug log when running under VC++ debugger, plus it has performance impact, but it's not fatal.
Turns out that it happens because for auto-commit transactions, IscStatement::deleteResultSet() first calls commitAuto(), which closes the cursor, and then calls _dsql_free_statement() with DSQL_close flag, i.e. it requests that the cursor is closed. This fails because the cursor was already closed and status_exception is thrown.
Attached patch (against CVS HEAD) fixes this.
Commits: f06d8f2
Submitted by: Minoru Yoshida (timeful2)
Votes: 1
I'm testing for OdbcFb_v2_0_145_Win32.
The VARCHAR/CHAR columns are working fine with UTF8 connection.
But BLOB text column is not transliteration.
I tried change to the CP943C connection. This BLOB's transliteration is fine.
I think that UTF8 connectioin result is odbc driver side bug since build 144.
My environments:
- WindowsXP sp2
- Firebird V2.1.1
- Excel 2003 japanese edition.
/* Create database */
CREATE DATABASE 'Localhost:TestDB'
USER 'sysdba'
PASSWORD 'password'
PAGE_SIZE 16384
DEFAULT CHARACTER SET UTF8;
SET SQL DIALECT 3;
/* Create table */
CREATE TABLE Table1 (
K INTEGER NOT NULL, B BLOB SUB_TYPE TEXT SEGMENT SIZE 80
, CONSTRAINT PK PRIMARY KEY (K));
-- My test code
Sub Fbodbctest()
Dim con As ADODB.Connection
Dim recordSet As ADODB.recordSet
Dim outPutSheet As Worksheet
Dim row As Long
Dim col As Long
Set con = New ADODB\.Connection
Set recordSet = New ADODB\.recordSet
Set outPutSheet = ThisWorkbook\.Sheets\("Sheet1"\) 'Output sheet
outPutSheet\.Cells\.Clear
'
con.Open "DRIVER=Firebird/InterBase(r) driver; SERVER=localhost; DATABASE=TestDB;" & _
"Extended Properties=""UID=sysdba;PWD=password;CHARSET=UTF8;"""
' "Extended Properties=""UID=sysdba;PWD=password;CHARSET=CP943C;"""
recordSet.Open "select * from Table1", con, adOpenForwardOnly, adLockReadOnly, -1
'Field names to row
For col = 0 To recordSet\.Fields\.Count \- 1
outPutSheet\.Cells\(1, col \+ 1\)\.Value = recordSet\.Fields\(col\)\.Name
Next col
'Field values to row
row = 2
While (Not recordSet.EOF) And row < 60000
For col = 0 To recordSet.Fields.Count - 1
outPutSheet.Cells(row, col + 1).Value = recordSet.Fields(col).Value
Next col
recordSet.MoveNext
row = row + 1
Wend
recordSet\.Close
con\.Close
End Sub
--
Regards,
Minoru
Submitted by: Bronnikov Vladimir (vsbronnikov)
Hello!
When the connection is lost and I try to open stored procedure (StoredProc1.Open in Delphi) I receive following message and my application close:
---------------------------
Microsoft Visual C++ Runtime Library
---------------------------
Runtime Error!
Program: ...\*.exe
abnormal program termination
If I open query (TADOQuery) then my application handle exception: "Unable to complete network request to host...".
Why Stored procedure throw this exception and close my application? Is this a bug?
По русски:
Когда я открываю хранимую процедуру (.Open, не .Exec) при отключенном подключении с БД выводится сообщение (читай выше) и мое приложение закрывается.
Хотя если я вызываю обычный запрос (объект TADOQuery), то моя программа отлавливает исключение "Unable to complete network request".
Почему при открытии хранимой процедуры вываливается такое исключение, закрывающее мое приложение? Это ошибка?
--
С уважением, Бронников Владимир
Submitted by: Jorge Andres Brugger (jbrugger)
Attachments:
SQL.142.LOG.7z
SQL.145.LOG.7z
OdbcFb32.zip
SQL.LOG.B142.7z
SQL.LOG.B144.7z
Attached are two files, both of them are logs of exactly same Access query, one using ODBC build 144 and the other using ODBC build 142.
b142 works fine, b144 has problems with checks.
Query is:
IINSERT INTO CLIENTES ( CODIGO, NOMBRE, PERSONA_CONTACTO, TELEFONO, FAX, CORREO_ELECTRONICO, DOMICILIO, CODIGO_POSTAL, LOCALIDAD, PROVINCIA, CUIT, NUMERO_INGRESOS_BRUTOS, CODIGO_SITUACION_IVA, TIPO_DOCUMENTO_EMISION, HABILITADO_CUENTA_CORRIENTE, TOPE_CREDITO, SUSPENDIDO, MOSTRAR_OBSERVACIONES, OBSERVACIONES, NUMERO_LEGAJO, ENTIDAD_LEGAJO, CREDITOS_SOLO_TITULAR, DESCUENTO_POR_PLANILLA, CUENTA_CORRIENTE_UNIFICADA, UPDATE_TIMESTAMP )
SELECT CLIENTES2.CODIGO, CLIENTES2.NOMBRE, CLIENTES2.PERSONA_CONTACTO, CLIENTES2.TELEFONO, CLIENTES2.FAX, CLIENTES2.CORREO_ELECTRONICO, CLIENTES2.DOMICILIO, CLIENTES2.CODIGO_POSTAL, CLIENTES2.LOCALIDAD, CLIENTES2.PROVINCIA, CLIENTES2.CUIT, CLIENTES2.NUMERO_INGRESOS_BRUTOS, CLIENTES2.CODIGO_SITUACION_IVA, CLIENTES2.TIPO_DOCUMENTO_EMISION, CLIENTES2.HABILITADO_CUENTA_CORRIENTE, CLIENTES2.TOPE_CREDITO, CLIENTES2.SUSPENDIDO, CLIENTES2.MOSTRAR_OBSERVACIONES, CLIENTES2.OBSERVACIONES, CLIENTES2.NUMERO_LEGAJO, CLIENTES2.ENTIDAD_LEGAJO, CLIENTES2.CREDITOS_SOLO_TITULAR, CLIENTES2.DESCUENTO_POR_PLANILLA, CLIENTES2.CUENTA_CORRIENTE_UNIFICADA, CLIENTES2.UPDATE_TIMESTAMP
FROM CLIENTES2 LEFT JOIN CLIENTES ON CLIENTES2.CODIGO = CLIENTES.CODIGO
WHERE (((CLIENTES.CODIGO) Is Null));
Submitted by: Jorge Andres Brugger (jbrugger)
Assigned to: Vladimir Tsvigun (praktik)
"Ok" is for accept and start an operation, generally. At services tab,
OK button does nothing, except close the Window, as there are "action
buttons" for each service available. So, I think OK Button should be
renamed to "Close".
Commits: 2a4a6fb
Submitted by: faridz (faridz)
Assigned to: Vladimir Tsvigun (praktik)
SFID: 1449955#
Submitted By: faridz
When executing an update sql statement using
::SQLExecDirect and no rows are affected by the update,
the driver returns an SQLRETURN code SQL_SUCCESS.
Should return SQL_NO_DATA_FOUND instead per ODBC spec.
MS Documentation for SQLExecDirect:
..
If SQLExecDirect executes a searched update or delete
statement that does not affect any rows at the data
source, the call to SQLExecDirect returns SQL_NO_DATA
Driver Firebird/InterBase(r) driver MT 2.00.00.126
Submitted by: irfan karakas (irfan.karakas)
Assigned to: Vladimir Tsvigun (praktik)
Votes: 1
After bug fix "Tracker Key: ODBC5";
When ODBC return "SQL_NO_DATA_FOUND" ADO return an error "Unspecified error"
How can i solve this problem without changing the project code.
Thanks for help,
Submitted by: Jorge Andres Brugger (jbrugger)
Even if Internet Explorer is not the default system browser, "View log" opens IE for showing log, but it?s rendered/viewed as text file, instead of html file. Maybe this is due to log file extension, which is "tmp" instead of "htm".
Also default browser should be used, not always IE.
Submitted by: Mickael (ideki)
Hi, I installed the Firebird-2.1.0.17798_0_x64 on a Windows Server 2008 x64.
I also installed the Firebird-2.1.0.17798-0_x64_embed.
I wrote a test software in C# to access a firebird database.
In version 2.0 of Firebird, I could reference a dll call FirebirdSQL.Data.FirebirdClient.dll
After the install on Windows Server 2008 x64, I can not find that dll anywhere.
Is it missing from the install, was it moved or renamed, or the logic to access the database changed?
Submitted by: Domfe (domfe_tiscali.it)
Attachments:
testcase1.c
OdbcFb.zip
OdbcFb.zip
When a parameter is of type SQL_INTEGER, SQL_DECIMAL or SQL_NUMERIC data truncation occurs if the C type is SQL_C_CHAR.
The truncation affects number at the maximum size for the column.
SQL_C_CHAR -> SQL_INTEGER
+1234567895 -> 123456789
the last 5 is lost (123456789): it seems that the driver uses only the first ten character and not the first ten digits.
SQL_C_CHAR -> SQL_DECIMAL (9,3)
-123456.789 -> -123456.700
lost 2 digits: again the driver uses only the first nine character regardless if they were digits or not (sign or decimal dot)
Submitted by: Steven van der Wal (s.vdwal)
Relate to ODBC53
Attachments:
Access.jpg
Excel.jpg
test.fbk
OdbcFb_DLL_2-0-0149_Win32.zip
I created a new database "c:\test.fdb", SQL dialect 3, character set none.
Create one table:
CREATE TABLE LB2_UITSLAGEN (
BEPALINGSCODE VARCHAR(4) NOT NULL,
BUITEN_REFERENTIE VARCHAR(1),
UITSLAGOPMERKINGSCODE VARCHAR(4)
);
COMMIT WORK;
...and some data...
INSERT INTO LB2_UITSLAGEN (BEPALINGSCODE, BUITEN_REFERENTIE, UITSLAGOPMERKINGSCODE) VALUES ('KA0D', '', '');
INSERT INTO LB2_UITSLAGEN (BEPALINGSCODE, BUITEN_REFERENTIE, UITSLAGOPMERKINGSCODE) VALUES ('KA0D', 'L', '');
INSERT INTO LB2_UITSLAGEN (BEPALINGSCODE, BUITEN_REFERENTIE, UITSLAGOPMERKINGSCODE) VALUES ('KA0D', '', '');
INSERT INTO LB2_UITSLAGEN (BEPALINGSCODE, BUITEN_REFERENTIE, UITSLAGOPMERKINGSCODE) VALUES ('KA0D', '', '');
INSERT INTO LB2_UITSLAGEN (BEPALINGSCODE, BUITEN_REFERENTIE, UITSLAGOPMERKINGSCODE) VALUES ('KA0D', '', '');
INSERT INTO LB2_UITSLAGEN (BEPALINGSCODE, BUITEN_REFERENTIE, UITSLAGOPMERKINGSCODE) VALUES ('KA0D', '', '');
INSERT INTO LB2_UITSLAGEN (BEPALINGSCODE, BUITEN_REFERENTIE, UITSLAGOPMERKINGSCODE) VALUES ('KA0D', '', '');
INSERT INTO LB2_UITSLAGEN (BEPALINGSCODE, BUITEN_REFERENTIE, UITSLAGOPMERKINGSCODE) VALUES ('KA0D', '', '');
INSERT INTO LB2_UITSLAGEN (BEPALINGSCODE, BUITEN_REFERENTIE, UITSLAGOPMERKINGSCODE) VALUES ('KA0D', '', '');
INSERT INTO LB2_UITSLAGEN (BEPALINGSCODE, BUITEN_REFERENTIE, UITSLAGOPMERKINGSCODE) VALUES ('KA0D', '', '');
INSERT INTO LB2_UITSLAGEN (BEPALINGSCODE, BUITEN_REFERENTIE, UITSLAGOPMERKINGSCODE) VALUES ('KA0D', 'L', '');
INSERT INTO LB2_UITSLAGEN (BEPALINGSCODE, BUITEN_REFERENTIE, UITSLAGOPMERKINGSCODE) VALUES ('KA0D', '', '');
INSERT INTO LB2_UITSLAGEN (BEPALINGSCODE, BUITEN_REFERENTIE, UITSLAGOPMERKINGSCODE) VALUES ('KA0D', '', '');
INSERT INTO LB2_UITSLAGEN (BEPALINGSCODE, BUITEN_REFERENTIE, UITSLAGOPMERKINGSCODE) VALUES ('KA0D', '', '');
INSERT INTO LB2_UITSLAGEN (BEPALINGSCODE, BUITEN_REFERENTIE, UITSLAGOPMERKINGSCODE) VALUES ('KA0D', '', '');
COMMIT WORK;
On the client I set up an ODBC connection. In Access-2003 I made a link to this table (use no unique record id).
If I open this table, Access shows the data wrong. In the second column "Buiten_referentie" appears sometimes the first letter of the first column "Bepalingscode". Strange is, that if you ORDER the table in Access (Right klik; order ascending), the data is correct. If you make a query on the table, it is the same. No ordering shows wrong data ("K" in the second column); ordering shows everting OK.
This is what you see in Access with no ordering:
BEPALINGSCODE BUITEN_REFERENTIE UITSLAGOPMERKINGSCODE
KA0D
KA0D L
KA0D
KA0D K
KA0D
KA0D K
KA0D
KA0D K
KA0D
KA0D K
KA0D L
KA0D K
KA0D K
KA0D K
KA0D K
In Excel-2003 it also goes wrong; you can see squares (non printables) in the second column...
If I use the old ODBC driver IBclient version 5.6, everthing is OK. Also the firebird ODBCdriver 1.2.0.69 works fine.
I hope this problem can be reproduced and solved. I you need more information, I will send it to you.
Submitted by: incotec (incotec)
Assigned to: Vladimir Tsvigun (praktik)
SFID: 1469902#
Submitted By: incotec
Hello,
First of all, thanks for all, because everything you
do is really good!
I use Firebird but for the moment I was using an old
ODBC DRIVER that was made for Interbase 5. Everything
was working fine.
Now I thought that I should use your ODBC Driver
instead. So I installed your driver and update to v2.0
last updated april 2006 (this week)...because I was
expecting my problem/enhancement to be done.
In fact the problem is that if you use Microsoft ADO
to generated an XML file based on a SQL Query, the
result for NUMERIC field is not the one expected.
You'll find below a sample of VBScript : simply paste
it in a TEST.VBS file if you want
The problem is that in the resulting file I have for
instance RUNTIME='.0010' as the real value in the
database is 10 and the field defined as NUMERIC(15,4)
The "old" ODBC driver gives the good result (gemini
and easysoft too...), anq SQL Query tool working on
ODBC too...only problem comes from Microsoft ADO that
makes bad interpretation of the precision of the
numeric field I think...
I don't know why, but I hope you can find why!
Thanks a lot
SAMPLE:
Dim connection
On Error Resume Next
Set connection = CreateObject\("ADODB\.Connection"\)
If Not connection Is Nothing Then
With connection
\.CursorLocation = 2
\.ConnectionTimeout = 33
\.ConnectionString
= "Dsn=ODBC_SCHED_FIREsourceforge;UID=SYSDBA;PWD=master
key;"
.Open
End With
If Err Then
MsgBOx Err\.Description & vbCrLf & \_
"Reason\(s\) may be: " & vbCrLf & \_
"\* Database Server not started\. Check
server status." & vbCrLf & _
"* Wrong UserName or Password entered
in the variables strUid & strPwd." & vbCrLf & _
"* Invalid DSN found in C_CNNSTR
CONSTANT." & vbCrLf & _
"(Note: If the problem persists. Contact
your database vendor.)"
ConnectInp = False
Else
ExtractXML "C:\SMWT.xml","SMWT"
End If
End if
Sub ExtractXML(filePath, tableName)
On Error Resume Next
Set rsTable = CreateObject\("ADODB\.RecordSet"\)
Call rsTable\.Open\("SELECT \* FROM " & tableName,
connection)
If Err Then MsgBox Err.Description
Call rsTable\.Save\(filePath, 1\)
If Err Then MsgBox Err\.Description
Call rsTable\.Close
If Err Then MsgBox Err\.Description
End Sub
Submitted by: nikulitsa (nikulitsa)
Assigned to: Vladimir Tsvigun (praktik)
SFID: 917309#
Submitted By: nikulitsa
Default isolation level is serializable insted of Read
commited.
I have found mistake in function:
void IscConnection::startTransaction()
.....
.....
case 0x00000002L:
default:
// SQL_TXN_READ_COMMITTED:
/*The following condition is wrong
because TRA_nw is const that declared in
Connection.h as #define TRA_nw 2 */
if ( TRA_nw )
{
iscTpb[3] =
isc_tpb_no_rec_version;
count = 4;
}
else
{
iscTpb[3] =
isc_tpb_read_committed;
iscTpb[4] =
isc_tpb_no_rec_version;
}
break;
}
Submitted by: Rishi Ravindran (rishikt)
Assigned to: Vladimir Tsvigun (praktik)
isc_attach_database failed
The user does not have permission to perform this operation on this object.
Engine code: 335544352
Engine Message: no permission for read-write access to database
1. My application uses Firebird database. I have an installed and a source code version of it. There is a separate database created and used locally in each (debug and installed versions) application directory.
2. Debugging the source code version of the software and doing an extended run of it somehow corrupted its local copy of the database.
3. Now, I am unable to connect to it from the source code version application and gives the following error when I do so from FlameRobin and Firebird ISQL,
------------------------------------------------------------------
isc_attach_database failed
The user does not have permission to perform this operation on this object.
Engine code: 335544352
Engine Message: no permission for read-write access to database
------------------------------------------------------------------
4. After moving the corrupt database from the debug applcation directory to the install directory and trying a connect from there fails with the same error hence confirming the fact that the database is indeed corrupt.
5. Now this is peculiar. Moving the non-corrupted database from the install folder to the debug application folder still gives the same error. I thought earlier that just the database was corrupted.
6. Deleting the corrupted database from the debug directory and trying to create a new database at the same location gives the following error,
"Error string not found for error no 24"
Once again this makes me think that somehow the directory is also affected because of the corrupted database.
Please give suggestions/resolutions if any.
Submitted by: faridz (faridz)
Assigned to: Vladimir Tsvigun (praktik)
SFID: 1476027#
Submitted By: faridz
Driver returns empty string for Borland InterBase 7.5
server connection. SQLGetInfo SQL_DBMS_NAME call.
Driver version:
Firebird/InterBase(r) driver MT 2.00.00.126
Submitted by: ricolebo (ricolebo)
Assigned to: Ann Harrison (awharrison)
SFID: 483322#
Submitted By: ricolebo
With the lastest version WI-T1.0.0.567 i have this
error when i atempt to link tables with INTERSOLV ODBC
driver in Access97 :
Error #:-204
[INTERSOL][ODBC InterBase driver][Interbase]Dynamic SQL
Error, SQL Error Code = -204,
Ambigous Field Name between Table/View RDB$RELATION and
table/view RDB$RELATION_FIELDS, RDB$RELATION_NAME
Error #:3184
Cannot Execute Query; Link table not found.
Submitted by: samyem (samyem)
Assigned to: Vladimir Tsvigun (praktik)
SFID: 1469830#
Submitted By: samyem
The main page of firebird at http://firebird.sf.net
links to the ODBC driver link at
http://firebird.sourceforge.net/index.php?op=files&id=odbc
These files are older versions of what is now available
at
http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_60_odbc
The link should be updated.
Submitted by: Ariel Kempf (ak)
When performing successful inserts or updates, I always get the number of affected rows equal to zero. I'm using the ODBC library built in PHP to connect to a Firebird database. In principle, the problem is not with the PHP ODBC interface, since accessing other databases such as MySQL and MSSQL using ODBC I get the correct results.
Here's a sample code to reproduce the problem:
if ( !$id = odbc_connect($dsn, $db_user, $db_pass) )
die( "Not connected. " . odbc_errormsg() );
$put = date("l dS of F Y h:i:s A");
$q = "update BINDATA set STRINGS = '$put' where ID=1";
$result = odbc_exec( $id, $q );
$n = odbc_num_rows($result);
echo "Affected lines: $n<BR>"; // Will output 0.
$q = "insert into BINDATA(ID, STRINGS) VALUES(2, '$put')";
$result = odbc_exec( $id, $q );
$n = odbc_num_rows($result);
echo "Affected lines: $n<BR>"; // Will also output 0.
odbc_close($id);
This sample code works well when connecting to MySQL or MSSQL with their respective ODBC drivers. Any chances that the problem is in the OdbcStatement::sqlRowCount() method?
Submitted by: Yury Sidorov (jusid)
The driver accepts date and time in following formats: {d 'YYYY-MM-DD'} and {t 'HH:MM:SS'}
It does not accept if there is no space after {d or {t like this: {d'YYYY-MM-DD'} and {t'HH:MM:SS'}
ODBC drivers for other servers (MSSQL, MySQL, Oracle) accept date and time without space.
Also Firebird ODBC driver accepts timestamp {ts'YYYY-MM-DD'} with and without space.
It will be great to tweak {t} and {d} to work without space as well.
Submitted by: Eduardo Gamboa (bestrafender)
Assigned to: Vladimir Tsvigun (praktik)
When a table uses reserved words as column names, i.e.:
CREATE TABLE "DATES" (
"YEAR" INT,
"MONTH" INT,
"DAY"INT);
and you execute:
SELECT * FROM "DATES"
It will throw an exception unless you configure the odbc to use Autoquoted Identifier.
Once the odbc is configured to use autoquoted identifier SELECT and UPDATE statements work perfectly, but INSERT statements like: INSERT INTO "DATES" VALUES (2007,6,18) would not work.
Submitted by: Thomas V?lker (tgvoelker)
Assigned to: Vladimir Tsvigun (praktik)
Attachments:
TRACE.LOG
When performing an INSERT query on a rowset using similar source as shown below, values of numerc fields are not stored correctly.
Used source:
INSERT INTO OPENROWSET('MSDASQL.1','DSN=<IB-DSN>','SELECT * FROM TABLENAME')
(INDEXFIELD,NUMERICFIELD)VALUES(10,4.5);
The field NUMERICFIELD is defined as NUMERIC(15,2). The value stored in the database is 450 instead of 4.5.
I also checked other precissions - when precission 10,3 is used, the value stored is 4500.
Using the Gemeni driver everything works fine.
Submitted by: Jorge Andres Brugger (jbrugger)
Attachments:
odbctest.fbk
- Restore attached Firebird backup
- Create a ODBC DSN with standard options, pointing to previously restored DB
- Create or use an existing MS Access 2003 DB (.mdb)
- Link the only one table available at the Firebird DB
In Firebird, PK of the table is the "codigo" field. But Access set "Descripcion" as PK (what is wrong, Descripcion isn't even unique).
Submitted by: faridz (faridz)
Assigned to: Vladimir Tsvigun (praktik)
SFID: 1442702#
Submitted By: faridz
Calling SQLGetInfo with SQL_CATALOG_TERM returns
"system tables". Should returns "database".
Driver:
Firebird/InterBase(r) 2.00.00.126
( Driver says that catalogs are supported )
char szCatalogName[ 10 ]; // "Y" or "N"
rc = SQLGetInfo\( m\_hdbc, SQL\_CATALOG\_NAME,
szCatalogName, sizeof\(
szCatalogName ), &cb );
if \( RC\_SUCCESS\( rc \) \) \{
ASSERT\( cb <= sizeof\( szCatalogName \) \);
m\_bCatalogNameSupported = szCatalogName\[0\] == 'Y';
\}
Commits: 5a52fe3
Submitted by: Yury Sidorov (jusid)
Here is a quote from ODBC docs:
DAYOFWEEK(date_exp)
Returns the day of the week based on the week field in date_exp as an integer value in the range of 1-7, where 1 represents Sunday.
Firebird ODBC driver returns range 0-6, where 0 is Sunday.
Submitted by: Mauro Aiuto (midihelp)
I installed and configured the Firebird ODBC driver 2.0.0 (5th Sep 2007 Windows full install - Beta version). I got severe DB problems in my application, written in Borland Builder c++ rel. 5 environment), so I made a deep debug to understand where's the problem. I found that the connection to the database works, as I can test also from the ODBC administration interface of Windows, but I receive an error accessing the tables that have one or more fields defined with charset UNICODE_FSS: the error is "Could not find object" BDE error n.8712.
In the Developer's Report for March/May 2005, written by Vladimir Tsvigun, in the 3rd point he writes:
«Added support for UNICODE_FSS. Probably it is not absolutely correct. I am in the process of integrating the MultibyteConvert class for support of more character sets. So far -- NONE, ASCII, UNICODE_FSS. Next step is to load fbintl.dll.»
I think that there is still a problem with UNICODE_FSS charset.
All works fine if I use the Firebird ODBC driver 1.2.0.69
Thanks in advance
Mauro
Submitted by: Jorge Andres Brugger (jbrugger)
Assigned to: Vladimir Tsvigun (praktik)
Configure a DSN to use a remote server alias. Now try to change Database
parameter clicking "Browse" button. You will get a "Invalide filename
pased to FileOpen" error and therefore cannot browse for fdb file. Maybe
that validation should be done at "OK Button" event, but only when not
using aliases. Error is also not descriptive (end user maybe don't know
about what?s happening ... internal function names shouldn't be used in
message boxes).
Default folder for looking for Firebird client should be system, isn't
right? (I don't know how driver chooses the folder to browse). In this
case (Firebird Client), if the "Invalide filename pased to FileOpen"
error occurs, open file dialog should be opened without notice, because
there is not thing such aliases involved.
Submitted by: chedek (chedek2)
Is related to ODBC50
Установил последную версию драйвера Firebird_ODBC_2.0.0.148_win32.exe. Странная проблема при выборке полей varchar из хранимой процедуры в сводную таблицу Excel:
к тексту в поле (колонки) добавляются мусорные символы из ранее выбранных строк,
которые по длине превышают данную.
Пример: Ремонт Кубань [квадратик] А-3 с доп въездом по Одесской
Должно быть: Ремонт Кубань
База Fb+Linux 2.1.1 , Dialect: 1. Charset=WIN1251.
Из предыдущих версий такой ошибки нет только в Firebird ODBC v2.0 от 25.01.2006 !!!
Что делать ?
Submitted by: Jorge Goncalves (projorge)
Assigned to: @samofatov
Votes: 4
I always get the error "Invalid parameter in transaction parameter block".
This work's fine with FB 2.0.x
ODBC Log
.....
MicroStore ba8-f10 EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 01991758
UWORD 17 <SQL_DBMS_NAME>
PTR 0x019928F0 [ 64] "Firebird 2.1 Release Candidate 2"
SWORD 258 SWORD * 0x0012FC7A (64)
MicroStore ba8-f10 ENTER SQLAllocHandle SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 01992660
SQLHANDLE * 0187F1FC
MicroStore ba8-f10 EXIT SQLAllocHandle with return code 0 (SQL_SUCCESS)
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 01992660
SQLHANDLE * 0x0187F1FC ( 0x01993068)
MicroStore ba8-f10 ENTER SQLPrepare HSTMT 01993068
UCHAR * 0x021128D0 [ -3] "SELECT PValue FROM PARAM WHERE UPPER(PSection) = UPPER('MOEDAS') AND Upper(PName) = UPPER('EUROROUND')\ d\ a\ 0"
SDWORD -3
MicroStore ba8-f10 EXIT SQLPrepare with return code -1 (SQL_ERROR)
HSTMT 01993068
UCHAR * 0x021128D0 [ -3] "SELECT PValue FROM PARAM WHERE UPPER(PSection) = UPPER('MOEDAS') AND Upper(PName) = UPPER('EUROROUND')\ d\ a\ 0"
SDWORD -3
DIAG \[HY000\] invalid parameter in transaction parameter block \(335544330\)
.....
.....
.....
Submitted by: Jorge Andres Brugger (jbrugger)
Attachments:
OdbcFb.zip
SP example:
CREATE PROCEDURE SP_EMITIR_PEDIDO_INTERNO (
sucursal smallint,
numero_pedido_interno integer,
usuario smallint,
observaciones varchar(2500))
as
begin
/* do something */
exit;
end
Working case:
call SP_EMITIR_PEDIDO_INTERNO(1,1,1,'some string')
Non working case:
call SP_EMITIR_PEDIDO_INTERNO(1,1,1,'some string, with a comma')
Comma cannot be included inside string, SP call fails with "SQL Error code -104 Unexpected end of command - line 1,
column 51"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.