I've a 32 bits application that runs on 64 bits Windows Server+MS-SQL. I've created an ODBC DSN using c:WindowsSysWow64odbcad32.exe. Sp, the program recognize the ODBC but having problem connecting. The error look likes this: *** [Microsoft][ODBC SQL Server Driver][SQL Server]Could not find server '<name>' in sys.server. Verify that the correct server name was specified. If necessary, execute the stored procedure sp_addlinkedserver to add the server to sys.servers. ***
This is my first post in this forum, I have one application built in asp .net, through a ODBC connect to a external database (prinex). The application was running in a 32bits server, but the server had to stop and now there is running in a machine of 64 bits.
The driver that use in server of 32 bits only exists for this version, right now i have to use the same for the 64 bits machine, i can install and configure the DSN (using c:WindowsSysWow64odbcad32.exe).
But at the time of execute the aplicattion an error is displayed. ¿How can i solve this problem?, ¿There is a way to force the application to use 32 bits DSN? ¿There is an alternative solution for connect to the database? ¿Someone had the same problem?
This is the image of the error: http://img404.imageshack.us/img404/8168/errorwebbn1.png
If somebody can help me, i would be very grateful.
I have two tables 1) tblCustomer (ID, Name, City) 2) tblemp (ID, NAME, Dept.ID, tblcustomer.ID) Both the tables have ID as PKA emp can be either assigned a) All customers b)single customer c) NO customer Pls note:- there will never be 2 or 3 customer linked to emp (my actuall requirement tables are different but to explain i am using the above tables) I know how to assign single customer......but had problem how to link all customers and "no customer" Please tell me if the following solution is right?1) I will manually insert a record in tblCustomer with id 0 as " all customers" and will not allow the user to delete it 2) store null in FK if it is "no customer" Also please tell me is it ok to store one more value in tblCustomer as -1 and take it as "No customer" I have a DDL in the Employee page which should be displaying the names of allthe customers with 2 extra values "ALL CUSTOMERS" and "SELECT" Select is the default value in DDL which says "NO CUSTOMER" selected yet Thank youSara
We use SQL 7.0 and I want to know some guideline for choosing varchar or char data type. I heard that varchar takes more computation than char, then we should use all character type as a char. If then, it will takes more storage, so Is there any guideline for choosing varchar data type? And also, Is the NULL value type same as varchar data type ?
I have a stored procedure that accepts a parameter of type varchar(32). This parameter gets tested against NULL as part of an IF statement. The behavior I'm seeing is that this test never evaluates to TRUE, even in cases where NULL has been passed in as the value of the parameter.
CREATE PROCEDURE uspNewVital @Description varchar(32), @Type tinyint, @DeviceType varchar(32), @Dimension varchar(32), @Unit varchar(32) AS IF (@Dimension != NULL AND @Unit != NULL) BEGIN RAISERROR ('You must specify either a dimension or a unit.', 15, 1) ; RETURN 0 ; END IF NULL = @Dimension BEGIN DECLARE @UnitID AS int ; SELECT @UnitID = ID FROM tblUnit WHERE Description=@Unit ; IF @@ROWCOUNT = 0 BEGIN RAISERROR ('Unit not found.', 15, 1) ; RETURN 0 ; END INSERT INTO tblVitalType VALUES (@DeviceTypeID, @DatumID, NULL, @UnitID) ; END ELSE BEGIN DECLARE @DimensionID AS int ; SELECT @DimensionID = ID FROM tblDimension WHERE Description=@Dimension ; IF @@ROWCOUNT = 0 BEGIN RAISERROR ('Dimension not found.', 15, 1) ; RETURN 0 ; END INSERT INTO tblVitalType VALUES (@DeviceTypeID, @DatumID, @DimensionID, NULL) ; END GO
When I pass in a NULL for @Dimension, code execution still goes to the ELSE block.
At first I thought this might have something to do with the ANSI_NULLS option, but the database has this defaulting to OFF.
Any insights would be greatly appreciated. Thank you.
SELECT * FROM PABX INNER JOIN LOGIN ON (PABX.COD_CLIENTE = LOGIN.COD_CLIENTE) AND LEFT(LOGIN.TELEFONE1,3) = LEFT(PABX.NRTELEFONE,3) LEFT JOIN AUXILIAR ON (AUXILIAR.ORIGEM=LOGIN.LOCALIDADE) WHERE pabx.COD_cliente = 224 and SUBSTRING(PABX.NRTELEFONE,4,1) NOT IN ('9', '8', '7') AND LOGIN.UF = RIGHT(PABX.LOCALIDADE,2) AND LOGIN.LOCALIDADE <> PABX.LOCALIDADE AND PABX.CLASSIFICA IS NULL AND PABX.LOCALIDADE <> AUXILIAR.DESTINO AND (BLOQUEADO = 0 OR BLOQUEADO IS NULL)
But It has a problem because when AUXILIAR.DESTINO returns null (it means there is no registry) the condition AND PABX.LOCALIDADE <> AUXILIAR.DESTINO doesn't work, like 'SAO PAULO' is different from 'NULL' but for my query no it's not even equal, and this condition ommit the results....how can I solve it ?
PS: Both auxiliar.destino and pabx.localidade is varchar(255)
Will both statements above access only a single page (as it fits into one page) or does the VARCHAR(MAX) always put its data on a separate page. If so, is the null insert treated differently from the '' insert?
Hi there, I've a question regaarding datatype conversions... I can't convert the above mentioned datatype. I always get an error message that the conversion fails. Doesn't matter If convert or cast is used.
How would you convert the above mentioned variable into float???
I am using version 9.00.2047.00 SP1 of Visual Studio 2005.
Using ADO.NET, I have been unable to get the Execute SQL task to successfully return the value of an output parameter defined as varchar or nvarchar when the value is null. No other data types seem to have this problem, including the sql_variant data type.
The variables to which the three output parameters return their values have a data type of Object. The task runs fine when the integer or datetime parameters are used, and the variables can be identified as null using IsDBNull. But as soon as the nvarchar (or varchar) parameter is included, the task fails with this message:
"The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 1 ("@vc"): Data type 0xE7 has an invalid data length or metadata length."
I have seen a couple of postings that sound similar to this problem, but so far I have found no resolution. Any advice would be much appreciated.
Hi, i'm new to SSIS and trying to import some csv files (comma delimited) into SQL Server. A NULL value for a CHAR column is correctly regonized as NULl in SQL Server, but a NULL value for of a mapping to a VARCHAR column in SQL Server is not recognized correctly and i get the value "'NULL'" in SQL Server (including the single comma.
Sample:
CSV file contains columns A and B. A and B contains the Text NULL. Column A is mapped to a CHAR field, and column B is mapped to a VARCHAR field in SQL Server. After the import, SQL has the following value: A = NULL as NULL, B 'NULL' as text.
Hi, What is the difference updating a null value to char/varchar type column
versus empty string to char/varchar type column?Which is the best to do and why? Could anyone explain about this?
Example:
Table 1 : tCountry - Name varchar(80) nullable Table 2 :tState - Name char(2) nullable Table 3 :tCountryDetails - countryid,state (char(2) nullable) - May the country contain state or no state So,when the state is not present for the country ,i have two options may be - null,'' tCountryDetails.State = '' or tCountryDetails.State = null?
I suppose this is more an RFC than a true question, but I've come to realize "bit" data types do not optimize a query when they are used in a WHERE clause. Since they cannot be indexed, it forces the analyzer to query an available index for rows based upon the non-bit constraints. The result is then scanned to match the values of the bit constraints of the query. So you're potentially doing a full table scan, or an index scan.
My original thought was that I'd improve performance by using bit fields since they are a smaller datatype, but as development progressed, we began using those bits in our queries. At this point, it may be beneficial to convert those bit types to smallint.
I have an vendor application need to use SQL Server 16 bits version for server and client. I installed the SQL Server 6.5 from my "Backoffice 20" CD ROM I was told that after my installation of SQL Server 6.5 on server, if there is a folder "BIN" and "BINN", that means that I have installed both the 16 and 32 bits version. Is this true? To install SQL Server Client, if I install from my server from the sql65i386, the 32 bits client will be installed to my client workstation. Which folder should I look for the 16 bits client installation?
I am setting up a new server with Windows Server 2003 x64 bits and SQL Server 2005 x64 bits. Under 32 bits of Windows we normally use /3GB and enable AWE under SQL Server (both SQL 2000 and SQL 2005) and allocate 6 GB of fixed memory to SQL Server.
Does any one know whether I should do the same thing under the x64 bits platform. I read some articles on the web that it is no longer required to use AWE under SQL 2005 x64 bits??
I developed an SSIS package on my computer (32bits). The package basically get data from excel file and save it to a sql database. I use an OLE DB connection to the excel file: Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;
other info: Run64bitRuntime : false
It works fine on my local computer. I use the DeploymentManifest to deploy the package on the server. (all validations are ok).
But when I run a job which run the package i get this: with job step : SQL Server integration Services Package:
Executed as user: LU1xp_cmdshell. ...on 9.00.3042.00 for 64-bit Copyright (C) Microsoft Corp 1984-2005. All rights reserved. Started: 10:29:04 AM Progress: 2008-03-06 10:30:20.22 Source: Data Flow Task Validating: 0% complete End Progress Progress: 2008-03-06 10:30:20.26 Source: Data Flow Task Validating: 3% complete End Progress Progress: 2008-03-06 10:30:20.29 Source: Data Flow Task Validating: 7% complete End Progress Progress: 2008-03-06 10:30:20.32 Source: Data Flow Task Validating: 10% complete End Progress Progress: 2008-03-06 10:30:20.35 Source: Data Flow Task Validating: 14% complete End Progress Progress: 2008-03-06 10:30:20.35 Source: Data Flow Task Validating: 17% complete End Progress Progress: 2008-03-06 10:30:20.35 Source: Data Flow Task Validating: 21% complete End Progress Progress: 2008-03-06 10:30:20.35 Source: Data Flow Task Validating: 25% comple... The package execution fa... The step failed
With job step cmd system:
Executed as user: LU1xp_cmdshell. Microsoft (R) SQL Server Execute Package Utility Version 9.00.3042.00 for 32-bit Copyright (C) Microsoft Corp 1984-2005. All rights reserved. Started: 10:32:37 AM Could not load package "******" because of error 0xC0010014. Description: One or more error occurred. There should be more specific errors preceding this one that explains the details of the errors. This message is used as a return value from functions that encounter errors. Source: Started: 10:32:37 AM Finished: 10:34:08 AM Elapsed: 91.141 seconds. Process Exit Code 5. The step failed.
No more detail about the error.
There is something strange: When I execute the package via DTEXECUI on my local computer and i speciify the sql server where i deploied the package. It works. The same on the server doesn't work.
I'm trying to install a version of SQL server 2005 with reporting services on a vista 64 bits.
I've a licence for SQL server 2005 standard edition in French, my vista is in French, and I'm using visual studio standard edition in English to develop. I would like to develop reports using SQL server to include these reports in my applications developped with Visual Studio.
Wich version of SQL server should I install ? I've tryed to install SQL server express 2005 with advanced feature SP2 (english version) and then later the standard edition (French version) (each time uninstalling all SQL server components between tries), but I got problems with reporting services each time.
I got first a warming saying than reporting services is 32 bits and IIS is 64 bits, I so allowed IIS to run 32 bits ASP .Net, but after that, I now get a problem of .Net registration in IIS as warming message on the line concerning Reporting services during the install of SQL Server, and it doesn't even offer to install RS on the next window.
I reinstalled the DotnetFX64 to be sure, but still get the same message. If I look in the IIS the application pools are looking me to be normal, with the ASPNET 32 bit code allowed.
I have an Application developed on ASP, I got a few new servers 64bits, I installed microsoft WIN 2003 SR. When I get in into the web site I receive this errors:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
/ConnectToDatabase.asp, line 17
I made some obvios checks, I checked that the ODBC really exists and we move the IIS 6.0 to run in 32bits mode as I found in some page.
Hey. I need to substitute a value from a table if the input var is null. This is fine if the value coming from table is not null. But, it the table value is also null, it doesn't work. The problem I'm getting is in the isnull line which is in Dark green color because @inFileVersion is set to null explicitly and when the isnull function evaluates, value returned from DR.FileVersion is also null which is correct. I want the null=null to return true which is why i set ansi_nulls off. But it doesn't return anything. And the select statement should return something but in my case it returns null. If I comment the isnull statements in the where clause, everything works fine. Please tell me what am I doing wrong. Is it possible to do this without setting the ansi_nulls to off??? Thank you
set ansi_nulls off
go
declare
@inFileName VARCHAR (100),
@inFileSize INT,
@Id int,
@inlanguageid INT,
@inFileVersion VARCHAR (100),
@ExeState int
set @inFileName = 'A0006337.EXE'
set @inFileSize = 28796
set @Id= 1
set @inlanguageid =null
set @inFileVersion =NULL
set @ExeState =0
select Dr.StateID from table1 dR
where
DR.[FileName] = @inFileName
AND DR.FileSize =@inFileSize
AND DR.FileVersion = isnull(@inFileVersion,DR.FileVersion)
I have looked far and wide and have not found anything that works to allow me to resolve this issue.
I am moving data from DB2 using the MS OLEDB Provider for DB2. The OLEDB source sees the column of data as DT_TEXT. I setup a destination to SQL Server 2005 and everything looks good until I try and run the package.
I get the error: [OLE DB Source [277]] Error: An OLE DB error has occurred. Error code: 0x80040E21. An OLE DB record is available. Source: "Microsoft DB2 OLE DB Provider" Hresult: 0x80040E21 Description: "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.".
[OLE DB Source [277]] Error: Failed to retrieve long data for column "LIST_DATA_RCVD".
[OLE DB Source [277]] Error: There was an error with output column "LIST_DATA_RCVD" (324) on output "OLE DB Source Output" (287). The column status returned was: "DBSTATUS_UNAVAILABLE".
[OLE DB Source [277]] Error: The "output column "LIST_DATA_RCVD" (324)" failed because error code 0xC0209071 occurred, and the error row disposition on "output column "LIST_DATA_RCVD" (324)" specifies failure on error. An error occurred on the specified object of the specified component.
[DTS.Pipeline] Error: The PrimeOutput method on component "OLE DB Source" (277) returned error code 0xC0209029. The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing.
Any suggestions on how I can get the large string data in the varchar column in DB2 into the varchar(max) column in SQL Server 2005?
I am trying to create a store procedure inside of SQL Management Studio console and I kept getting errors. Here's my store procedure.
Code Block CREATE PROCEDURE [dbo].[sqlOutlookSearch] -- Add the parameters for the stored procedure here @OLIssueID int = NULL, @searchString varchar(1000) = NULL AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here IF @OLIssueID <> 11111 SELECT * FROM [OLissue], [Outlook] WHERE [OLissue].[issueID] = @OLIssueID AND [OLissue].[issueID] = [Outlook].[issueID] AND [Outlook].[contents] LIKE + ''%'' + @searchString + ''%'' ELSE SELECT * FROM [Outlook] WHERE [Outlook].[contents] LIKE + ''%'' + @searchString + ''%'' END
And the error I kept getting is:
Msg 402, Level 16, State 1, Procedure sqlOutlookSearch, Line 18
The data types varchar and varchar are incompatible in the modulo operator.
Msg 402, Level 16, State 1, Procedure sqlOutlookSearch, Line 21
The data types varchar and varchar are incompatible in the modulo operator.
For the life of me I cannot figure out why SSIS will not convert varchar data. instead of using the table to table method, I wrote a SQL query so that I could transform the datatype ntext to varchar 512 understanding that natively MS is going towards all Unicode applications.
The source fields from Access are int, int, int and varchar(512). The same is true of the destination within SQL Server 2005. the field 'Answer' is the varchar field in question....
I get the following error
Validating (Error)
Messages
Error 0xc02020f6: Data Flow Task: Column "Answer" cannot convert between unicode and non-unicode string data types. (SQL Server Import and Export Wizard)
Error 0xc004706b: Data Flow Task: "component "Destination - Query" (28)" failed validation and returned validation status "VS_ISBROKEN". (SQL Server Import and Export Wizard)
Error 0xc004700c: Data Flow Task: One or more component failed validation. (SQL Server Import and Export Wizard)
Error 0xc0024107: Data Flow Task: There were errors during task validation. (SQL Server Import and Export Wizard)
DTS used to be a very strong tool but a simple import such as this is causing me extreme grief and wondering of SQL2005 is ready for primetime. FYI SP1 is installed. I am running this from a workstation and not on the server if that makes a difference...
I have a table that contains a lot of demographic information. The data is usually small (<20 chars) but ocassionally needs to handle large values (250 chars). Right now its set up for varchar(max) and I don't think I want to do this.
How does varchar(max) store info differently from varchar(250)? Either way doesn't it have to hold the container information? So the word "Crackers" have 8 characters to it and information sayings its 8 characters long in both cases. This meaning its taking up same amount of space?
Also my concern will be running queries off of it, does a varchar(max) choke up queries because the fields cannot be properly analyzed? Is varchar(250) any better?
Should I just go with char(250) and watch my db size explode?
Usually the data that is 250 characters contain a lot of blank space that is removed using a SPROC so its not usually 250 characters for long.
HI When I'v click in Visual Web Developer 2008 to build web site it has made a new MDB file name ASPNETDB. MDF So now I have 2 mdb file (MyFileName.mdf and ASPNETDB. MDF) What is that extra (ASPNETDB. MDF) file and do I need it and why? Thanks assaf
I used excel to import data to my database, I found out a problem, my program is linked with the database, when the program show data from the database, it has an extra '@' symbol, In order to remove it, I need to go to the database to press space bar and backspace at the field. How could I use SQL instead of using space bar and backspace?
select classid, count(*) as [COUNT], dtmready from unit where rmpropid = '123' and classid = 'A1' group by rmpropid, classid, dtmready order by dtmready;
If you notice, the earliest dtmready is 7/1/2006. What I need is to return an additional row when the earliest dtmready is after today. The desired row would be:
A1 0 (today's date)
Background: I am running SQL Server 2000 SP4 and the results of the query are returned to a java program at a level where I do not have the ability to create a new row. So, it would be ideal if I could create the sql that returns a row with a dtmready of today with a count of 0.
I have a strange SQL statement Select * from TableName WH
Basicly I have a code that creates a Dynamic SQL statement in this case I thought that I will get an error on the above statement but infact I did not I tested it on the Enterprise Manager and it works fine I changed the WH to WHER it works as long as its not a reserved word so if I put my name or what ever after that sql it still works unless I use two words with a space between them it will give an error on the second one not the first
Can anyone tell me why is that I do not know if its a feature or what
Our company wants to run web based application in folowing way.
Browser --> WebServer -->Sql Server
Sql server is part part of corporation domain and has about 25 more databases
Should we dedicate extra SQL server to run Web apps , or it would be safe to run web apps on corporation Sql Server? or If any one can point on links on this subject?. Thank you