Postgresql 数据库在pgadmin中可见,但对于其他程序不存在

Postgresql 数据库在pgadmin中可见,但对于其他程序不存在,postgresql,vb6,Postgresql,Vb6,我使用以下代码在postgresql中创建了一个数据库 Dim s1 As String s1 = "Provider=MSDASQL;Driver={PostgreSQL ANSI};SERVER=localhost;DATABASE=postgres;UID=username;PWD=pwd;CONNSETTINGS=SET Datestyle TO 'DMY'%3b;BOOLSASCHAR=0;TEXTASLONGVARCHAR=1;TrueIsMinus1=1;" Dim c1 As N

我使用以下代码在postgresql中创建了一个数据库

Dim s1 As String
s1 = "Provider=MSDASQL;Driver={PostgreSQL ANSI};SERVER=localhost;DATABASE=postgres;UID=username;PWD=pwd;CONNSETTINGS=SET Datestyle TO 'DMY'%3b;BOOLSASCHAR=0;TEXTASLONGVARCHAR=1;TrueIsMinus1=1;"
Dim c1 As New ADODB.Connection

c1.Open s1


Dim sDB_Name  As String
sDB_Name = "db1"

s1 = "CREATE DATABASE "" " & sDB_Name & """"
s1 = s1 & " With OWNER = postgres  "
s1 = s1 & " TEMPLATE = template0 "
s1 = s1 & " ENCODING = 'WIN1252' "
s1 = s1 & " TABLESPACE = pg_default "
s1 = s1 & " LC_COLLATE = 'English_United States.1252' "
s1 = s1 & " LC_CTYPE = 'English_United States.1252' "
s1 = s1 & " CONNECTION LIMIT = -1; "
c1.Execute s1
MsgBox "done"
Unload Me
它成功地使用了pgadmin,我可以看到这个新数据库并与之交互

但是,当我试图通过ADO从创建数据库的程序或其他程序使用此数据库时,我得到的消息是:

运行时错误“-2147467259 80004005”:致命:数据库db1不存在 不存在

如果我使用pgadmin创建具有所有相同属性的同一数据库,那么我就不会得到这个结果 消息,并可以使用外部程序处理数据库

谁能解释一下我做错了什么?
谢谢。

我做错的是我创建了一个名为

db1

而不是

db1

名称中有一个前导空格

代码中的这一行是错误的:

s1 = "CREATE DATABASE "" " & sDB_Name & """" 
应该是的

s1 = "CREATE DATABASE """ & sDB_Name & """" 

抱歉,我刚刚发现我做错了什么,我正在创建一个名为db1而不是db1的数据库。愚蠢的错误。这行代码是:s1=创建数据库&sDB_Name&应该是s1=创建数据库&sDB_Name&我想删除这个问题,但可能对像我这样的人有用!!你可以回答自己的问题,然后接受它,在短暂的延迟后结束问题。@AlexK。谢谢,好主意。我现在已经回答了,可以在2天内接受